Szybki start: nawiązywanie połączeń z danymi w usłudze Azure Database for PostgreSQL i wykonywanie zapytań względem nich za pomocą języka Ruby — pojedynczy serwer

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

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. 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. 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.

Wymagania wstępne

Ten przewodnik Szybki start jako punktu wyjścia używa zasobów utworzonych w jednym z tych przewodników:

Musisz również zainstalować następujące elementy:

Pobieranie informacji o połączeniu

Uzyskaj parametry połączenia potrzebne do nawiązania połączenia z usługą Azure Database for PostgreSQL. Potrzebna jest w pełni kwalifikowana nazwa serwera i poświadczenia logowania.

  1. Zaloguj się w witrynie Azure Portal.
  2. W menu po lewej stronie w witrynie Azure Portal wybierz pozycję Wszystkie zasoby, a następnie wyszukaj utworzony serwer (na przykład mydemoserver).
  3. Wybierz nazwę serwera.
  4. Po przejściu do panelu Przegląd serwera zanotuj nazwę serwera i nazwę logowania administratora serwera. Jeśli zapomnisz hasła, możesz również je zresetować z poziomu tego panelu. Nazwa serwera usługi Azure Database for PostgreSQL

Uwaga

Symbol @ w nazwie użytkownika usługi Azure Postgres został zakodowany jako %40 we wszystkich parametry połączenia.

Łączenie i tworzenie tabeli

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.

Kod używa obiektu z konstruktorem PG::Connectionnew do nawiązywania połączenia z usługą Azure Database for PostgreSQL. Następnie wywołuje metodę exec() uruchamiania poleceń DROP, CREATE TABLE i INSERT INTO. Kod sprawdza błędy przy użyciu PG::Error klasy . Następnie wywołuje metodę close() , aby zamknąć połączenie przed zakończeniem. Aby uzyskać więcej informacji na temat tych klas i metod, zobacz dokumentację referencyjną języka Ruby Pg.

Zastąp ciągi host, database, user i password własnymi wartościami.

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 danych

Użyj poniższego kodu, aby nawiązać połączenie i odczytać dane za pomocą instrukcji SELECT języka SQL.

Kod używa obiektu z konstruktorem PG::Connectionnew do nawiązywania połączenia z usługą Azure Database for PostgreSQL. Następnie wywołuje metodę exec() , aby uruchomić polecenie SELECT, zachowując wyniki w zestawie wyników. 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. Kod sprawdza błędy przy użyciu PG::Error klasy . Następnie wywołuje metodę close() , aby zamknąć połączenie przed zakończeniem. Aby uzyskać więcej informacji na temat tych klas i metod, zobacz dokumentację referencyjną języka Ruby Pg.

Zastąp ciągi host, database, user i password własnymi wartościami.

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

Aktualizowanie danych

Użyj poniższego kodu, aby nawiązać połączenie i zaktualizować dane za pomocą instrukcji UPDATE języka SQL.

Kod używa obiektu z konstruktorem PG::Connectionnew do nawiązywania połączenia z usługą Azure Database for PostgreSQL. Następnie wywołuje metodę exec() , aby uruchomić polecenie UPDATE. Kod sprawdza błędy przy użyciu PG::Error klasy . Następnie wywołuje metodę close() , aby zamknąć połączenie przed zakończeniem. Aby uzyskać więcej informacji na temat tych klas i metod, zobacz dokumentację referencyjną języka Ruby Pg.

Zastąp ciągi host, database, user i password własnymi wartościami.

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 danych

Użyj poniższego kodu, aby nawiązać połączenie i odczytać dane za pomocą instrukcji DELETE języka SQL.

Kod używa obiektu z konstruktorem PG::Connectionnew do nawiązywania połączenia z usługą Azure Database for PostgreSQL. Następnie wywołuje metodę exec() , aby uruchomić polecenie UPDATE. Kod sprawdza błędy przy użyciu PG::Error klasy . Następnie wywołuje metodę close() , aby zamknąć połączenie przed zakończeniem.

Zastąp ciągi host, database, user i password własnymi wartościami.

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ów

Aby wyczyścić wszystkie zasoby używane w tym przewodniku Szybki start, usuń grupę zasobów przy użyciu następującego polecenia:

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

Następne kroki