Szybki Start: używanie języka Ruby do nawiązywania połączenia i wykonywania zapytań dotyczących danych na pojedynczym serwerze Azure Database for PostgreSQLQuickstart: Use Ruby to connect and query data in Azure Database for PostgreSQL - Single Server

Ten przewodnik Szybki start przedstawia sposób nawiązywania połączeń z usługą Azure Database for PostgreSQL przy użyciu aplikacji języka Ruby.This quickstart demonstrates how to connect to an Azure Database for PostgreSQL using a Ruby application. Pokazano w nim, jak używać instrukcji języka SQL w celu wysyłania zapytań o dane oraz wstawiania, aktualizowania i usuwania danych w bazie danych.It shows how to use SQL statements to query, insert, update, and delete data in the database. W krokach w tym artykule założono, że wiesz już, jak programować za pomocą języka Ruby, i dopiero zaczynasz pracę z usługą Azure Database for PostgreSQL.The steps in this article assume that you are familiar with developing using Ruby, and are new to working with Azure Database for PostgreSQL.

Wymagania wstępnePrerequisites

Ten przewodnik Szybki start jako punktu wyjścia używa zasobów utworzonych w jednym z tych przewodników:This quickstart uses the resources created in either of these guides as a starting point:

Należy również zainstalować następujące aplikacje:You also need to have installed:

Pobieranie informacji o połączeniuGet connection information

Uzyskaj parametry połączenia potrzebne do nawiązania połączenia z usługą Azure Database for PostgreSQL.Get the connection information needed to connect to the Azure Database for PostgreSQL. Potrzebna jest w pełni kwalifikowana nazwa serwera i poświadczenia logowania.You need the fully qualified server name and login credentials.

  1. Zaloguj się do Azure Portal.Log in to the Azure portal.
  2. W menu po lewej stronie w witrynie Azure Portal kliknij pozycję Wszystkie zasoby i wyszukaj utworzony serwer, taki jak mydemoserver.From the left-hand menu in Azure portal, click All resources, and then search for the server you have created (such as mydemoserver).
  3. Kliknij nazwę serwera.Click the server name.
  4. Po przejściu do panelu Przegląd serwera zanotuj nazwę serwera i nazwę logowania administratora serwera.From the server's Overview panel, make a note of the Server name and Server admin login name. Jeśli zapomnisz hasła, możesz również je zresetować z poziomu tego panelu.If you forget your password, you can also reset the password from this panel. Nazwa serwera usługi Azure Database for PostgreSQL

Uwaga

@Symbol w nazwie użytkownika usługi Azure Postgres został zakodowany w adresie URL jako %40 we wszystkich parametrach połączenia.The @ symbol in the Azure Postgres username has been url encoded as %40 in all the connection strings.

Łączenie i tworzenie tabeliConnect and create a table

Użyj poniższego kodu w celu nawiązania połączenia i utworzenia tabeli za pomocą instrukcji CREATE TABLE języka SQL, a następnie instrukcji INSERT INTO języka SQL, aby dodać wiersze do tabeli.Use the following code to connect and create a table using CREATE TABLE SQL statement, followed by INSERT INTO SQL statements to add rows into the table.

Kod używa PG::Connection obiektu z konstruktorem new do nawiązania połączenia z Azure Database for PostgreSQL.The code uses a PG::Connection object with constructor new to connect to Azure Database for PostgreSQL. Następnie wywołuje metodę, exec() Aby uruchomić polecenia DROP, CREATE TABLE i INSERT INTO.Then it calls method exec() to run the DROP, CREATE TABLE, and INSERT INTO commands. Kod sprawdza błędy przy użyciu PG::Error klasy.The code checks for errors using the PG::Error class. Następnie wywołuje metodę, close() Aby zamknąć połączenie przed zakończeniem.Then it calls method close() to close the connection before terminating. Aby uzyskać więcej informacji na temat tych klas i metod, zobacz dokumentację dotyczącą dokumentacji Ruby PG.See Ruby Pg reference documentation for more information on these classes and methods.

