Vodič za AWS Aurora RDS s Javom

1. Uvod

Amazon Aurora je MySQL i PostgreSQL kompatibilna relacijska baza podataka izgrađena za oblak koji kombinira izvedbu i dostupnost vrhunskih komercijalnih baza podataka s jednostavnošću i isplativošću baza podataka otvorenog koda.

U ovom ćemo uputstvu pokriti kako stvoriti i komunicirati s Amazon RDS primjerkom s Javom, a također ćemo se povezati i izvršiti SQL testove na Amazon RDS.

Krenimo s postavljanjem projekta.

2. Ovisnosti Mavena

Stvorimo projekt Java Maven i dodajte AWS SDK u naš projekt:

 com.amazonaws aws-java-sdk 1.11.377 

Da biste pogledali najnoviju verziju, provjerite Maven Central.

3. Preduvjeti

Da bismo koristili AWS SDK, trebat ćemo nekoliko stvari za postavljanje:

  • AWS račun
  • AWS sigurnosne vjerodajnice
  • Odabir AWS regije

Trebamo račun Amazon Web Services. Ako još uvijek nemate nijednu, nastavite i otvorite račun

AWS sigurnosne vjerodajnice su pristupni ključevi koji nam omogućuju programsko pozivanje AWS API radnji. Ove vjerodajnice možemo dobiti na dva načina, bilo korištenjem vjerodajnica root računa AWS iz odjeljka pristupnih ključeva na stranici Sigurnosne vjerodajnice ili pomoću IAM korisničkih vjerodajnica s IAM konzole

Moramo odabrati AWS regiju (e) gdje želimo pohraniti naš Amazon RDS. Imajte na umu da se cijene RDS-a razlikuju ovisno o regiji. Za više pojedinosti prijeđite na službenu dokumentaciju.

Za ovaj ćemo vodič koristiti azijsko-pacifički region (Sydney) (regija ap-jugoistok-2).

4. Povežite se s web uslugama AWS RDS

Prvo, moramo stvoriti vezu s klijentom za pristup Amazon RDS web usluzi.

Koristit ćemo AmazonRDS sučelje za ovu svrhu:

Vjerodajnice za AWSCredentials = novi BasicAWSCredentials ("", ""); 

Zatim konfigurirajte RDS graditelj s odgovarajućim regija i vjerodajnice:

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

5. Instanca Amazon Aurora

Sada kreirajmo primjerak Amazon Aurora RDS.

5.1. Stvoriti RDS Primjer

Da bismo stvorili RDS instancu, moramo instancirati a CreateDBInstanceRequest sa sljedećim atributima:

  • DB Instance Identifier koji je jedinstven za sva postojeća imena instanci u Amazon RDS-u
  • DB Instance klasa određuje konfiguraciju za CPU, ECU, memoriju itd. Iz tablice klase instance
  • Mehanizam baze podataka. PostgreSQL ili MySQL, koristit ćemo PostgreSQL
  • Glavno / super korisničko ime baze podataka
  • Glavna korisnička lozinka baze podataka
  • DB ime za stvaranje početne baze podataka s navedenim imenom
  • Za vrstu pohrane navedite Amazon EBS volumen tip. Popis je dostupan ovdje
  • Dodjela pohrane u GiB-u
CreateDBInstanceRequest zahtjev = novi CreateDBInstanceRequest (); request.setDBInstanceIdentifier ("baeldung"); request.setDBInstanceClass ("db.t2.micro"); request.setEngine ("postgres"); request.setMultiAZ (lažno); request.setMasterUsername ("korisničko ime"); request.setMasterUserPassword ("lozinka"); request.setDBName ("mydb"); request.setStorageType ("gp2"); request.setAllocatedStorage (10); 

Sada kreirajmo svoju prvu instancu pozivanjem datoteke createDBInstance ():

amazonRDS.createDBInstance (zahtjev); 

RDS instalacija stvorit će se za nekoliko minuta.

