Schnellstart: Verwenden von Ruby zum Herstellen einer Verbindung mit einem Azure Database for PostgreSQL-Einzelserver sowie zum Abfragen von Daten

GILT FÜR: Azure Database for PostgreSQL – Single Server

Wichtig

Azure Database for PostgreSQL – Single Server wird eingestellt. Es wird dringend empfohlen, ein Upgrade auf Azure Database for PostgreSQL – Flexibler Server auszuführen. Weitere Informationen zum Migrieren zu Azure Database for PostgreSQL – Flexibler Server finden Sie unter Was geschieht mit Azure Database for PostgreSQL – Einzelserver?.

Dieser Schnellstart zeigt, wie Sie mit einer Ruby-Anwendung eine Verbindung mit einer Azure-Datenbank für PostgreSQL herstellen. Es wird veranschaulicht, wie Sie SQL-Anweisungen zum Abfragen, Einfügen, Aktualisieren und Löschen von Daten in der Datenbank verwenden. Bei den Schritten in diesem Abschnitt wird davon ausgegangen, dass Sie mit der Ruby-Entwicklung vertraut sind und noch keine Erfahrung mit Azure Database for PostgreSQL haben.

Voraussetzungen

In diesem Schnellstart werden die Ressourcen, die in den folgenden Anleitungen erstellt wurden, als Startpunkt verwendet:

Darüber hinaus muss Folgendes installiert sein:

Abrufen von Verbindungsinformationen

Rufen Sie die Verbindungsinformationen ab, die zum Herstellen einer Verbindung mit der Azure-Datenbank für PostgreSQL erforderlich sind. Sie benötigen den vollqualifizierten Servernamen und die Anmeldeinformationen.

  1. Melden Sie sich beim Azure-Portalan.
  2. Wählen Sie im Azure-Portal im linken Menü Alle Ressourcen aus, und suchen Sie dann nach dem Server, den Sie erstellt haben (z.B. mydemoserver).
  3. Wählen Sie den Servernamen aus.
  4. Notieren Sie sich im Bereich Übersicht des Servers den Servernamen und den Anmeldenamen des Serveradministrators. Wenn Sie Ihr Kennwort vergessen haben, können Sie es in diesem Bereich auch zurücksetzen. Name des Azure Database for PostgreSQL-Servers

Hinweis

Das Symbol @ beim Azure-Postgres-Benutzernamen wurde in allen Verbindungszeichenfolgen als URL mit %40 codiert.

Herstellen einer Verbindung und Erstellen einer Tabelle

Verwenden Sie den folgenden Code, um eine Verbindung herzustellen und eine Tabelle zu erstellen, indem Sie eine CREATE TABLE-SQL-Anweisung gefolgt von INSERT INTO-SQL-Anweisungen zum Hinzufügen von Zeilen zur Tabelle nutzen.

Der Code verwendet ein PG::Connection-Objekt mit dem Konstruktor new, um eine Verbindung mit Azure Database for PostgreSQL herzustellen. Anschließend wird die exec()-Methode aufgerufen, um die Befehle DROP, CREATE TABLE und INSERT INTO auszuführen. Der Code führt mit der PG::Error-Klasse eine Überprüfung auf Fehler durch. Anschließend wird die close()-Methode aufgerufen, um die Verbindung vor dem Beenden zu schließen. In der Referenzdokumentation zu Ruby Pg finden Sie weitere Informationen zu diesen Klassen und Methoden.

Ersetzen Sie die Zeichenfolgen host, database, user und password durch Ihre eigenen Werte.

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

Lesen von Daten

Verwenden Sie den folgenden Code, um die Daten mit einer SELECT-SQL-Anweisung zu verbinden und zu lesen.

Der Code verwendet ein PG::Connection-Objekt mit dem Konstruktor new, um eine Verbindung mit Azure Database for PostgreSQL herzustellen. Anschließend wird die exec()-Methode aufgerufen, um den SELECT-Befehl auszuführen, und die Ergebnisse werden in einem Resultset vorgehalten. Die Resultset-Sammlung wird mit der Schleife resultSet.each do durchlaufen, wobei sich die aktuellen Zeilenwerte in der Variablen row befinden. Der Code führt mit der PG::Error-Klasse eine Überprüfung auf Fehler durch. Anschließend wird die close()-Methode aufgerufen, um die Verbindung vor dem Beenden zu schließen. In der Referenzdokumentation zu Ruby Pg finden Sie weitere Informationen zu diesen Klassen und Methoden.

Ersetzen Sie die Zeichenfolgen host, database, user und password durch Ihre eigenen Werte.

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

Aktualisieren von Daten

Verwenden Sie den folgenden Code, um eine Verbindung herzustellen und die Daten per UPDATE-SQL-Anweisung zu aktualisieren.

Der Code verwendet ein PG::Connection-Objekt mit dem Konstruktor new, um eine Verbindung mit Azure Database for PostgreSQL herzustellen. Anschließend wird die exec()-Methode aufgerufen, um den UPDATE-Befehl auszuführen. Der Code führt mit der PG::Error-Klasse eine Überprüfung auf Fehler durch. Anschließend wird die close()-Methode aufgerufen, um die Verbindung vor dem Beenden zu schließen. In der Referenzdokumentation zu Ruby Pg finden Sie weitere Informationen zu diesen Klassen und Methoden.

Ersetzen Sie die Zeichenfolgen host, database, user und password durch Ihre eigenen Werte.

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

Löschen von Daten

Verwenden Sie den folgenden Code, um die Daten mit einer DELETE-SQL-Anweisung zu verbinden und zu lesen.

Der Code verwendet ein PG::Connection-Objekt mit dem Konstruktor new, um eine Verbindung mit Azure Database for PostgreSQL herzustellen. Anschließend wird die exec()-Methode aufgerufen, um den UPDATE-Befehl auszuführen. Der Code führt mit der PG::Error-Klasse eine Überprüfung auf Fehler durch. Anschließend wird die close()-Methode aufgerufen, um die Verbindung vor dem Beenden zu schließen.

Ersetzen Sie die Zeichenfolgen host, database, user und password durch Ihre eigenen Werte.

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

Bereinigen von Ressourcen

Löschen Sie die Ressourcengruppe mit dem folgenden Befehl, um alle in dieser Schnellstartanleitung verwendeten Ressourcen zu bereinigen:

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

Nächste Schritte