Rychlý start: Použití Ruby k připojení a dotazování dat na jednoúčelovém serveru Azure Database for PostgreSQL

PLATÍ PRO: Azure Database for PostgreSQL – Jednoúčelový server

Důležité

Jednoúčelový server Azure Database for PostgreSQL je na cestě vyřazení. Důrazně doporučujeme upgradovat na flexibilní server Azure Database for PostgreSQL. Další informace o migraci na flexibilní server Azure Database for PostgreSQL najdete v tématu Co se děje s jednoúčelovým serverem Azure Database for PostgreSQL?

Tento rychlý start ukazuje, jak se připojit ke službě Azure Database for PostgreSQL pomocí aplikace v Ruby. Ukazuje, jak pomocí příkazů jazyka SQL dotazovat, vkládat, aktualizovat a odstraňovat data v databázi. Kroky v tomto článku předpokládají, že máte zkušenosti s vývojem pomocí Ruby a teprve začínáte pracovat se službou Azure Database for PostgreSQL.

Požadavky

Tento rychlý start jako výchozí bod využívá prostředky vytvořené v některém z těchto průvodců:

Musíte mít také nainstalované:

Získání informací o připojení

Získejte informace o připojení potřebné pro připojení ke službě Azure Database for PostgreSQL. Potřebujete plně kvalifikovaný název serveru a přihlašovací údaje.

  1. Přihlaste se k webu Azure Portal.
  2. V nabídce vlevo na webu Azure Portal vyberte Všechny prostředky a vyhledejte server, který jste vytvořili (například mydemoserver).
  3. Vyberte název serveru.
  4. Na panelu Přehled serveru si poznamenejte Název serveru a Přihlašovací jméno správce serveru. Pokud zapomenete své heslo, můžete ho na tomto panelu také resetovat. Název serveru Azure Database for PostgreSQL

Poznámka:

Symbol @ v uživatelském jménu Azure Postgres byl kódován jako %40 ve všech připojovací řetězec.

Připojení a vytvoření tabulky

Pomocí následujícího kódu se připojte a vytvořte tabulku s využitím příkazu CREATE TABLE jazyka SQL, po kterém následují příkazy INSERT INTO jazyka SQL, které do tabulky přidají řádky.

Kód používá objekt s konstruktorem PG::Connectionnew pro připojení ke službě Azure Database for PostgreSQL. Potom volá metodu exec() pro spuštění příkazů DROP, CREATE TABLE a INSERT INTO. Kód kontroluje chyby pomocí PG::Error třídy. Potom volá metodu close() ukončení připojení před ukončením. Další informace o těchtotřídch

Nahraďte řetězce host, database, user a password vlastními hodnotami.

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

Čtení dat

Pomocí následujícího kódu se připojte a načtěte data s využitím příkazu SELECT jazyka SQL.

Kód používá objekt s konstruktorem PG::Connectionnew pro připojení ke službě Azure Database for PostgreSQL. Potom volá metodu exec() ke spuštění příkazu SELECT, čímž se výsledky zachovají do sady výsledků. Nad kolekcí sady výsledků dotazu se iteruje pomocí smyčky resultSet.each do a hodnoty aktuálního řádku se ukládají do proměnné row. Kód kontroluje chyby pomocí PG::Error třídy. Potom volá metodu close() ukončení připojení před ukončením. Další informace o těchtotřídch

Nahraďte řetězce host, database, user a password vlastními hodnotami.

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

Aktualizace dat

Pomocí následujícího kódu se připojte a aktualizujte data s využitím příkazu UPDATE jazyka SQL.

Kód používá objekt s konstruktorem PG::Connectionnew pro připojení ke službě Azure Database for PostgreSQL. Potom volá metodu exec() pro spuštění příkazu UPDATE. Kód kontroluje chyby pomocí PG::Error třídy. Potom volá metodu close() ukončení připojení před ukončením. Další informace o těchtotřídch

Nahraďte řetězce host, database, user a password vlastními hodnotami.

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

Odstranění dat

Pomocí následujícího kódu se připojte a načtěte data s využitím příkazu DELETE jazyka SQL.

Kód používá objekt s konstruktorem PG::Connectionnew pro připojení ke službě Azure Database for PostgreSQL. Potom volá metodu exec() pro spuštění příkazu UPDATE. Kód kontroluje chyby pomocí PG::Error třídy. Potom volá metodu close() ukončení připojení před ukončením.

Nahraďte řetězce host, database, user a password vlastními hodnotami.

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

Vyčištění prostředků

Pokud chcete vyčistit všechny prostředky použité během tohoto rychlého startu, odstraňte skupinu prostředků pomocí následujícího příkazu:

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

Další kroky