Quickstart: Ruby gebruiken om verbinding te maken met en query's uit te voeren op gegevens in Azure Database for PostgreSQL - Enkele server

VAN TOEPASSING OP: Azure Database for PostgreSQL - enkele server

Belangrijk

Azure Database for PostgreSQL - Enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om een upgrade uit te voeren naar Azure Database for PostgreSQL - Flexible Server. Zie Wat gebeurt er met Azure Database for PostgreSQL Enkele server voor meer informatie over migreren naar Azure Database for PostgreSQL - Flexible Server.

In deze snelstartgids ziet u hoe u met behulp van een Ruby-toepassing verbinding maakt met een Azure Database voor PostgreSQL. U ziet hier hoe u SQL-instructies gebruikt om gegevens in de database op te vragen, in te voegen, bij te werken en te verwijderen. In de stappen van dit artikel wordt ervan uitgegaan dat u bekend bent met het ontwikkelen met behulp van Ruby en geen ervaring hebt met het werken met Azure Database for PostgreSQL.

Vereisten

In deze snelstartgids worden de resources die in een van deze handleidingen zijn gemaakt, als uitgangspunt gebruikt:

Daarnaast moet ook het volgende zijn geïnstalleerd:

Verbindingsgegevens ophalen

Haal de verbindingsgegevens op die nodig zijn om verbinding te maken met de Azure Database voor PostgreSQL. U hebt de volledig gekwalificeerde servernaam en aanmeldingsreferenties nodig.

  1. Meld u aan bij Azure Portal.
  2. Selecteer in het menu aan de linkerkant in de Azure-portal Alle resources en zoek naar de server die u hebt gemaakt (bijvoorbeeld mydemoserver).
  3. Selecteer de servernaam.
  4. Ga naar het venster Overzicht van de server en noteer de Servernaam en de Aanmeldingsnaam van de serverbeheerder. Als u uw wachtwoord vergeet, kunt u het wachtwoord in dit venster opnieuw instellen. Servernaam Azure Database for PostgreSQL

Notitie

Het @-symbool in de Azure Postgres-gebruikersnaam is als URL gecodeerd als %40 in alle verbindingstekenreeksen.

Verbinding maken en een tabel maken

Gebruik de volgende code om een tabel te verbinden en te maken met de SQL-instructie CREATE TABLE, gevolgd door INSERT INTO-instructies om rijen in de tabel toe te voegen.

In de code wordt een PG::Connection-object met de new-constructor gebruikt om verbinding te maken met Azure Database for PostgreSQL. Vervolgens wordt de methode exec() aangeroepen om de opdrachten DROP, CREATE TABLE en INSERT INTO uit te voeren. De code controleert op fouten met behulp van de PG::Error klasse. Vervolgens wordt de methode close() aangeroepen om de verbinding te sluiten voordat de verbinding wordt afgesloten. Zie de referentiedocumentatie voor Ruby Pg (Engelstalig) voor meer informatie over deze klassen en methoden.

Vervang de tekenreeksen host, database, user en password door uw eigen waarden.

require 'pg'

begin
	# Initialize connection variables.
	host = String('mydemoserver.postgres.database.azure.com')
	database = String('postgres')
    user = String('mylogin%40mydemoserver')
	password = String('<server_admin_password>')

	# Initialize connection object.
    connection = PG::Connection.new(:host => host, :user => user, :dbname => database, :port => '5432', :password => password)
    puts 'Successfully created connection to database'

    # Drop previous table of same name if one exists
    connection.exec('DROP TABLE IF EXISTS inventory;')
    puts 'Finished dropping table (if existed).'

    # Drop previous table of same name if one exists.
    connection.exec('CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);')
    puts 'Finished creating table.'

    # Insert some data into table.
    connection.exec("INSERT INTO inventory VALUES(1, 'banana', 150)")
    connection.exec("INSERT INTO inventory VALUES(2, 'orange', 154)")
    connection.exec("INSERT INTO inventory VALUES(3, 'apple', 100)")
	puts 'Inserted 3 rows of data.'

rescue PG::Error => e
    puts e.message

ensure
    connection.close if connection
end

Gegevens lezen

Gebruik de volgende code om verbinding te maken en de gegevens te lezen met de SQL-instructie SELECT.

