اقرأ باللغة الإنجليزية

مشاركة عبر


فهم كيفية تفاعل التطبيقات مع موارد بيانات Blob Storage

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

أنواع موارد Blob Storage

تسمح لك مكتبات عميل Azure Blob Storage بالتفاعل مع ثلاثة أنواع من الموارد في خدمة التخزين:

يوضح الرسم التخطيطي التالي العلاقة بين هذه الموارد:

رسم تخطيطي #B0 #A1 يوضح العلاقة بين حساب تخزين وحاويات والكائنات الثنائية كبيرة الحجم #A2 #C3

حسابات التخزين⁧

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

على سبيل المثال، إذا تمت تسمية حساب التخزين الخاص بك #B0 sampleaccount #A1 ، فإن نقطة النهاية الافتراضية ل Blob Storage هي:

https://sampleaccount.blob.core.windows.net

لمعرفة المزيد حول أنواع حسابات التخزين، راجع #B0 نظرة عامة على حساب تخزين Azure #A1 .

الحاويات

تنظم الحاوية مجموعة من النقط، على غرار دليل في نظام الملفات. يمكن أن يتضمن حساب التخزين عدداً غير محدود من الحاويات، ويمكن للحاوية تخزين عدد غير محدود من النقاط.

URI للحاوية مشابه لما يلي:

https://sampleaccount.blob.core.windows.net/sample-container

لمزيد من المعلومات حول تسمية الحاويات، راجع #B0 التسمية والرجوع إلى الحاويات والكائنات الثنائية كبيرة الحجم وبيانات التعريف #A1 .

الكائنات الثنائية كبيرة الحجم

يدعم Azure Storage ثلاثة أنواع من الكائنات الثنائية كبيرة الحجم:

  • تخزين Block blobs النص والبيانات الثنائية. تتكون الكتل الكبيرة من كتل من البيانات يمكن إدارتها بشكل فردي. يمكن للكتل تخزين ما يصل إلى حوالي 190.7 تيرابايت.
  • تتكون الكائنات الثنائية كبيرة الحجم للإلحاق من كتل مثل الكائنات الثنائية كبيرة الحجم للكتلة، ولكنها محسنة لعمليات الإلحاق. تعد الكائنات الثنائية كبيرة الحجم للإلحاق مثالية لسيناريوهات مثل تسجيل البيانات من الأجهزة الظاهرية.
  • #B0 تخزين الكائنات الثنائية كبيرة الحجم للصفحة #C1 ملفات وصول عشوائي يصل حجمها إلى 8 تيرابايت. لمزيد من المعلومات حول الكائنات الثنائية كبيرة الحجم للصفحة، راجع #B0 نظرة عامة على الكائنات الثنائية كبيرة الحجم لصفحة Azure #C1

لمزيد من المعلومات حول الأنواع المختلفة من الكائنات الثنائية كبيرة الحجم، راجع #B0 فهم الكائنات الثنائية كبيرة الحجم للكتلة وإلحاق الكائنات الثنائية كبيرة الحجم وPage Blobs #A1 .

URI للكائن الثنائي كبير الحجم مشابه لما يلي:

https://sampleaccount.blob.core.windows.net/sample-container/sample-blob

لمزيد من المعلومات حول تسمية الكائنات الثنائية كبيرة الحجم، راجع #B0 التسمية والإشارة إلى الحاويات والكائنات الثنائية كبيرة الحجم وبيانات التعريف #A1 .

العمل مع موارد البيانات باستخدام Azure SDK

تحتوي حزم Azure SDK على مكتبات تعتمد على واجهة برمجة تطبيقات AZURE REST، ما يسمح لك بالتفاعل مع عمليات REST API من خلال نماذج لغة البرمجة المألوفة. تم تصميم SDKs لتبسيط التفاعلات بين تطبيقك وموارد Azure.

في سيناريوهات نادرة، يمكن للتطبيقات التي تمت ترقيتها إلى أحدث إصدار تجريبي أو متوفر بشكل عام من SDK تلقي رسالة خطأ InvalidHeaderValue. يمكن أن تحدث هذه المشكلة عند استخدام أي من مكتبات التخزين. تبدو رسالة الخطأ مشابهة للعينة التالية:

HTTP/1.1 400 The value for one of the HTTP headers is not in the correct format.
Content-Length: 328
Content-Type: application/xml
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <REMOVED>
Date: Fri, 19 May 2023 17:10:33 GMT
 
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers is not in the correct format.
RequestId:<REMOVED>
Time:2023-05-19T17:10:34.2972651Z
</Message>
<HeaderName>x-ms-version</HeaderName><HeaderValue>yyyy-mm-dd</HeaderValue>
</Error>

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

يمكنك عرض التفاصيل الخاصة ب SDK في المواقع التالية:

إذا استمرت المشكلة، أو إذا لم تكن التوصية ممكنة، افتح تذكرة دعم لاستكشاف المزيد من الخيارات.

في مكتبات عميل Azure Blob Storage، يتم تمثيل كل نوع مورد بفئات مقترنة واحدة أو أكثر. توفر هذه الفئات عمليات للعمل مع مورد Azure Storage.

يسرد الجدول التالي الفئات الأساسية، بالإضافة إلى وصف مختصر:

الفصل الوصف
BlobServiceClient يمثل حساب التخزين، ويوفر عمليات لاسترداد خصائص الحساب وتكوينها، والعمل مع حاويات الكائن الثنائي كبير الحجم في حساب التخزين.
BlobContainerClient يمثل حاوية كائن ثنائي كبير الحجم معينة، ويوفر عمليات للعمل مع الحاوية والكائنات الثنائية كبيرة الحجم داخل.
عميل الكائن الثنائي كبير الحجم يمثل كائنا ثنائيا معينا، ويوفر عمليات عامة للعمل مع الكائن الثنائي كبير الحجم، بما في ذلك عمليات تحميل اللقطات وتنزيلها وحذفها وإنشاءها.
AppendBlobClient يمثل الكائن الثنائي كبير الحجم للإلحاق، ويوفر عمليات خاصة بإلحاق الكائنات الثنائية كبيرة الحجم، مثل إلحاق بيانات السجل.
BlockBlobClient يمثل كائن ثنائي كبير الحجم للكتلة، ويوفر عمليات خاصة بحظر الكائنات الثنائية كبيرة الحجم، مثل التقسيم المرحلي ثم تثبيت كتل البيانات.

تحتوي الحزم التالية على الفئات المستخدمة للعمل مع موارد بيانات Blob Storage:

  • Azure.Storage.Blobs: يحتوي على الفئات الأساسية (كائنات العميل) التي يمكنك استخدامها للعمل على الخدمة والحاويات والكائنات الثنائية كبيرة الحجم.
  • Azure.Storage.Blobs.Specialized: يحتوي على فئات يمكنك استخدامها لتنفيذ عمليات خاصة بنوع كائن ثنائي كبير الحجم، مثل الكائنات الثنائية كبيرة الحجم للكتلة.
  • Azure.Storage.Blobs.Models: جميع فئات الأدوات المساعدة والهياكل وأنواع التعداد الأخرى.

الخطوات التالية

يبدأ العمل مع موارد Azure باستخدام SDK بإنشاء مثيل عميل. لمعرفة المزيد حول إنشاء كائن العميل وإدارته، راجع #B0 إنشاء كائنات العميل التي تتفاعل مع موارد البيانات وإدارتها #A1 .