Zastąp ciągi host, database, user i password własnymi wartościami.Replace the host, database, user, and password strings with your own values.

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

Odczyt danychRead data

Użyj poniższego kodu, aby nawiązać połączenie i odczytać dane za pomocą instrukcji SELECT języka SQL.Use the following code to connect and read the data using a SELECT SQL statement.

Kod używa PG::Connection obiektu z konstruktorem new do nawiązania połączenia z Azure Database for PostgreSQL.The code uses a PG::Connection object with constructor new to connect to Azure Database for PostgreSQL. Następnie wywołuje metodę exec() , aby uruchomić polecenie select, zachowując wyniki w zestawie wyników.Then it calls method exec() to run the SELECT command, keeping the results in a result set. Kolekcja zestawów wyników jest iterowana przy użyciu pętli resultSet.each do z zachowaniem bieżących wartości wierszy w zmiennej row.The result set collection is iterated over using the resultSet.each do loop, keeping the current row values in the row variable. Kod sprawdza błędy przy użyciu PG::Error klasy.The code checks for errors using the PG::Error class. Następnie wywołuje metodę, close() Aby zamknąć połączenie przed zakończeniem.Then it calls method close() to close the connection before terminating. Aby uzyskać więcej informacji na temat tych klas i metod, zobacz dokumentację dotyczącą dokumentacji Ruby PG.See Ruby Pg reference documentation for more information on these classes and methods.

Zastąp ciągi host, database, user i password własnymi wartościami.Replace the host, database, user, and password strings with your own values.

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, :database => dbname, :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

Aktualizowanie danychUpdate data

Użyj poniższego kodu, aby nawiązać połączenie i zaktualizować dane za pomocą instrukcji UPDATE języka SQL.Use the following code to connect and update the data using a UPDATE SQL statement.

Kod używa PG::Connection obiektu z konstruktorem new do nawiązania połączenia z Azure Database for PostgreSQL.The code uses a PG::Connection object with constructor new to connect to Azure Database for PostgreSQL. Następnie wywołuje metodę, exec() Aby uruchomić polecenie Update.Then it calls method exec() to run the UPDATE command. Kod sprawdza błędy przy użyciu PG::Error klasy.The code checks for errors using the PG::Error class. Następnie wywołuje metodę, close() Aby zamknąć połączenie przed zakończeniem.Then it calls method close() to close the connection before terminating. Aby uzyskać więcej informacji na temat tych klas i metod, zobacz dokumentację dotyczącą dokumentacji Ruby PG .See Ruby Pg reference documentation for more information on these classes and methods.

Zastąp ciągi host, database, user i password własnymi wartościami.Replace the host, database, user, and password strings with your own values.

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

Usuwanie danychDelete data

Użyj poniższego kodu, aby nawiązać połączenie i odczytać dane za pomocą instrukcji DELETE języka SQL.Use the following code to connect and read the data using a DELETE SQL statement.

Kod używa PG::Connection obiektu z konstruktorem new do nawiązania połączenia z Azure Database for PostgreSQL.The code uses a PG::Connection object with constructor new to connect to Azure Database for PostgreSQL. Następnie wywołuje metodę, exec() Aby uruchomić polecenie Update.Then it calls method exec() to run the UPDATE command. Kod sprawdza błędy przy użyciu PG::Error klasy.The code checks for errors using the PG::Error class. Następnie wywołuje metodę, close() Aby zamknąć połączenie przed zakończeniem.Then it calls method close() to close the connection before terminating.

Zastąp ciągi host, database, user i password własnymi wartościami.Replace the host, database, user, and password strings with your own values.

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

Czyszczenie zasobówClean up resources

Aby wyczyścić wszystkie zasoby używane w ramach tego przewodnika Szybki Start, Usuń grupę zasobów przy użyciu następującego polecenia:To clean up all resources used during this quickstart, delete the resource group using the following command:

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

Następne krokiNext steps