Database di Azure per PostgreSQL: usare Ruby per connettersi ai dati ed eseguire queryAzure Database for PostgreSQL: Use Ruby to connect and query data

Questa guida introduttiva illustra come connettersi a un database di Azure per PostgreSQL usando un'applicazione Ruby.This quickstart demonstrates how to connect to an Azure Database for PostgreSQL using a Ruby application. Spiega come usare le istruzioni SQL per eseguire query, inserire, aggiornare ed eliminare dati nel database.It shows how to use SQL statements to query, insert, update, and delete data in the database. Le procedure descritte in questo articolo presuppongono che si abbia familiarità con lo sviluppo con Ruby, ma non con Database di Azure per 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.

PrerequisitiPrerequisites

Questa guida introduttiva usa le risorse create in una delle guide seguenti come punto di partenza:This quickstart uses the resources created in either of these guides as a starting point:

Installare RubyInstall Ruby

Installare Ruby nel computer.Install Ruby on your own machine.

WindowsWindows

  • Scaricare e installare la versione più recente di Ruby.Download and Install the latest version of Ruby.
  • Nella schermata finale del programma di installazione MSI selezionare la casella "Run 'ridk install' to install MSYS2 and development toolchain" (Esegui 'ridk install' per installare MSYS2 e la toolchain di sviluppo).On the finish screen of the MSI installer, check the box that says "Run 'ridk install' to install MSYS2 and development toolchain." Fare quindi clic su Finish (Fine) per avviare il programma di installazione successivo.Then click Finish to launch the next installer.
  • Viene avviato il programma di installazione di RubyInstaller2 per Windows.The RubyInstaller2 for Windows installer launches. Digitare 2 per installare l'aggiornamento del repository MSYS2.Type 2 to install the MSYS2 repository update. Dopo avere terminato ed essere tornati alla richiesta di installazione, chiudere la finestra di comando.After it finishes and returns to the installation prompt, close the command window.
  • Avviare un nuovo prompt dei comandi (cmd) dal menu Start.Launch a new command prompt (cmd) from the Start menu.
  • Testare l'installazione di Ruby ruby -v per visualizzare la versione installata.Test the Ruby installation ruby -v to see the version installed.
  • Testare l'installazione di Gem gem -v per visualizzare la versione installata.Test the Gem installation gem -v to see the version installed.
  • Eseguire il comando gem install pg per compilare il modulo PostgreSQL per Ruby usando Gem.Build the PostgreSQL module for Ruby using Gem by running the command gem install pg.

MacOSMacOS

  • Eseguire il comando brew install ruby per installare Ruby usando Homebrew.Install Ruby using Homebrew by running the command brew install ruby. Per altre opzioni di installazione, vedere la documentazione sull'installazione di Ruby.For more installation options, see the Ruby installation documentation
  • Testare l'installazione di Ruby ruby -v per visualizzare la versione installata.Test the Ruby installation ruby -v to see the version installed.
  • Testare l'installazione di Gem gem -v per visualizzare la versione installata.Test the Gem installation gem -v to see the version installed.
  • Eseguire il comando gem install pg per compilare il modulo PostgreSQL per Ruby usando Gem.Build the PostgreSQL module for Ruby using Gem by running the command gem install pg.

Linux (Ubuntu)Linux (Ubuntu)

  • Installare Ruby eseguendo il comando sudo apt-get install ruby-full.Install Ruby by running the command sudo apt-get install ruby-full. Per altre opzioni di installazione, vedere la documentazione sull'installazione di Ruby.For more installation options, see the Ruby installation documentation.
  • Testare l'installazione di Ruby ruby -v per visualizzare la versione installata.Test the Ruby installation ruby -v to see the version installed.
  • Installare gli aggiornamenti più recenti per Gem eseguendo il comando sudo gem update --system.Install the latest updates for Gem by running the command sudo gem update --system.
  • Testare l'installazione di Gem gem -v per visualizzare la versione installata.Test the Gem installation gem -v to see the version installed.
  • Installare gcc, make e altri strumenti di compilazione eseguendo il comando sudo apt-get install build-essential.Install the gcc, make, and other build tools by running the command sudo apt-get install build-essential.
  • Installare le librerie PostgreSQL eseguendo il comando sudo apt-get install libpq-dev.Install the PostgreSQL libraries by running the command sudo apt-get install libpq-dev.
  • Eseguire il comando sudo gem install pg per compilare il modulo pg di Ruby usando Gem.Build the Ruby pg module using Gem by running the command sudo gem install pg.

Eseguire il codice RubyRun Ruby code

  • Salvare il codice in un file di testo con estensione rb e salvare il file in una cartella di progetto, ad esempio C:\rubypostgres\read.rb o /home/username/rubypostgres/read.rbSave the code into a text file with file extension .rb, and save the file into a project folder, such as C:\rubypostgres\read.rb or /home/username/rubypostgres/read.rb
  • Per eseguire il codice, avviare il prompt dei comandi o la shell Bash.To run the code, launch the command prompt or bash shell. Sostituire la directory con la cartella del progetto cd rubypostgres, quindi digitare il comando ruby read.rb per eseguire l'applicazione.Change directory into your project folder cd rubypostgres, then type the command ruby read.rb to run the application.

Ottenere informazioni di connessioneGet connection information

Ottenere le informazioni di connessione necessarie per connettersi al database di Azure per PostgreSQL.Get the connection information needed to connect to the Azure Database for PostgreSQL. Sono necessari il nome del server completo e le credenziali di accesso.You need the fully qualified server name and login credentials.

  1. Accedere al Portale di Azure.Log in to the Azure portal.
  2. Nel menu a sinistra nel portale di Azure fare clic su Tutte le risorse e cercare il server creato, ad esempio mypgserver-20170401.From the left-hand menu in Azure portal, click All resources and search for the server you have created, such as mypgserver-20170401.
  3. Fare clic sul nome del server mypgserver-20170401.Click the server name mypgserver-20170401.
  4. Selezionare la pagina Panoramica del server.Select the server's Overview page. Annotare il Nome server e il nome di accesso dell'amministratore del server.Make a note of the Server name and Server admin login name. Database di Azure per PostgreSQL - Accesso dell'amministratore del serverAzure Database for PostgreSQL - Server Admin Login
  5. Se si dimenticano le informazioni di accesso per il server, passare alla pagina Panoramica per visualizzare il nome di accesso dell'amministratore del server.If you forget your server login information, navigate to the Overview page to view the Server admin login name. Se necessario, reimpostare la password.If necessary, reset the password.

Connettersi e creare una tabellaConnect and create a table

Usare il codice seguente per connettersi e creare una tabella usando l'istruzione SQL CREATE TABLE, seguita dalle istruzioni SQL INSERT INTO per aggiungere righe nella tabella.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.

Il codice usa un oggetto PG::Connection con il costruttore new() per la connessione a Database di Azure per PostgreSQL.The code uses a PG::Connection object with constructor new() to connect to Azure Database for PostgreSQL. Chiama quindi il metodo exec() per eseguire i comandi DROP, CREATE TABLE e INSERT INTO.Then it calls method exec() to run the DROP, CREATE TABLE, and INSERT INTO commands. Il codice cerca gli errori usando la classe PG::Error.The code checks for errors using the PG::Error class. Chiama infine il metodo close() per chiudere la connessione prima di terminare.Then it calls method close() to close the connection before terminating.

Sostituire le stringhe host, database, user e password con valori personalizzati.Replace the host, database, user, and password strings with your own values.

require 'pg'

begin
    # Initialize connection variables.
    host = String('mypgserver-20170401.postgres.database.azure.com')
    database = String('postgres')
    user = String('mylogin@mypgserver-20170401')
    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

Leggere i datiRead data

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL SELECT.Use the following code to connect and read the data using a SELECT SQL statement.

Il codice usa un oggetto PG::Connection con il costruttore new() per la connessione a Database di Azure per PostgreSQL.The code uses a PG::Connection object with constructor new() to connect to Azure Database for PostgreSQL. Chiama quindi il metodo exec() per eseguire il comando SELECT, mantenendo i risultati in un set di risultati.Then it calls method exec() to run the SELECT command, keeping the results in a result set. Viene eseguita l'iterazione della raccolta di set di risultati usando il ciclo resultSet.each do, mantenendo i valori della riga corrente nella variabile row.The result set collection is iterated over using the resultSet.each do loop, keeping the current row values in the row variable. Il codice cerca gli errori usando la classe PG::Error.The code checks for errors using the PG::Error class. Chiama infine il metodo close() per chiudere la connessione prima di terminare.Then it calls method close() to close the connection before terminating.

Sostituire le stringhe host, database, user e password con valori personalizzati.Replace the host, database, user, and password strings with your own values.

require 'pg'

begin
    # Initialize connection variables.
    host = String('mypgserver-20170401.postgres.database.azure.com')
    database = String('postgres')
    user = String('mylogin@mypgserver-20170401')
    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

Aggiornare i datiUpdate data

Usare il codice seguente per connettersi e aggiornare i dati usando un'istruzione SQL UPDATE.Use the following code to connect and update the data using a UPDATE SQL statement.

Il codice usa un oggetto PG::Connection con il costruttore new() per la connessione a Database di Azure per PostgreSQL.The code uses a PG::Connection object with constructor new() to connect to Azure Database for PostgreSQL. Chiama quindi il metodo exec() per eseguire il comando UPDATE.Then it calls method exec() to run the UPDATE command. Il codice cerca gli errori usando la classe PG::Error.The code checks for errors using the PG::Error class. Chiama infine il metodo close() per chiudere la connessione prima di terminare.Then it calls method close() to close the connection before terminating.

Sostituire le stringhe host, database, user e password con valori personalizzati.Replace the host, database, user, and password strings with your own values.

require 'pg'

begin
    # Initialize connection variables.
    host = String('mypgserver-20170401.postgres.database.azure.com')
    database = String('postgres')
    user = String('mylogin@mypgserver-20170401')
    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

Eliminare i datiDelete data

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL DELETE.Use the following code to connect and read the data using a DELETE SQL statement.

Il codice usa un oggetto PG::Connection con il costruttore new() per la connessione a Database di Azure per PostgreSQL.The code uses a PG::Connection object with constructor new() to connect to Azure Database for PostgreSQL. Chiama quindi il metodo exec() per eseguire il comando UPDATE.Then it calls method exec() to run the UPDATE command. Il codice cerca gli errori usando la classe PG::Error.The code checks for errors using the PG::Error class. Chiama infine il metodo close() per chiudere la connessione prima di terminare.Then it calls method close() to close the connection before terminating.

Sostituire le stringhe host, database, user e password con valori personalizzati.Replace the host, database, user, and password strings with your own values.

require 'pg'

begin
    # Initialize connection variables.
    host = String('mypgserver-20170401.postgres.database.azure.com')
    database = String('postgres')
    user = String('mylogin@mypgserver-20170401')
    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

Passaggi successiviNext steps