إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا البدء السريع، تتعلم كيفية استخدام حزمة تطوير تطوير البرمجيات في Azure Python للتفاعل مع قاعدة بيانات Azure لخادم PostgreSQL المرن.
قاعدة بيانات Azure ل PostgreSQL هي خدمة مدارة لتشغيل قواعد بيانات PostgreSQL عالية التوفر وإدارتها وتوسيع نطاقها في السحابة. يمكنك استخدام حزمة تطوير تطوير الاتجاهات في بايثون لتوفير قاعدة بيانات Azure لنسخة خادم مرنة من PostgreSQL، أو عدة خوادم، أو عدة قواعد بيانات على الخادم.
يمكنك تنفيذ العمليات التالية باستخدام هذه المكتبة:
- إنشاء نسخة من خادم PostgreSQL مرن
- إدارة قواعد البيانات
- تكوين قواعد جدار الحماية
- تنفيذ عمليات التوسع
- النسخ الاحتياطي والاستعادة
يساعدك هذا الدليل على استكشاف الوظائف الأساسية لحزمة SDK هذه، بما في ذلك إنشاء مثيل خادم مرن، ومراجعة الخادم الذي تم إنشاؤه، وإنشاء قاعدة بيانات، وحذف المثيل.
المتطلبات الأساسية
حساب باشتراك نشط
حساب 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 وتخصيص معلمات أخرى مثل حجم التخزين وإصدار المحرك وما إلى ذلك.
إشعار
تحاول فئة 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)
إشعار
تقوم الدالة 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()