Snabbstart: Använda Ruby för att ansluta och fråga efter data i Azure Database for PostgreSQL – enskild server

GÄLLER FÖR: Azure Database for PostgreSQL – enskild server

Viktigt!

Azure Database for PostgreSQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till Azure Database for PostgreSQL – flexibel server. Mer information om hur du migrerar till Azure Database for PostgreSQL – flexibel server finns i Vad händer med Azure Database for PostgreSQL – enskild server?.

Den här snabbstarten visar hur du ansluter till en Azure Database för PostgreSQL med hjälp av ett Ruby-program. Den visar hur du använder SQL-instruktioner för att fråga, infoga, uppdatera och ta bort data i databasen. I den här artikeln förutsätter vi att du har kunskaper om Ruby och att du inte har arbetat med Azure Database for PostgreSQL tidigare.

Förutsättningar

I den här snabbstarten används de resurser som skapades i någon av följande guider som utgångspunkt:

Du måste också ha installerat:

Hämta anslutningsinformation

Hämta den information som du behöver för att ansluta till Azure Database för PostgreSQL. Du behöver det fullständiga servernamnet och inloggningsuppgifter.

  1. Logga in på Azure-portalen.
  2. På den vänstra menyn i Azure-portalen väljer du Alla resurser och söker sedan efter den server som du har skapat (till exempel mydemoserver).
  3. Välj servernamnet.
  4. På serverpanelen Översikt antecknar du Servernamn och Inloggningsnamn för serveradministratören. Om du glömmer lösenordet kan du även återställa det på den här panelen. Azure Database for PostgreSQL-servernamn

Kommentar

Symbolen @ i Användarnamnet för Azure Postgres har url-kodats som %40 i alla anslutningssträng.

Ansluta och skapa en tabell

Använd följande kod för att ansluta och skapa en tabell med hjälp av CREATE TABLE-SQL-instruktionen följt av INSERT INTO-SQL-instruktioner för att lägga till rader i tabellen.

Koden använder ett PG::Connection objekt med konstruktorn new för att ansluta till Azure Database for PostgreSQL. Sedan anropas metoden exec() för att köra kommandona DROP, CREATE TABLE och INSERT INTO. Koden söker efter fel med hjälp av PG::Error klassen. Sedan anropas metoden close() för att stänga anslutningen innan den avslutas. Mer information om dessa klasser och metoder finns i referensdokumentationen för Ruby Pg.

Ersätt strängarna host, database, user och password med egna värden.

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

Läsa data

Använd följande kod för att ansluta och läsa data med en SELECT-SQL-instruktion.

Koden använder ett PG::Connection objekt med konstruktorn new för att ansluta till Azure Database for PostgreSQL. Sedan anropas metoden exec() för att köra SELECT-kommandot och hålla resultatet i en resultatuppsättning. Resultatuppsättningen itereras igenom med loopen resultSet.each do som sparar de aktuella radvärdena i variabeln row. Koden söker efter fel med hjälp av PG::Error klassen. Sedan anropas metoden close() för att stänga anslutningen innan den avslutas. Mer information om dessa klasser och metoder finns i referensdokumentationen för Ruby Pg.

Ersätt strängarna host, database, user och password med egna värden.

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

Uppdatera data

Använd följande kod för att ansluta och uppdatera data med en UPDATE-SQL-instruktion.

Koden använder ett PG::Connection objekt med konstruktorn new för att ansluta till Azure Database for PostgreSQL. Sedan anropas metoden exec() för att köra kommandot UPDATE. Koden söker efter fel med hjälp av PG::Error klassen. Sedan anropas metoden close() för att stänga anslutningen innan den avslutas. Mer information om dessa klasser och metoder finns i referensdokumentationen för Ruby Pg.

Ersätt strängarna host, database, user och password med egna värden.

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

Ta bort data

Använd följande kod för att ansluta och läsa data med en DELETE-SQL-instruktion.

Koden använder ett PG::Connection objekt med konstruktorn new för att ansluta till Azure Database for PostgreSQL. Sedan anropas metoden exec() för att köra kommandot UPDATE. Koden söker efter fel med hjälp av PG::Error klassen. Sedan anropas metoden close() för att stänga anslutningen innan den avslutas.

Ersätt strängarna host, database, user och password med egna värden.

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

Rensa resurser

Om du vill rensa alla resurser som används under den här snabbstarten tar du bort resursgruppen med följande kommando:

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

Nästa steg