التشغيل السريع: استخدم Ruby للاتصال، والاستعلام عن البيانات في قاعدة بيانات Azure لـ PostgreSQL - خادم واحد
ينطبق على: قاعدة بيانات Azure لـ PostgreSQL - خادم واحد
هام
قاعدة بيانات Azure ل PostgreSQL - خادم واحد على مسار التقاعد. نوصي بشدة بالترقية إلى Azure Database for PostgreSQL - Flexible Server. لمزيد من المعلومات حول الترحيل إلى قاعدة بيانات Azure ل PostgreSQL - خادم مرن، راجع ما يحدث لقاعدة بيانات Azure لخادم PostgreSQL الفردي؟.
هذه البداية السريعة توضح كيفية الاتصال بـ Azure Database for PostgreSQL باستخدام تطبيق Ruby. توضح طريقة استخدام عبارات SQL الاستعلام عن البيانات وإدراجها وتحديثها وحذفها في قاعدة البيانات. تفترض الخطوات الواردة في هذه المقالة أنك على دراية بالتطوير باستخدام Ruby، وأنك حديث العهد بالعمل مع قاعدة بيانات Azure لـ PostgreSQL.
المتطلبات الأساسية
يستخدم هذا البدء السريع الموارد التي تم إنشاؤها في أي من هذه الأدلة كنقطة بداية:
تحتاج أيضًا إلى تثبيت:
الحصول على معلومات الاتصال
الحصول على معلومات الاتصال المطلوبة للاتصال بقاعدة بيانات Azure لـ PostgreSQL. أنت بحاجة إلى اسم الخادم المؤهل بالكامل وبيانات اعتماد تسجيل الدخول.
- سجّل الدخول إلى مدخل Azure.
- من القائمة اليسرى في مدخل Azure، انقر فوق كافة الموارد،ثم ابحث عن الخادم الذي أنشأته (مثل mydemoserver).
- حدد اسم الخادم.
- من لوحة نظرة عامة على الخادم، دوّن ملاحظة عن اسم الخادم واسم تسجيل دخول مسؤول الخادم. إذا نسيت كلمة المرور، يمكنك أيضًا إعادة تعيين كلمة المرور من هذه اللوحة.
إشعار
@
تم ترميز الرمز في اسم المستخدم Azure Postgres كما هو الحال في جميع سلاسل %40
الاتصال.
توصيل جدول وإنشائه
استخدم التعليمات البرمجية التالية لتوصيل وإنشاء جدول باستخدام عبارة CREATE TABLE SQL، متبوعة بعبارات INSERT INTO SQL لإضافة صفوف إلى الجدول.
يستخدم التعليمات البرمجية PG::Connection
كائن مع منشئ للاتصالnew
بقاعدة بيانات Azure ل PostgreSQL. ثم تستدعي الأسلوب exec()
لتشغيل أوامر DROP وCREATE TABLE وINSERT INTO. التعليمات البرمجية بفحص وجود أخطاء باستخدام PG::Error
الفئة. ثم تستدعي طريقة close()
لإغلاق الاتصال قبل الإنهاء. راجع الوثائق المرجعية لـ Ruby Pgللحصول على مزيد من المعلومات حول هذه الفئات والطرق.
استبدل السلاسل host
وdatabase
وuser
وpassword
بالقيم الخاصة بك.
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
اقرأ البيانات
استخدم التعليمات البرمجية التالية للاتصال وقراءة البيانات باستخدام حدد عبارة SQL.
يستخدم التعليمات البرمجية PG::Connection
كائن مع منشئ للاتصالnew
بقاعدة بيانات Azure ل PostgreSQL. ثم يستدعي الأسلوب exec()
لتشغيل الأمر SELECT، مع الاحتفاظ بالنتائج في مجموعة نتائج. يتم تكرار مجموعة النتائج باستخدام resultSet.each do
الحلقة، مع الاحتفاظ بقيم الصف الحالية في row
المتغير. التعليمات البرمجية بفحص وجود أخطاء باستخدام PG::Error
الفئة. ثم تستدعي طريقة close()
لإغلاق الاتصال قبل الإنهاء. راجع الوثائق المرجعية لـ Ruby Pgللحصول على مزيد من المعلومات حول هذه الفئات والطرق.
استبدل السلاسل host
وdatabase
وuser
وpassword
بالقيم الخاصة بك.
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
تحديث البيانات
استخدم التعليمات البرمجية التالية للاتصال وتحديث البيانات باستخدام عبارة SQL UPDATE.
يستخدم التعليمات البرمجية PG::Connection
كائن مع منشئ للاتصالnew
بقاعدة بيانات Azure ل PostgreSQL. ثم يستدعي الأسلوب exec()
لتشغيل الأمر تحديث. التعليمات البرمجية بفحص وجود أخطاء باستخدام PG::Error
الفئة. ثم تستدعي طريقة close()
لإغلاق الاتصال قبل الإنهاء. راجع الوثائق المرجعية لـ Ruby Pgللحصول على مزيد من المعلومات حول هذه الفئات والطرق.
استبدل السلاسل host
وdatabase
وuser
وpassword
بالقيم الخاصة بك.
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
حذف البيانات
استخدم التعليمات البرمجية التالية للاتصال وقراءة البيانات باستخدام عبارة DELETE SQL.
يستخدم التعليمات البرمجية PG::Connection
كائن مع منشئ للاتصالnew
بقاعدة بيانات Azure ل PostgreSQL. ثم يستدعي الأسلوب exec()
لتشغيل الأمر تحديث. التعليمات البرمجية بفحص وجود أخطاء باستخدام PG::Error
الفئة. ثم تستدعي طريقة close()
لإغلاق الاتصال قبل الإنهاء.
استبدل السلاسل host
وdatabase
وuser
وpassword
بالقيم الخاصة بك.
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
تنظيف الموارد
لتنظيف جميع الموارد المستخدمة في أثناء هذا التشغيل السريع حذف مجموعة الموارد باستخدام الأمر التالي:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes