Guida introduttiva: Usare Ruby per connettersi ed eseguire query sui dati in Database di Azure per PostgreSQL - Server singolo

SI APPLICA A: Database di Azure per PostgreSQL - Server singolo

Importante

Database di Azure per PostgreSQL - Server singolo si trova nel percorso di ritiro. È consigliabile eseguire l'aggiornamento a Database di Azure per PostgreSQL - Server flessibile. Per altre informazioni sulla migrazione a Database di Azure per PostgreSQL - Server flessibile, vedere What's happening to Database di Azure per PostgreSQL Single Server?.

Questa guida introduttiva illustra come connettersi a un database di Azure per PostgreSQL usando un'applicazione Ruby. Spiega come usare le istruzioni SQL per eseguire query, inserire, aggiornare ed eliminare dati nel 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.

Prerequisiti

Questa guida introduttiva usa le risorse create in una delle guide seguenti come punto di partenza:

È anche necessario che sia installato:

Ottenere informazioni di connessione

Ottenere le informazioni di connessione necessarie per connettersi al database di Azure per PostgreSQL. Sono necessari il nome del server completo e le credenziali di accesso.

  1. Accedere al portale di Azure.
  2. Dal menu a sinistra nel portale di Azure scegliere Tutte le risorse e quindi cercare il server creato, ad esempio mydemoserver.
  3. Selezionare il nome del server.
  4. Nel pannello Panoramica del server prendere nota dei valori riportati in Nome server e Nome di accesso dell'amministratore server. Se si dimentica la password, in questo pannello è anche possibile reimpostarla. Nome del server Database di Azure per PostgreSQL

Nota

Il simbolo @ nel nome utente di Postgres in Azure è stato codificato tramite URL (%40) in tutte le stringhe di connessione.

Connettersi e creare una tabella

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.

Il codice usa un PG::Connectionoggetto con il costruttorenew per la connessione a Database di Azure per PostgreSQL. Chiama quindi il metodo exec() per eseguire i comandi DROP, CREATE TABLE e INSERT INTO. Il codice cerca gli errori usando la classe PG::Error. Chiama infine il metodo close() per chiudere la connessione prima di terminare. Per altre informazioni su queste classi e questi metodi, vedere Documentazione di riferimento su Ruby Pg.

Sostituire le stringhe host, database, user e password con valori personalizzati.

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

Leggere i dati

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL SELECT.

Il codice usa un PG::Connectionoggetto con il costruttorenew per la connessione a Database di Azure per PostgreSQL. Chiama quindi il metodo exec() per eseguire il comando edizione Standard LECT, mantenendo i risultati in un set di risultati. 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. Il codice cerca gli errori usando la classe PG::Error. Chiama infine il metodo close() per chiudere la connessione prima di terminare. Per altre informazioni su queste classi e questi metodi, vedere Documentazione di riferimento su Ruby Pg.

Sostituire le stringhe host, database, user e password con valori personalizzati.

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

Aggiornamento dei dati

Usare il codice seguente per connettersi e aggiornare i dati usando un'istruzione SQL UPDATE.

Il codice usa un PG::Connectionoggetto con il costruttorenew per la connessione a Database di Azure per PostgreSQL. Chiama quindi il metodo exec() per eseguire il comando UPDATE. Il codice cerca gli errori usando la classe PG::Error. Chiama infine il metodo close() per chiudere la connessione prima di terminare. Per altre informazioni su queste classi e questi metodi, vedere Documentazione di riferimento su Ruby Pg.

Sostituire le stringhe host, database, user e password con valori personalizzati.

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

Eliminare dati

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL DELETE.

Il codice usa un PG::Connectionoggetto con il costruttorenew per la connessione a Database di Azure per PostgreSQL. Chiama quindi il metodo exec() per eseguire il comando UPDATE. Il codice cerca gli errori usando la classe PG::Error. Chiama infine il metodo close() per chiudere la connessione prima di terminare.

Sostituire le stringhe host, database, user e password con valori personalizzati.

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

Pulire le risorse

Per pulire tutte le risorse usate in questo argomento di avvio rapido, eliminare il gruppo di risorse con il comando seguente:

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

Passaggi successivi