Démarrage rapide : Utiliser Ruby afin de se connecter à Azure Database pour PostgreSQL et d'interroger les données - Serveur unique
S’APPLIQUE À : Azure Database pour PostgreSQL – Serveur unique
Important
Azure Database pour PostgreSQL - Serveur unique est en voie de mise hors service. Nous vous recommandons vivement de procéder à une mise à niveau vers un serveur flexible Azure Database pour PostgreSQL. Pour plus d’informations sur la migration vers le Serveur flexible Azure Database pour PostgreSQL, consultez l’article Qu’arrive-t-il au Serveur unique Azure Database pour PostgreSQL ?.
Ce guide de démarrage rapide vous explique comment vous connecter à une base de données Azure pour PostgreSQL en utilisant une application Ruby. Il détaille l’utilisation d’instructions SQL pour interroger la base de données, la mettre à jour, y insérer des données ou en supprimer. Cet article suppose que vous connaissez les bases du développement via Ruby, et que vous ne savez pas utiliser Azure Database pour PostgreSQL.
Prérequis
Ce guide de démarrage rapide s’appuie sur les ressources créées dans l’un de ces guides :
- Créer une base de données - Portail
- Créer une base de données - Interface de ligne de commande Azure
Vous devez également avoir installé :
Obtenir des informations de connexion
Obtenez les informations de connexion requises pour vous connecter à la base de données Azure pour PostgreSQL. Vous devez disposer du nom de serveur complet et des informations d’identification.
- Connectez-vous au portail Azure.
- Dans le menu de gauche du portail Azure, sélectionnez Toutes les ressources, puis recherchez le serveur que vous venez de créer, par exemple mydemoserver.
- Sélectionnez le nom du serveur.
- Dans le panneau Vue d’ensemble du serveur, notez le nom du serveur et le nom de connexion de l’administrateur du serveur. Si vous oubliez votre mot de passe, vous pouvez également le réinitialiser dans ce panneau.
Remarque
Le symbole @
dans le nom d’utilisateur Azure Postgres a été codé URL en tant que %40
dans toutes les chaînes de connexion.
Se connecter et créer une table
Utilisez le code suivant pour vous connecter et créer une table à l’aide de l’instruction CREATE TABLE, suivie des instructions SQL INSERT INTO pour ajouter des lignes à la table.
Le code utilise un objet PG::Connection
avec le constructeur new
pour se connecter à Azure Database pour PostgreSQL. Ensuite, il appelle la méthode exec()
pour exécuter les commandes DROP, CREATE TABLE et INSERT INTO. Le code vérifie les erreurs à l’aide de la classe PG::Error
. Ensuite, il appelle la méthode close()
pour fermer la connexion, avant de s’arrêter. Pour plus d'informations sur ces classes et méthodes, consultez la documentation de référence de Ruby PG.
Remplacez les chaînes host
, database
, user
et password
par vos propres valeurs.
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
Lire les données
Utilisez le code suivant pour vous connecter et lire des données à l’aide d’une instruction SQL SELECT.
Le code utilise un objet PG::Connection
avec le constructeur new
pour se connecter à Azure Database pour PostgreSQL. Ensuite, il appelle la méthode exec()
pour exécuter la commande SELECT, en conservant les résultats dans un jeu de résultats. La collection de jeu de résultats est itérée au sein de la boucle resultSet.each do
, les valeurs de ligne actuelles étant conservées dans la variable row
. Le code vérifie les erreurs à l’aide de la classe PG::Error
. Ensuite, il appelle la méthode close()
pour fermer la connexion, avant de s’arrêter. Pour plus d'informations sur ces classes et méthodes, consultez la documentation de référence de Ruby PG.
Remplacez les chaînes host
, database
, user
et password
par vos propres valeurs.
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
Mettre à jour des données
Utilisez le code suivant pour vous connecter et mettre à jour les données à l’aide d’une instruction SQL UPDATE.
Le code utilise un objet PG::Connection
avec le constructeur new
pour se connecter à Azure Database pour PostgreSQL. Ensuite, il appelle la méthode exec()
pour exécuter la commande UPDATE. Le code vérifie les erreurs à l’aide de la classe PG::Error
. Ensuite, il appelle la méthode close()
pour fermer la connexion, avant de s’arrêter. Pour plus d'informations sur ces classes et méthodes, consultez la documentation de référence de Ruby PG.
Remplacez les chaînes host
, database
, user
et password
par vos propres valeurs.
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
Suppression de données
Utilisez le code suivant pour vous connecter et lire des données à l’aide d’une instruction SQL DELETE.
Le code utilise un objet PG::Connection
avec le constructeur new
pour se connecter à Azure Database pour PostgreSQL. Ensuite, il appelle la méthode exec()
pour exécuter la commande UPDATE. Le code vérifie les erreurs à l’aide de la classe PG::Error
. Ensuite, il appelle la méthode close()
pour fermer la connexion, avant de s’arrêter.
Remplacez les chaînes host
, database
, user
et password
par vos propres valeurs.
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
Nettoyer les ressources
Pour nettoyer toutes les ressources utilisées dans le cadre de ce guide de démarrage rapide, supprimez le groupe de ressources à l’aide de la commande suivante :
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes