بدء استخدام Azure Blob Storage وPython

توضح هذه المقالة كيفية الاتصال ب Azure Blob Storage باستخدام مكتبة عميل Azure Blob Storage ل Python. بمجرد الاتصال، تستطيع التعليمة البرمجية الخاصة بك العمل على الحاويات وميزات خدمة الكائنات الثنائية كبيرة الحجم.

حزمة مرجع | واجهة برمجة التطبيقات (PyPi) | التعليمات | البرمجية | المصدر للمكتبة عينات تقدم ملاحظات

المتطلبات الأساسية

إعداد مشروعك

يرشدك هذا القسم خلال إعداد مشروع للعمل مع مكتبة عميل Azure Blob Storage ل Python.

من دليل المشروع الخاص بك، قم بتثبيت حزم Azure Blob Storage ومكتبات عميل Azure Identity باستخدام pip install الأمر . حزمة azure-identity مطلوبة للاتصالات بدون كلمة مرور بخدمات Azure.

pip install azure-storage-blob azure-identity

ثم افتح ملف التعليمات البرمجية وأضف عبارات الاستيراد الضرورية. في هذا المثال، نضيف ما يلي إلى ملف .py :

from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

معلومات مكتبة عميل Blob:

  • azure.storage.blob: يحتوي على الفئات الأساسية (كائنات العميل) التي يمكنك استخدامها للعمل على الخدمة والحاويات والكائنات الثنائية كبيرة الحجم.

برمجة غير متزامنة

تدعم مكتبة عميل Azure Blob Storage ل Python واجهات برمجة التطبيقات المتزامنة وغير المتزامنة. تستند واجهات برمجة التطبيقات غير المتزامنة إلى مكتبة Asyncio الخاصة ب Python.

اتبع هذه الخطوات لاستخدام واجهات برمجة التطبيقات غير المتزامنة في مشروعك:

  • تثبيت نقل غير متزامن، مثل aiohttp. يمكنك التثبيت aiohttp مع azure-storage-blob باستخدام أمر تثبيت تبعية اختياري. في هذا المثال، نستخدم الأمر التالي pip install :

    pip install azure-storage-blob[aio]
    
  • افتح ملف التعليمات البرمجية وأضف عبارات الاستيراد الضرورية. في هذا المثال، نضيف ما يلي إلى ملف .py :

    import asyncio
    
    from azure.identity.aio import DefaultAzureCredential
    from azure.storage.blob.aio import BlobServiceClient, BlobClient, ContainerClient
    

    العبارة import asyncio مطلوبة فقط إذا كنت تستخدم المكتبة في التعليمات البرمجية الخاصة بك. تمت إضافته هنا للوضوح، حيث تستخدم الأمثلة في مقالات دليل المطور المكتبة asyncio .

  • إنشاء كائن عميل باستخدام async with لبدء العمل مع موارد البيانات. يحتاج عميل المستوى الأعلى فقط إلى استخدام async with، حيث يشارك العملاء الآخرون الذين تم إنشاؤهم منه نفس تجمع الاتصال. في هذا المثال، نقوم بإنشاء كائن BlobServiceClient باستخدام async with، ثم إنشاء كائن ContainerClient :

    async with BlobServiceClient(account_url, credential=credential) as blob_service_client:
        container_client = blob_service_client.get_container_client(container="sample-container")
    

    لمعرفة المزيد، راجع الأمثلة غير المتزامنة في تخويل الوصول والاتصال ب Blob Storage.

معلومات مكتبة عميل Blob غير المتزامنة:

  • azure.storage.blob.aio: يحتوي على الفئات الأساسية التي يمكنك استخدامها للعمل على الخدمة والحاويات والكائنات الثنائية كبيرة الحجم بشكل غير متزامن.

تخويل الوصول والاتصال ب Blob Storage

لتوصيل تطبيق ب Blob Storage، قم بإنشاء مثيل لفئة BlobServiceClient . هذا الكائن هو نقطة البداية للتفاعل مع موارد البيانات على مستوى حساب التخزين. يمكنك استخدامه للعمل على حساب التخزين وحاوياته. يمكنك أيضا استخدام عميل الخدمة لإنشاء عملاء حاوية أو عملاء كائن ثنائي كبير الحجم، اعتمادا على المورد الذي تحتاج إلى العمل معه.

لمعرفة المزيد حول إنشاء كائنات العميل وإدارتها، بما في ذلك أفضل الممارسات، راجع إنشاء كائنات العميل التي تتفاعل مع موارد البيانات وإدارتها.

يمكنك تخويل كائن BlobServiceClient باستخدام رمز تخويل Microsoft Entra المميز أو مفتاح الوصول إلى الحساب أو توقيع وصول مشترك (SAS).

للتخويل باستخدام معرف Microsoft Entra، تحتاج إلى استخدام أساس أمان. يعتمد نوع مدير الأمان الذي تحتاج إليه على مكان تشغيل التطبيق. استخدم الجدول التالي كدليل:

