Ú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.