U odgovoru nećemo dobiti URL krajnje točke, jer je ovaj poziv asinkron.

5.2. Popis instance DB

U ovom ćemo odjeljku vidjeti kako navesti stvorenu DB instancu.

Da bismo popisali RDS instancu, trebamo koristiti opišiDBInstance od AmazonRDS sučelje:

Rezultat DescribeDBInstanceResult = amazonRDS.describeDBInstance (); Popis primjeraka = rezultat.getDBInstance (); za (instancu DBInstance: instance) {// Informacije o svakoj RDS instanci Identifikator niza = instance.getDBInstanceIdentifier (); Nizni stroj = instance.getEngine (); Status niza = instance.getDBInstanceStatus (); Krajnja točka krajnja točka = instance.getEndpoint (); }

Krajnja točka URL je URL veze za našu novu instancu DB-a. Ovaj će se URL pružiti kao domaćin tijekom povezivanja s bazom podataka.

5.3. Pokrenite JDBC test

Sad spojimo našu RDS instancu i stvorimo prvu tablicu.

Stvorimo datoteku db.properties i dodajte podatke o bazi podataka:

db_hostname = db_username = korisničko ime db_password = lozinka db_database = mydb 

Nakon stvaranja datoteke, spojimo se na RDS instancu i kreirajmo tablicu s imenom jdbc_test:

Svojstva prop = new Svojstva (); InputStream input = AwsRdsDemo.class.getClassLoader (). GetResourceAsStream ("db.properties"); prop.load (ulaz); Niz db_hostname = prop.getProperty ("db_hostname"); Niz db_username = prop.getProperty ("db_username"); Niz db_password = prop.getProperty ("db_password"); Niz db_database = prop.getProperty ("db_database"); 
Veza conn = DriverManager.getConnection (jdbc_url, db_username, db_password); Izjava o izjavi = conn.createStatement (); Niz sql = "STVORI TABELU AKO NE POSTOJI jdbc_test (id SERIJSKI PRIMARNI KLJUČ, sadržaj VARCHAR (80))"; statement.executeUpdate (sql); 

Poslije ćemo umetnuti i dohvatiti podatke iz tablice:

PreparedStatement pripremljenStatement = conn.prepareStatement ("INSERT INTO jdbc_test (content) VRIJEDNOSTI (?)"); Sadržaj niza = "" + UUID.randomUUID (); PreparedStatement.setString (1, sadržaj); PreparedStatement.executeUpdate (); 
Niz sql = "ODABERI count (*) kao count FROM jdbc_test"; ResultSet resultSet = statement.executeQuery (sql); while (resultSet.next ()) {Count string = resultSet.getString ("count"); Logger.log ("Ukupni zapisi:" + broj); } 

5.4. Izbrišite Instance

Da bismo izbrisali DB instancu, moramo generirati DeleteDBInstanceRequest. Zahtijeva identifikator DB instance i parametar skipFinalSnapshot.

The skipFinalSanpshot je odrediti želimo li napraviti snimku prije brisanja instance:

DeleteDBInstanceRequest zahtjev = novi DeleteDBInstanceRequest (); request.setDBInstanceIdentifier (identifikator); request.setSkipFinalSnapshot (istina); Primjer DBInstance = amazonRDS.deleteDBInstance (zahtjev);

6. Zaključak

U ovom smo se članku usredotočili na osnove interakcije s Amazon Aurora (PostgreSQL) RDS putem Amazon SDK. Ovaj se vodič fokusirao na PostgreSQL, postoje i druge opcije, uključujući MySQL.

Iako će metoda interakcije ostati ista na RDS-u. Aurora je preferirani izbor za mnoge kupce jer je do pet puta brža od standardnih MySQL baza podataka i tri puta brža od standardnih baza podataka PostgreSQL.

Za više informacija posjetite Amazon Aurora.

I kao i uvijek, kod se može pronaći na Githubu.