In de code wordt een PG::Connection-object met de new-constructor gebruikt om verbinding te maken met Azure Database for PostgreSQL. Vervolgens wordt de methode exec() aangeroepen om de SELECT-opdracht uit te voeren, waarbij de resultaten in een resultatenset worden opgeslagen. De resultatensetverzameling wordt herhaald met de lus resultSet.each do. De huidige rijwaarden worden opgeslagen in de variabele row. De code controleert op fouten met behulp van de PG::Error klasse. Vervolgens wordt de methode close() aangeroepen om de verbinding te sluiten voordat de verbinding wordt afgesloten. Zie de referentiedocumentatie voor Ruby Pg (Engelstalig) voor meer informatie over deze klassen en methoden.

Vervang de tekenreeksen host, database, user en password door uw eigen waarden.

require 'pg'

begin
	# Initialize connection variables.
	host = String('mydemoserver.postgres.database.azure.com')
	database = String('postgres')
    user = String('mylogin%40mydemoserver')
	password = String('<server_admin_password>')

	# Initialize connection object.
    connection = PG::Connection.new(:host => host, :user => user, :dbname => database, :port => '5432', :password => password)
    puts 'Successfully created connection to database.'

    resultSet = connection.exec('SELECT * from inventory;')
    resultSet.each do |row|
        puts 'Data row = (%s, %s, %s)' % [row['id'], row['name'], row['quantity']]
    end

rescue PG::Error => e
    puts e.message

ensure
    connection.close if connection
end

Gegevens bijwerken

Gebruik de volgende code om verbinding te maken en de gegevens bij te werken met de SQL-instructie UPDATE.

In de code wordt een PG::Connection-object met de new-constructor gebruikt om verbinding te maken met Azure Database for PostgreSQL. Vervolgens wordt de methode exec() aangeroepen om de opdracht UPDATE uit te voeren. De code controleert op fouten met behulp van de PG::Error klasse. Vervolgens wordt de methode close() aangeroepen om de verbinding te sluiten voordat de verbinding wordt afgesloten. Zie de referentiedocumentatie voor Ruby Pg (Engelstalig) voor meer informatie over deze klassen en methoden.

Vervang de tekenreeksen host, database, user en password door uw eigen waarden.

require 'pg'

begin
	# Initialize connection variables.
	host = String('mydemoserver.postgres.database.azure.com')
	database = String('postgres')
    user = String('mylogin%40mydemoserver')
	password = String('<server_admin_password>')

	# Initialize connection object.
    connection = PG::Connection.new(:host => host, :user => user, :dbname => database, :port => '5432', :password => password)
    puts 'Successfully created connection to database.'

    # Modify some data in table.
    connection.exec('UPDATE inventory SET quantity = %d WHERE name = %s;' % [200, '\'banana\''])
    puts 'Updated 1 row of data.'

rescue PG::Error => e
    puts e.message

ensure
    connection.close if connection
end

Gegevens verwijderen

Gebruik de volgende code om verbinding te maken en de gegevens te lezen met de SQL-instructie DELETE.

In de code wordt een PG::Connection-object met de new-constructor gebruikt om verbinding te maken met Azure Database for PostgreSQL. Vervolgens wordt de methode exec() aangeroepen om de opdracht UPDATE uit te voeren. De code controleert op fouten met behulp van de PG::Error klasse. Vervolgens wordt de methode close() aangeroepen om de verbinding te sluiten voordat de verbinding wordt afgesloten.

Vervang de tekenreeksen host, database, user en password door uw eigen waarden.

require 'pg'

begin
	# Initialize connection variables.
	host = String('mydemoserver.postgres.database.azure.com')
	database = String('postgres')
    user = String('mylogin%40mydemoserver')
	password = String('<server_admin_password>')

	# Initialize connection object.
    connection = PG::Connection.new(:host => host, :user => user, :dbname => database, :port => '5432', :password => password)
    puts 'Successfully created connection to database.'

    # Modify some data in table.
    connection.exec('DELETE FROM inventory WHERE name = %s;' % ['\'orange\''])
    puts 'Deleted 1 row of data.'

rescue PG::Error => e
    puts e.message

ensure
    connection.close if connection
end

Resources opschonen

Als u alle resources wilt opschonen die tijdens deze quickstart zijn gebruikt, verwijdert u de resourcegroep. Dit kan met de volgende opdracht:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes

Volgende stappen