التفاعل مع أحداث مخزن البيانات الثنائية الكبيرة
تسمح أحداث مخزن Azure للتطبيقات بالتفاعل مع الأحداث، مثل إنشاء الكائنات الثنائية كبيرة الحجم وحذفها. وهي تفعل ذلك دون الحاجة إلى رمز معقد أو خدمات استقصاء باهظة الثمن وغير فعالة. أفضل ما في الأمر هو أنك تدفع ثمن ما تستخدمه فقط.
يتم دفع أحداث مخزن البيانات الثنائية باستخدام شبكة أحداث Azureللمشتركين، مثل دالات Azure أو تطبيقات Azure المنطقية، أو حتى وحدة استماع http خاصتك. تقوم شبكة الأحداث بتوصيل الأحداث إلى تطبيقاتك على نحو موثوق من خلال سياسات إعادة المحاولة الغنية والحروف غير المستخدمة.
راجع مقالة مخطط أحداث مخزن الكائنات الثنائية كبيرة الحجم لعرض القائمة الكاملة للأحداث التي يدعمها مخزن الكائنات الثنائية كبيرة الحجم.
تتضمن السيناريوهات الشائعة لأحداث مخزن الكائنات الثنائية كبيرة الحجم معالجة الصور أو الفيديو أو فهرسة البحث أو أي سير عمل موجه نحو الملفات. تعد تحميلات الملفات غير المتزامنة مناسبة تماما للأحداث. عندما تكون التغييرات نادرة، ولكن السيناريو الخاص بك يتطلب استجابة فورية، يمكن أن تكون البنية القائمة على الأحداث فعالة على نحو خاص.
إذا كنت تريد تجربة أحداث مخزن الكائنات الثنائية كبيرة الحجم، فراجع أي من مقالات التشغيل السريع التالية:
إذا كنت ترغب في استخدام هذه الأداة: | راجع هذه المقالة: |
---|---|
مدخل Azure | التشغيل السريع: توجيه أحداث مخزن الكائنات الثنائية كبيرة الحجم إلى نقطة نهاية الويب باستخدام مدخل Microsoft Azure |
PowerShell | التشغيل السريع: توجيه أحداث المخزن إلى نقطة نهاية الويب باستخدام PowerShell |
Azure CLI | التشغيل السريع: توجيه أحداث المخزن إلى نقطة نهاية الويب باستخدام Azure CLI |
لعرض أمثلة أكثر تعمقًا للتفاعل مع أحداث مخزن الكائنات الثنائية كبيرة الحجم باستخدام دوال Azure، راجع هذه المقالات:
- البرنامج التعليمي: استخدم أحداث Azure Data Lake Storage لتحديث جدول Databricks Delta.
- برنامج تعليمي: أتمتة تغيير حجم الصور التي تم تحميلها باستخدام شبكة الأحداث
إشعار
التخزين (v1 للأغراض العامة)لا يدعم التكامل مع شبكة الأحداث.
نموذج الحدث
تستخدم شبكة الأحداث اشتراكات الأحداث لتوجيه رسائل الأحداث إلى المشتركين. توضح هذه الصورة العلاقة بين ناشري الأحداث واشتراكات الأحداث ومعالجات الأحداث.
أولًا، اشترك في نقطة نهاية لحدث. وبعدها وعند تشغيل الحدث، ستُرسل خدمة شبكة الأحداث بيانات حول هذا الحدث إلى نقطة النهاية.
راجع مقالة مخطط أحداث الكائنات الثنائية كبيرة الحجم لعرض:
قائمة كاملة بأحداث مخزن الكائنات الثنائية كبيرة الحجم وكيفية تشغيل كل حدث.
مثال على البيانات التي سترسلها شبكة الأحداث لكل من هذه الأحداث.
الغرض من كل زوج قيم المفتاح يظهر في البيانات.
تصفية الأحداث
يمكن تصفية أحداث الكائنات الثنائية كبيرة الحجم حسب نوع الحدث أو اسم الحاوية أو اسم الكائن الذي تم إنشاؤه/حذفه. تتطابق عوامل التصفية في شبكة الأحداث مع بداية الموضوع أو نهايته، لذا تنتقل الأحداث ذات الموضوع المطابق إلى المشترك.
لمعرفة المزيد حول كيفية تطبيق عوامل التصفية، راجع تصفية الأحداث لشبكة الأحداث.
يستخدم موضوع أحداث مخزن الكائنات الثنائية كبيرة الحجم التنسيق:
/blobServices/default/containers/<containername>/blobs/<blobname>
لمطابقة جميع الأحداث الخاصة بحساب تخزين، يمكنك ترك عوامل تصفية الموضوع فارغة.
لمطابقة الأحداث من الكائنات الثنائية كبيرة الحجم التي تم إنشاؤها في مجموعة من الحاويات ولها نفس البادئة، استخدم subjectBeginsWith
عامل تصفية مثل:
/blobServices/default/containers/containerprefix
لمطابقة الأحداث من الكائنات الثنائية كبيرة الحجم التي تم إنشاؤها في حاوية معينة، استخدم subjectBeginsWith
عامل تصفية مثل:
/blobServices/default/containers/containername/
لمطابقة الأحداث من الكائنات الثنائية كبيرة الحجم التي تم إنشاؤها في حاوية معينة ولها نفس بادئة اسم كائن ثنائي كبير الحجم، استخدم subjectBeginsWith
عامل تصفية مثل:
/blobServices/default/containers/containername/blobs/blobprefix
لمطابقة الأحداث من الكائنات الثنائية كبيرة الحجم التي تم إنشاؤها في حاوية معينة ولها نفس لاحقة كائن ثنائي كبير الحجم استخدم subjectEndsWith
عامل تصفية مثل "log" أو ".jpg". لمزيد من المعلومات، راجع مفاهيم شبكة الأحداث.
ممارسات لاستهلاك الأحداث
يجب أن تتبع التطبيقات التي تتعامل مع أحداث مخزن الكائنات الثنائية كبيرة الحجم بعض الممارسات الموصى بها:
نظرا لأنه يمكن تكوين اشتراكات متعددة لتوجيه الأحداث إلى معالج الأحداث نفسه، يجب ألا تفترض أن الأحداث تأتي من مصدر معين، ولكن لا بد من التحقق من موضوع الرسالة للتأكد من أنها صادرة عن حساب التخزين الذي تتوقعه.
وبالمثل، تأكد من أن eventType هو الحدث الذي أنت مستعد لمعالجته، ولا تفترض أن جميع الأحداث التي تتلقاها ستكون من الأنواع التي تتوقعها.
بينما تصل معظم الرسائل في الوقت الفعلي تقريبا، لا توجد اتفاقية على مستوى الخدمة حول الوقت الذي يستغرقه وصول الرسالة. في بعض الحالات، قد يستغرق وصول الرسالة بضع دقائق. نظرا لأن الرسائل يمكن أن تصل متأخرة بعض الشيء، استخدم حقول etag لمعرفة ما إذا كانت معلوماتك حول الكائنات لا تزال محدثة. لمعرفة كيفية استخدام حقل etag، راجع إدارة التزامن في Blob Storage.
نظرا لأن الرسائل يمكن أن تصل دون ترتيب، استخدم حقول التسلسل على أي كائن لمعرفة ترتيب الأحداث. حقل التسلسل هو قيمة سلسلة تمثل التسلسل المنطقي للأحداث لأي اسم كائن ثنائي كبير الحجم. يمكنك استخدام مقارنة سلسلة قياسية لفهم التسلسل النسبي لحدثين على نفس اسم كائن ثنائي كبير الحجم.
تضمن أحداث التخزين التسليم مرة واحدة على الأقل للمشتركين، مما يضمن أنه سيتم إخراج جميع الرسائل. ومع ذلك، قد تظهر رسائل مكررة وذلك بسبب لعمليات إعادة المحاولة بين العقد الخلفية والخدمات أو توفر الاشتراكات. لمعرفة المزيد حول تسليم الرسائل وعمليات إعادة المحاولة، راجع تسليم الرسائل وعمليات إعادة المحاولة لشبكة الأحداث.
استخدم الخاص بالكائن الثنائي كبير الحجم لمعرفة العمليات المسموح بها على الكائن الثنائي كبير الحجم وأنواع مكتبات العميل التي يجب استخدامها للوصول إلى الكائن الثنائي كبير الحجم. القيم الصالحة هي
BlockBlob
أوPageBlob
.استخدم حقل url مع
CloudBlockBlob
وCloudAppendBlob
الدوال الإنشائية للوصول إلى الكائن الثنائي كبير الحجم.تجاهل الحقول التي لا تفهمها. ستساعدك هذه الممارسة في الحفاظ على مرونتك تجاه الميزات الجديدة التي قد تتم إضافتها في المستقبل.
إذا كنت تريد التأكد من أن الحدث Microsoft.Storage.BlobCreatedسيكون مُفعلاً فقط عند تثبيت كتلة كائن ثنائي كبير الحجم تمامًا، قم بتصفية الحدث لاستدعاءات واجهة برمجة تطبيقات REST سواء كان عددها
CopyBlob
أوPutBlob
أوPutBlockList
أوFlushWithClose
. ستؤدي استدعاءات واجهة برمجة التطبيقات هذه إلى تشغيل حدث Microsoft.Storage.BlobCreatedفقط عند تثبيت البيانات تمامًا في كائن ثنائي كبير الحجم للكتلة. لمعرفة كيفية إنشاء عامل تصفية، راجع "تصفية الأحداث لشبكة الأحداث".
دعم الميزة
قد يتأثر دعم هذه الميزة بتمكين Data Lake Storage Gen2 أو بروتوكول نظام ملفات الشبكة (NFS) 3.0 أو بروتوكول نقل ملفات SSH (SFTP). إذا قمت بتمكين أي من هذه الإمكانات، فراجع دعم ميزة Blob Storage في حسابات Azure Storage لتقييم الدعم لهذه الميزة.
الخطوات التالية
تعرف على المزيد حول شبكة الأحداث وجرِب مخزن الكائنات الثنائية كبيرة الحجم: