Rychlý start: Použití Ruby k připojení a dotazování dat v Azure Database for PostgreSQL – Jeden server

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 Azure Portal.
  2. V nabídce vlevo na webu Azure Portal klikněte na Všechny prostředky a vyhledejte vytvořený server (například mydemoserver).
  3. Klikněte na 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 má zakódovanou adresu URL jako %40 ve všech připojovacích řetězcích.

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 PG::Connection s konstruktorem new pro připojení k Azure Database for PostgreSQL. Potom volá metodu exec() pro spuštění příkazů DROP, CREATE TABLE a INSERT INTO. Kód vyhledá chyby pomocí PG::Error třídy . Potom volá close() metodu , která připojení před ukončením zavře. Další informace o těchto třídách a metodách najdete v referenční dokumentaci k produktu Ruby Pg.

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 PG::Connection konstruktorem new pro připojení k Azure Database for PostgreSQL. Potom volá exec() metodu , která spustí příkaz SELECT a výsledky se zachytá v sadě výsledků dotazu. 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 vyhledá chyby pomocí PG::Error třídy . Potom volá close() metodu , která připojení před ukončením zavře. Další informace o těchto třídách a metodách najdete v referenční dokumentaci k produktu Ruby Pg.

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 PG::Connection konstruktorem new pro připojení k Azure Database for PostgreSQL. Potom volá exec() metodu pro spuštění příkazu UPDATE. Kód vyhledá chyby pomocí PG::Error třídy . Potom volá close() metodu , která připojení před ukončením zavře. Další informace o těchto třídách a metodách najdete v referenční dokumentaci k produktu Ruby Pg.

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 PG::Connection konstruktorem new pro připojení k Azure Database for PostgreSQL. Potom volá exec() metodu pro spuštění příkazu UPDATE. Kód vyhledá chyby pomocí PG::Error třídy . Potom volá close() metodu , která připojení před ukončením zavře.

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