إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا التشغيل السريع، ستتعلم كيفية استخدام Azure Python SDK للتفاعل مع قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL.
قاعدة بيانات Azure ل PostgreSQL هي خدمة مدارة لتشغيل قواعد بيانات PostgreSQL عالية التوفر وإدارتها وتوسيع نطاقها في السحابة. يمكنك استخدام Python SDK لتوفير قاعدة بيانات Azure لمثيل خادم مرن PostgreSQL أو خوادم متعددة أو قواعد بيانات متعددة على خادم.
يمكنك تنفيذ العمليات التالية باستخدام هذه المكتبة:
- إنشاء مثيل خادم PostgreSQL مرن
- إدارة قواعد البيانات
- تكوين قواعد جدار الحماية
- عمليات التحجيم
- النسخ الاحتياطي والاستعادة
يساعدك هذا الدليل على استكشاف الوظائف الأساسية لحزمة SDK هذه، بما في ذلك إنشاء مثيل خادم مرن، ومراجعة الخادم الذي تم إنشاؤه، وإنشاء قاعدة بيانات، وحذف المثيل.
Prerequisites
حساب باشتراك نشط
حساب Azure باشتراك نشط قم بإنشاء حساب مجانا.
تثبيت المكتبات
قم بتثبيت مكتبات Azure Python التالية.
pip install azure-mgmt-resource
pip install azure-identity
pip install azure-mgmt-postgresqlflexibleservers
قم بتشغيل أمر تسجيل الدخول
قم بتسجيل الدخول إلى حسابك باستخدام azurecli مصادقة حسابك.
az login
بمجرد تنفيذ هذا الأمر، حدد حسابا صالحا لتسجيل الدخول ثم حدد لاحقا معرف الاشتراك من القائمة لتسجيل الدخول.
إنشاء الخادم
قم بإنشاء create_postgres_flexible_server.py ملف وقم بتضمين التعليمات البرمجية التالية.
from azure.identity import DefaultAzureCredential
from azure.mgmt.postgresqlflexibleservers import PostgreSQLManagementClient
def main():
client = PostgreSQLManagementClient(
credential=DefaultAzureCredential(),
subscription_id="<subscription-id>",
)
response = client.servers.begin_create(
resource_group_name="<resource-group-name>",
server_name="<server-name>",
parameters={
"location": "<region>",
"properties": {
"administratorLogin": "<admin-username>",
"administratorLoginPassword": "<password>",
"availabilityZone": "1",
"backup": {"backupRetentionDays": 7, "geoRedundantBackup": "Disabled"},
"createMode": "Create",
"highAvailability": {"mode": "ZoneRedundant"},
"network": {
"delegatedSubnetResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>",
"privateDnsZoneArmResourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Network/privateDnsZones/<private-DNS-zone-name>.postgres.database.azure.com",
},
"version": "<pg-version>",
},
"sku": {"name": "<sku-name>", "tier": "<tier-type>"},
"tags": {"ElasticServer": "1"},
},
).result()
print(response)
if __name__ == "__main__":
main()
استبدل المعلمات التالية ببياناتك:
- subscription-id: معرف الاشتراك الخاص بك.
- مجموعة الموارد: قم بتسمية مجموعة الموارد التي تريد استخدامها. إذا لم يكن موجودا ، فسيقوم البرنامج النصي بإنشاء نص جديد.
-
server-name: اسم فريد يحدد قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL. يتم إلحاق اسم
postgres.database.azure.comالمجال باسم الخادم الذي قدمته. يجب أن يتكون اسم الخادم من ثلاثة أحرف على الأقل و 63 حرفا على الأكثر ويمكن أن يحتوي فقط على أحرف صغيرة وأرقام وواصلات. -
الموقع: منطقة Azure حيث تريد إنشاء قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL. يحدد الموقع الجغرافي حيث يوجد الخادم الخاص بك وبياناته. اختر منطقة قريبة من المستخدمين لتقليل زمن الوصول. يجب تحديد الموقع بتنسيق الأسماء المختصرة لمنطقة Azure، مثل
westus2،eastusأوnortheurope. - admin-username: اسم مستخدم المسؤول الأساسي للخادم. بعد إنشاء الخادم، يمكنك إنشاء مستخدمين إضافيين.
- كلمة المرور: كلمة مرور للمسؤول الأساسي للخادم. يجب أن يحتوي على ما بين 8 و 128 حرفا. يجب أن تحتوي كلمة المرور الخاصة بك على أحرف من ثلاث فئات: الأحرف الإنجليزية الكبيرة والأحرف الإنجليزية الصغيرة والأرقام (من 0 إلى 9) والأحرف غير الأبجدية الرقمية (!، $، #، %، إلخ).
يمكنك أيضا إضافة قيم لمعلمات أخرى مثل vnet-name و subnet-name و private-DNS-zone وتخصيص معلمات أخرى مثل حجم التخزين وإصدار المحرك وما إلى ذلك.
Note
تحاول فئة DefaultAzureCredential المصادقة باستخدام طرق مختلفة، مثل متغيرات البيئة أو الهويات المدارة أو Azure CLI.
تأكد من إعداد إحدى هذه الطرق. يمكنك العثور على مزيد من المعلومات حول المصادقة في وثائق Azure SDK.
يؤدي تشغيل هذه التعليمات البرمجية إلى بدء عملية إنشاء المثيل، والتي قد تستغرق بضع دقائق حتى تكتمل.
مراجعة الموارد المنشورة
يمكنك استخدام Python SDK ومدخل Microsoft Azure وAzure CLI وAzure PowerShell والعديد من الأدوات الأخرى للتحقق من صحة التوزيع ومراجعة الموارد الموزعة. وترد أدناه بعض الأمثلة.
التحقق من صحة النشر باستخدام Python SDK
أضف الدالة check_server_created إلى البرنامج النصي الحالي لاستخدام سمة الخوادم لمثيل PostgreSQLManagementClient للتحقق مما إذا كان قد تم إنشاء مثيل الخادم المرن لقاعدة بيانات Azure ل PostgreSQL:
def check_server_created(subscription_id, resource_group, server_name):
# Authenticate with your Azure account
credential = DefaultAzureCredential()
# Create PostgreSQL management client
postgres_client = PostgreSQLManagementClient(credential, subscription_id)
try:
server = postgres_client.servers.get(resource_group, server_name)
if server:
print(f"Server '{server_name}' exists in resource group '{resource_group}'.")
print(f"Server state: {server.state}")
else:
print(f"Server '{server_name}' not found in resource group '{resource_group}'.")
except Exception as e:
print(f"Error occurred: {e}")
print(f"Server '{server_name}' not found in resource group '{resource_group}'.")
أطلق عليها المعلمات المناسبة.
check_server_created(subscription_id, resource_group, server_name)
Note
تقوم الدالة check_server_created بإرجاع حالة الخادم بمجرد توفير الخادم. ومع ذلك ، قد يستغرق الخادم بضع دقائق حتى يصبح متاحا بالكامل. تأكد من الانتظار حتى يصبح الخادم جاهزا قبل الاتصال به. سيعيد الحالة والمعرف والاسم والموقع والمعلمات الأخرى استجابة لأسلوب postgres_client.servers.get.
إنشاء قاعدة بيانات باستخدام Python
قم بإنشاء قاعدة بيانات في مثيل الخادم المرن باستخدام نموذج التعليمات البرمجية هذا
from azure.identity import DefaultAzureCredential
from azure.mgmt.postgresqlflexibleservers import PostgreSQLManagementClient
def main():
client = PostgreSQLManagementClient(
credential=DefaultAzureCredential(),
subscription_id=<subscription-id>,
)
# Create database
response = client.databases.begin_create(
resource_group_name="<resource-group-name>",
server_name="<server-name>",
database_name="<database-name>",
parameters={"properties": {"charset": "utf8", "collation": "en_US.utf8"}},
).result()
print(response)
if __name__ == "__main__":
main()
استبدل المعلمات التالية ببياناتك
- subscription-id: معرف الاشتراك الخاص بك.
- resource-group-name: قم بتسمية مجموعة الموارد التي تريد استخدامها. يقوم البرنامج النصي بإنشاء مجموعة موارد جديدة إذا لم تكن موجودة.
- sever-name: اسم مثيل الخادم المرن لقاعدة بيانات Azure الذي قمت بإنشائه من قبل
- database-name: اسم قاعدة البيانات التي تريد إنشاؤها.
تنظيف الموارد
إذا لم تعد بحاجة إلى مثيل الخادم المرن لقاعدة بيانات Azure ل PostgreSQL، فيمكنك حذفه ومجموعة الموارد المقترنة باستخدام المدخل أو Python SDK أو Azure CLI.
استخدم Python SDK لحذف المثيل
قم بإنشاء ملف "delete_server.py" لحذف مثيل Azure Databases for PostgreSQL Server الذي تم إنشاؤه.
from azure.identity import DefaultAzureCredential
from azure.mgmt.postgresqlflexibleservers import PostgreSQLManagementClient
def main():
client = PostgreSQLManagementClient(
credential=DefaultAzureCredential(),
subscription_id=<subscription-id>,)
client.servers.begin_delete(
resource_group_name=<rg-name>,
server_name=<server-name>,
).result()
if __name__ == "__main__":
main()