Útmutató az AWS Aurora RDS Java-hoz

1. Bemutatkozás

Az Amazon Aurora egy MySQL és PostgreSQL kompatibilis relációs adatbázis, amely a felhő számára készült amely egyesíti a csúcskategóriás kereskedelmi adatbázisok teljesítményét és elérhetőségét a nyílt forráskódú adatbázisok egyszerűségével és költséghatékonyságával.

Ebben az oktatóanyagban kitérünk arra, hogyan hozhatunk létre és hogyan működhetünk együtt az Amazon RDS példánnyal a Java-val, valamint összekapcsolunk és végrehajtunk SQL teszteket az Amazon RDS-en.

Kezdjük a projekt felállításával.

2. Maven-függőségek

Hozzunk létre egy Java Maven projektet, és adjuk hozzá az AWS SDK-t a projektünkhöz:

 com.amazonaws aws-java-sdk 1.11.377 

A legújabb verzió megtekintéséhez ellenőrizze a Maven Central alkalmazást.

3. Előfeltételek

Az AWS SDK használatához néhány dologra lesz szükségünk a beállításhoz:

  • AWS-fiók
  • AWS biztonsági hitelesítő adatok
  • Az AWS régió kiválasztása

Szükségünk van egy Amazon Web Services-fiókra. Ha még mindig nincs, akkor hozzon létre egy fiókot

AWS biztonsági hitelesítő adatok azok a hozzáférési kulcsok, amelyek lehetővé teszik számunkra, hogy programozott hívásokat indítsunk az AWS API-műveletekhez. Ezeket a hitelesítő adatokat kétféleképpen is megszerezhetjük, vagy az AWS gyökérfiók hitelesítő adatok használatával a Biztonsági hitelesítő adatok oldal hozzáférési kulcsok szakaszából, vagy az IAM felhasználói hitelesítő adatok használatával az IAM konzolról

Ki kell választanunk egy AWS régió (ka) t ahol tárolni szeretnénk az Amazon RDS-t. Ne feledje, hogy az RDS árak régiónként változnak. További részletekért keresse fel a hivatalos dokumentációt.

Ehhez az oktatóanyaghoz Ázsia és Csendes-óceánt (Sydney) (régió ap-délkelet-2).

4. Csatlakozzon az AWS RDS webszolgáltatásokhoz

Először létre kell hoznunk egy ügyfélkapcsolatot az Amazon RDS webszolgáltatás eléréséhez.

Használjuk AmazonRDS interfész erre a célra:

AWSCredentials hitelesítő adatok = új BasicAWSC hitelesítő adatok ("", ""); 

Ezután konfigurálja a RDS Builder a megfelelővel vidék és hitelesítő adatok:

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

5. Amazon Aurora példány

Most hozzuk létre az Amazon Aurora RDS példányt.

5.1. Teremt RDS Példa

Az RDS példány létrehozásához példányt kell adnunk a CreateDBInstanceRequest a következő tulajdonságokkal:

  • DB példányazonosító, amely egyedi az Amazon RDS összes létező példányneve között
  • A DB példányosztály megadja a CPU, ECU, memória stb. Konfigurációját az Példányosztály táblából
  • Adatbázis-motor. PostgreSQL vagy MySQL, a PostgreSQL-t fogjuk használni
  • Adatbázis mester / szuper felhasználónév
  • Adatbázis fő felhasználói jelszó
  • DB name - kezdeti adatbázis létrehozása a megadott névvel
  • A Storage Type mezőhöz adjon meg egy Amazon EBS mennyiség típus. A lista itt érhető el
  • Tárhely allokáció a GiB-ben
CreateDBInstanceRequest kérelem = new CreateDBInstanceRequest (); request.setDBInstanceIdentifier ("baeldung"); request.setDBInstanceClass ("db.t2.micro"); request.setEngine ("postgres"); request.setMultiAZ (hamis); request.setMasterUsername ("felhasználónév"); request.setMasterUserPassword ("jelszó"); request.setDBName ("mydb"); request.setStorageType ("gp2"); request.setAllocatedStorage (10); 

Most hozzuk létre az első példányt a createDBInstance ():

amazonRDS.createDBInstance (kérés); 

Az RDS példány néhány percen belül létrejön.

Nem kapjuk meg a végpont URL-jét a válaszban, mivel ez a hívás aszinkron.

5.2. Sorolja fel a DB példányt

Ebben a szakaszban megtudjuk, hogyan lehet felsorolni a létrehozott DB példányt.

Az RDS példány felsorolásához használnunk kell írja leDBInstances a AmazonRDS felület:

DescribeDBInstancesResult result = amazonRDS.describeDBInstances (); Példányok felsorolása = result.getDBInstances (); for (DBInstance példány: példányok) {// Információk az egyes RDS példányokról String azonosító = instance.getDBInstanceIdentifier (); Karakterlánc-motor = instance.getEngine (); Karaktersorozat = instance.getDBInstanceStatus (); Végpont végpont = instance.getEndpoint (); }

Végpont Az URL az új DB-példány csatlakozási URL-je. Ez az URL gazdagépként lesz megadva, miközben csatlakozik az adatbázishoz.

5.3. Futtassa a JDBC tesztet

Most csatlakoztassuk az RDS példányunkat, és hozzuk létre az első táblánkat.

Hozzunk létre egy db.properties fájlt, és adjuk hozzá az adatbázis adatait:

db_hostname = db_felhasználónév = felhasználónév db_password = jelszó db_database = mydb 

A fájl létrehozása után csatlakozzunk az RDS példányhoz, és hozzuk létre a nevű táblát jdbc_test:

Tulajdonságok prop = új Tulajdonságok (); InputStream input = AwsRdsDemo.class.getClassLoader (). GetResourceAsStream ("db.properties"); prop.load (input); Karakterlánc db_hostname = prop.getProperty ("db_hostname"); Karakterlánc db_felhasználónév = prop.getProperty ("db_felhasználónév"); Karakterlánc db_jelszó = prop.getProperty ("db_jelszó"); Karakterlánc db_database = prop.getProperty ("db_database"); 
Connection conn = DriverManager.getConnection (jdbc_url, db_felhasználónév, db_jelszó); Statement utasítás = conn.createStatement (); String sql = "TÁBLÁZAT LÉTREHOZÁSA, HA NEM LÉTEZIK jdbc_test (id SOROZATI ELSŐKULCS, tartalom VARCHAR (80))"; utasítás.executeUpdate (sql); 

Ezután beillesztjük és lekérjük az adatokat a táblázatból:

PreparedStatement parengtaStatement = conn.prepareStatement ("INSERT INTO jdbc_test (tartalom) VALUES (?)"); String content = "" + UUID.randomUUID (); sagatavStatement.setString (1, tartalom); PreparStatement.executeUpdate (); 
String sql = "SELECT count (*) as count from From jdbc_test"; ResultSet resultSet = utasítás.executeQuery (sql); while (resultSet.next ()) {String count = resultSet.getString ("count"); Logger.log ("Összes rekord:" + szám); } 

5.4. Törölje a példányt

A DB példány törléséhez generálnunk kell DeleteDBInstanceRequest. Megköveteli a DB példányazonosítót és skipFinalSnapshot paraméter.

A skipFinalSanpshot megadja, hogy a pillanatképet a példány törlése előtt akarjuk-e elkészíteni:

DeleteDBInstanceRequest kérés = new DeleteDBInstanceRequest (); request.setDBInstanceIdentifier (azonosító); request.setSkipFinalSnapshot (true); DBInstance példány = amazonRDS.deleteDBInstance (kérés);

6. Következtetés

Ebben a cikkben az Amazon Aurora (PostgreSQL) RDS-sel való interakció alapjaira összpontosítottunk az Amazon SDK segítségével. Ez az oktatóanyag a PostgreSQL-re összpontosított, és vannak más lehetőségek is, beleértve a MySQL-t is.

Bár az interakciós módszer ugyanaz marad az RDS-ben. Az Aurora sok ügyfél számára előnyös választás, mert ötször gyorsabb, mint a szokásos MySQL adatbázisok, és háromszor gyorsabb, mint a szokásos PostgreSQL adatbázisoké.

További információért látogasson el az Amazon Aurora oldalra.

És mint mindig, a kód megtalálható a Githubon.