Sprievodca AWS Aurora RDS s programom Java

1. Úvod

Amazon Aurora je relačná databáza kompatibilná s MySQL a PostgreSQL vytvorená pre cloud ktorý kombinuje výkon a dostupnosť špičkových komerčných databáz s jednoduchosťou a nákladovou efektívnosťou databáz s otvoreným zdrojom.

V tomto výučbe sa dozvieme, ako vytvárať a interagovať s inštanciou Amazon RDS v prostredí Java, taktiež sa pripojíme a vykonáme testy SQL na Amazon RDS.

Začnime nastavením projektu.

2. Maven závislosti

Poďme vytvoriť projekt Java Maven a pridať AWS SDK do nášho projektu:

 com.amazonaws aws-java-sdk 1.11.377 

Ak chcete zobraziť najnovšiu verziu, začiarknite políčko Maven Central.

3. Predpoklady

Ak chcete používať AWS SDK, budeme potrebovať niekoľko vecí na nastavenie:

  • Účet AWS
  • Bezpečnostné poverenia AWS
  • Výber oblasti AWS

Potrebujeme účet Amazon Web Services. Ak stále žiadny nemáte, vytvorte si účet

Bezpečnostné poverenia AWS sú prístupové kľúče, ktoré nám umožňujú uskutočňovať programové volania na akcie AWS API. Tieto poverenia môžeme získať dvoma spôsobmi, a to buď pomocou poverení koreňového účtu AWS zo sekcie prístupových kľúčov na stránke Zabezpečovacie poverenia, alebo pomocou poverení používateľa IAM z konzoly IAM.

Musíme zvoliť oblasť (-y) AWS kde chceme uložiť náš Amazon RDS. Majte na pamäti, že ceny RDS sa líšia podľa regiónu. Ďalšie informácie nájdete v oficiálnej dokumentácii.

V tomto výučbe použijeme Ázijsko-pacifický región (Sydney) (región ap-juhovýchod-2).

4. Pripojte sa k AWS RDS Webservices

Najskôr musíme vytvoriť klientske pripojenie na prístup k webovej službe Amazon RDS.

Použijeme AmazonRDS rozhranie na tento účel:

AWSCredentials credentials = new BasicAWSCredentials ("", ""); 

Potom nakonfigurujte RDS Builder s príslušnými regiónu a poverovacie listiny:

AmazonRDSClientBuilder.standard (). WithCredentials (credentials) .withRegion (Regions.AP_SOUTHEAST_2) .build (); 

5. Inštancia Amazon Aurora

Teraz vytvorme inštanciu Amazon Aurora RDS.

5.1. Vytvoriť RDS Inštancia

Na vytvorenie inštancie RDS je potrebné vytvoriť inštanciu a CreateDBInstanceRequest s nasledujúcimi atribútmi:

  • Identifikátor inštancie DB, ktorý je jedinečný vo všetkých existujúcich názvoch inštancií v službe Amazon RDS
  • Trieda inštancie DB špecifikuje konfiguráciu pre CPU, ECU, pamäť atď. Z tabuľky tried inštancií
  • Databázový stroj. PostgreSQL alebo MySQL, použijeme PostgreSQL
  • Hlavné / super užívateľské meno v databáze
  • Heslo hlavného používateľa databázy
  • Názov databázy na vytvorenie počiatočnej databázy so zadaným názvom
  • Pre Typ úložiska zadajte Objem Amazon EBS typu. Zoznam je k dispozícii tu
  • Alokácia úložiska v GiB
CreateDBInstanceRequest request = nový CreateDBInstanceRequest (); request.setDBInstanceIdentifier ("baeldung"); request.setDBInstanceClass ("db.t2.micro"); request.setEngine ("postgres"); request.setMultiAZ (false); request.setMasterUsername ("používateľské meno"); request.setMasterUserPassword ("heslo"); request.setDBName ("mydb"); request.setStorageType ("gp2"); request.setAllocatedStorage (10); 

Teraz vytvorme našu prvú inštanciu volaním súboru createDBInstance ():

amazonRDS.createDBInstance (požiadavka); 