مكان تشغيل التطبيق أساس الأمان الإرشادات‬
جهاز محلي (تطوير واختبار) كيان الخدمة لمعرفة كيفية تسجيل التطبيق وإعداد مجموعة Microsoft Entra وتعيين الأدوار وتكوين متغيرات البيئة، راجع تخويل الوصول باستخدام أساسيات خدمة المطور
جهاز محلي (تطوير واختبار) هوية المستخدم لمعرفة كيفية إعداد مجموعة Microsoft Entra وتعيين الأدوار وتسجيل الدخول إلى Azure، راجع تخويل الوصول باستخدام بيانات اعتماد المطور
مستضاف في Azure الهوية المُدارة لمعرفة كيفية تمكين الهوية المدارة وتعيين الأدوار، راجع تخويل الوصول من التطبيقات المستضافة من Azure باستخدام هوية مدارة
مستضاف خارج Azure (على سبيل المثال، التطبيقات المحلية) كيان الخدمة لمعرفة كيفية تسجيل التطبيق وتعيين الأدوار وتكوين متغيرات البيئة، راجع تخويل الوصول من التطبيقات المحلية باستخدام كيان خدمة التطبيق

تخويل الوصول باستخدام DefaultAzureCredential

طريقة سهلة وآمنة لتخويل الوصول والاتصال ب Blob Storage هي الحصول على رمز OAuth المميز عن طريق إنشاء مثيل DefaultAzureCredential . يمكنك بعد ذلك استخدام بيانات الاعتماد هذه لإنشاء كائن BlobServiceClient .

ينشئ المثال التالي كائنا BlobServiceClient باستخدام DefaultAzureCredential:

def get_blob_service_client_token_credential(self):
    # TODO: Replace <storage-account-name> with your actual storage account name
    account_url = "https://<storage-account-name>.blob.core.windows.net"
    credential = DefaultAzureCredential()

    # Create the BlobServiceClient object
    blob_service_client = BlobServiceClient(account_url, credential=credential)

    return blob_service_client

إذا كان مشروعك يستخدم واجهات برمجة التطبيقات غير المتزامنة، قم بإنشاء BlobServiceClient مثيل باستخدام async with:

# TODO: Replace <storage-account-name> with your actual storage account name
account_url = "https://<storage-account-name>.blob.core.windows.net"
credential = DefaultAzureCredential()

async with BlobServiceClient(account_url, credential=credential) as blob_service_client:
    # Work with data resources in the storage account

إنشاء التطبيق الخاص بك

أثناء إنشاء تطبيقات للعمل مع موارد البيانات في Azure Blob Storage، تتفاعل التعليمات البرمجية الخاصة بك بشكل أساسي مع ثلاثة أنواع من الموارد: حسابات التخزين والحاويات والكائنات الثنائية كبيرة الحجم. لمعرفة المزيد حول أنواع الموارد هذه، وكيفية ارتباطها ببعضها البعض، وكيفية تفاعل التطبيقات مع الموارد، راجع فهم كيفية تفاعل التطبيقات مع موارد بيانات Blob Storage.

توضح لك الدلائل التالية كيفية العمل مع موارد البيانات وتنفيذ إجراءات محددة باستخدام مكتبة عميل Azure Storage ل Python:

الدليل: ‏‏الوصف
إنشاء حاوية إنشاء حاويات.
حذف الحاويات واستعادتها احذف الحاويات، وإذا تم تمكين الحذف المبدئي، فقم باستعادة الحاويات المحذوفة.
قوائم الحاويات سرد الحاويات في الحساب وكذلك الخيارات المختلفة المتاحة لتخصيص قائمة.
إدارة الخصائص وبيانات التعريف (الحاويات) احصل على الخصائص وبيانات تعريف الحاويات وقم بتعيينها.
إنشاء عقود إيجار الحاوية وإدارتها إنشاء تأمين على حاوية وإدارته.
إنشاء إيجارات الكائن الثنائي كبير الحجم وإدارتها إنشاء تأمين على كائن ثنائي كبير الحجم وإدارته.
تحميل الكائنات الثنائية كبيرة الحجم تعرف على كيفية تحميل الكائنات الثنائية الكبيرة باستخدام السلاسل ودفق البيانات ومسارات الملفات والطرق الأخرى.
تنزيل كائنات تخزين البيانات الثنائية الكبيرة قم بتنزيل الكائنات الثنائية الكبيرة باستخدام السلاسل وتدفق البيانات ومسارات الملفات.
نسخ الكائنات الثنائية كبيرة الحجم انسخ كائن ثنائي كبير الحجم من موقع إلى آخر.
سرد الكيانات الثنائية كبيرة الحجم سرد الكائنات الثنائية الكبيرة بطرق مختلفة.
الحذف والاستعادة احذف الكائنات الثنائية الكبيرة، وإذا تم تمكين الحذف المبدئي، فقم باستعادة الكائنات المحذوفة.
البحث عن الكائنات الثنائية كبيرة الحجم باستخدام العلامات قم بتعيين العلامات واستردادها، واستخدم العلامات للعثور على الكائنات الثنائية كبيرة الحجم.
إدارة الخصائص وبيانات التعريف (الكائنات الثنائية كبيرة الحجم) احصل على الخصائص وبيانات التعريف وقم بتعيينها للكائنات الثنائية كبيرة الحجم.
تعيين مستوى الوصول إلى كائن ثنائي كبير الحجم أو تغييره تعيين أو تغيير طبقة الوصول لكتلة كائن ثنائي كبير الحجم.