Inštancia RDS sa vytvorí za niekoľko minút.

V odpovedi nedostaneme adresu URL koncového bodu, pretože toto volanie je asynchrónne.

5.2. Zoznam inštancie DB

V tejto časti uvidíme, ako vypísať vytvorenú inštanciu DB.

Ak chcete uviesť zoznam inštancie RDS, musíme použiť descriptionDBInstances z AmazonRDS rozhranie:

DescribeDBInstancesResult result = amazonRDS.describeDBInstances (); Zoznam inštancií = result.getDBInstances (); for (DBInstance instance: instances) {// Informácie o každej inštancii RDS Identifikátor reťazca = instance.getDBInstanceIdentifier (); Reťazcový engine = instance.getEngine (); Stav reťazca = instance.getDBInstanceStatus (); Endpoint endpoint = instance.getEndpoint (); }

Koncový bod URL je adresa URL pripojenia pre našu novú inštanciu DB. Táto adresa URL bude poskytnutá ako hostiteľ pri pripojení k databáze.

5.3. Spustite test JDBC

Teraz spojme našu inštanciu RDS a vytvorme našu prvú tabuľku.

Vytvorme súbor db.properties a pridajme informácie o databáze:

db_hostname = db_username = meno používateľa db_password = heslo db_database = mydb 

Po vytvorení súboru sa pripojme k inštancii RDS a vytvorme tabuľku s názvom jdbc_test:

Vlastnosti prop = nové Vlastnosti (); InputStream vstup = AwsRdsDemo.class.getClassLoader (). GetResourceAsStream ("db.properties"); prop. zaťaženie (vstup); Reťazec db_hostname = prop.getProperty ("db_hostname"); Reťazec db_username = prop.getProperty ("db_username"); Reťazec db_password = prop.getProperty ("db_password"); Reťazec db_database = prop.getProperty ("db_database"); 
Pripojenie conn = DriverManager.getConnection (jdbc_url, db_username, db_password); Vyhlásenie vyhlásenie = conn.createStatement (); Reťazec sql = "VYTVORIŤ TABUĽKU, AK NEEXISTUJE jdbc_test (id SÉRIOVÝ PRIMÁRNY KLÍČ, obsah VARCHAR (80))"; statement.executeUpdate (sql); 

Potom vložíme a načítame údaje z tabuľky:

PreparedStatement readyStatement = conn.prepareStatement ("INSERT INTO jdbc_test (content) VALUES (?)"); Obsah reťazca = "" + UUID.randomUUID (); readyStatement.setString (1, obsah); readyStatement.executeUpdate (); 
Reťazec sql = "VYBER počet (*) ako počet FROM jdbc_test"; ResultSet resultSet = statement.executeQuery (sql); while (resultSet.next ()) {String count = resultSet.getString ("count"); Logger.log ("Celkový počet záznamov:" + počet); } 

5.4. Odstrániť inštanciu

Ak chcete odstrániť inštanciu DB, musíme vygenerovať DeleteDBInstanceRequest. Vyžaduje identifikátor inštancie DB a parameter skipFinalSnapshot.

The skipFinalSanpshot je určiť, či chceme urobiť snímku pred odstránením inštancie:

DeleteDBInstanceRequest request = new DeleteDBInstanceRequest (); request.setDBInstanceIdentifier (identifikátor); request.setSkipFinalSnapshot (true); Inštancia DBInstance = amazonRDS.deleteDBInstance (požiadavka);

6. Záver

V tomto článku sme sa zamerali na základy interakcie s Amazon Aurora (PostgreSQL) RDS cez Amazon SDK. Tento tutoriál sa zameral na PostgreSQL a existujú aj ďalšie možnosti vrátane MySQL.

Metóda interakcie však v rámci RDS zostane rovnaká. Aurora je preferovanou voľbou pre mnohých zákazníkov, pretože je až päťkrát rýchlejšia ako štandardné databázy MySQL a trikrát rýchlejšia ako štandardné databázy PostgreSQL.

Pre viac informácií navštívte Amazon Aurora.

A ako vždy, kód nájdete na Githube.


$config[zx-auto] not found$config[zx-overlay] not found