التقط الأحداث من خلال مراكز الأحداث Azure في تخزين Azure Blob أو تخزين Azure Data Lake

تمكّنك Azure Event Hubs من التقاط البيانات المتدفقة تلقائيًا في Event Hubs في حساب تخزين Azure Blob أو حساب Azure Data Lake Storage Gen 1 أو Gen 2 من اختيارك، مع مرونة إضافية لتحديد فترة زمنية أو حجم. يعد إعداد Capture سريعًا، ولا توجد تكاليف إدارية لتشغيله، ويتم توسيعه تلقائيًا مع وحدات الإنتاجية لمراكز الأحداث في المستوى القياسي أو وحدات المعالجة في المستوى المتميز. تعد Event Hubs Capture أسهل طريقة لتحميل تدفق البيانات إلى Azure، وتمكنك من التركيز على معالجة البيانات بدلاً من التقاط البيانات.

صورة تعرض التقاط بيانات مراكز الأحداث في Azure Storage أو Azure Data Lake Storage

إشعار

تكوين التقاط مراكز الأحداث لاستخدام Azure Data Lake Storage Gen 2 هو نفسه تكوينه لاستخدام تخزين Azure Blob. للحصول على تفاصيل راجع تكوين التقاط مراكز الأحداث.

تمكين التقاط لوحات الوصل الحدث معالجة البنية الأساسية لبرنامج ربط العمليات التجارية في الوقت الحقيقي والدفعية على نفس الدفق. وهذا يعني أنه يمكنك بناء حلول تنمو مع احتياجاتك بمرور الوقت. سواء كنت تقوم ببناء أنظمة قائمة على الدُفعات اليوم مع التركيز على المعالجة في الوقت الفعلي في المستقبل، أو كنت ترغب في إضافة مسار بارد فعال إلى حل قائم في الوقت الفعلي، فإن Event Hubs Capture يجعل العمل مع تدفق البيانات أسهل.

هام

  • يجب أن يكون حساب التخزين الوجهة (Azure Storage أو Azure Data Lake Storage) في نفس الاشتراك مثل مركز الحدث عند عدم استخدام الهوية المدارة للمصادقة.
  • لا تدعم مراكز الحدث التقاط الأحداث في حساب تخزين متميز.
  • يدعم التقاط مراكز الأحداث أي حساب تخزين Azure غير متميز مع دعم الكائنات الثنائية كبيرة الحجم للكتلة.

كيفية عمل التقاط مراكز الأحداث

تعد مراكز الأحداث هي مخزن مؤقت دائم للاحتفاظ بالوقت لتسجيل الدخول القياس عن بعد، مشابهة لسجل موزعة. مفتاح التحجيم في Event Hubs هو نموذج المستهلك المقسم. كل قسم جزء مستقل من البيانات ويتم استهلاكه بشكل مستقل. بمرور الوقت، تتراوح أعمار هذه البيانات، استناداً إلى فترة الاحتفاظ القابلة للتكوين. ونتيجةً لذلك، لا يحصل مركز حدث معين أبداً "ممتلئ جداً."

يمكّنك Event Hubs Capture من تحديد حساب وحاوية تخزين Azure Blob الخاصة بك، أو حساب Azure Data Lake Storage؛ والتي تُستخدم لتخزين البيانات الملتقطة. يمكن أن تكون هذه الحسابات في نفس المنطقة مثل مركز الحدث الخاص بك أو في منطقة أخرى، إضافة إلى مرونة ميزة Event Hubs Capture.

تتم كتابة البيانات الملتقطة بتنسيق Apache Avro: تنسيق مضغوط وسريع وثنائي يوفر هياكل بيانات غنية مع مخطط مضمن. يستخدم هذا التنسيق على نطاق واسع في النظام البيئي Hadoop Stream Analytics، وAzure Data Factory. مزيد من المعلومات حول العمل مع Avro متاح في وقت لاحق في هذه المقالة.

إشعار

يمكنك التقاط البيانات المتدفقة في مراكز الأحداث في حساب Azure Data Lake Storage Gen2 بتنسيق Parquet، عند عدم استخدام محرر التعليمات البرمجية في مدخل Microsoft Azure. لمزيد من المعلومات، راجع كيفية: التقاط البيانات من مراكز الأحداث بتنسيق Parquet والبرنامج التعليمي: التقاط بيانات مراكز الأحداث بتنسيق Parquet وتحليلها باستخدام Azure Synapse Analytics.

التقاط النوافذ

يمكنك Event Hubs Capture من إعداد إطار للتحكم في الالتقاط. هذا الإطار هو تكوين الحد الأدنى من الحجم والوقت مع "نهج الفوز الأول"، وهذا يعني أن المشغل الأول واجه يسبب عملية التقاط. إذا كانت لديك نافذة التقاط مدتها خمسة عشر دقيقة، 100 ميغابايت، وأرسلت 1 ميغابايت في الثانية، فسيتم تشغيل نافذة الحجم قبل نافذة الوقت. يلتقط كل قسم بشكل مستقل ويكتب كتلة كائن ثنائي كبير الحجم مكتملة في وقت التقاط، المسمى للوقت الذي تمت مصادفة الفاصل الزمني التقاط. اصطلاح تسمية التخزين كما يلي:

{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}

قيم التاريخ مبطنة بالأصفار؛ مثال على اسم الملف قد يكون:

https://mystorageaccount.blob.core.windows.net/mycontainer/mynamespace/myeventhub/0/2017/12/08/03/03/17.avro

في حالة عدم توفر كائن تخزين البيانات الثنائية الكبيرة الخاص بـ Azure مؤقتًا؛ ستحتفظ Event Hubs Capture ببياناتك لفترة استبقاء البيانات التي تم تكوينها في مركز الأحداث، وملء البيانات مرة أخرى بمجرد توفر حساب التخزين الخاص بك مرة أخرى.

تحجيم وحدات الإنتاجية أو وحدات المعالجة

في المستوى القياسي لمراكز الأحداث يتم التحكم في نسبة استخدام الشبكة من خلال وحدات الإنتاجية، وفي مراكز الأحداث ذات المستوى المتميز يتم التحكم فيها من خلال وحدات المعالجة. تنسخ Event Hubs Capture البيانات مباشرة من تخزين Event Hubs الداخلي، متجاوزةً وحدة النقل أو حصص خروج وحدة المعالجة، وتحفظ خروجك لقراء المعالجة الآخرين؛ مثل Stream Analytics أو Spark.

بمجرد تكوينها، يتم تشغيل Event Hubs Capture تلقائياً عند إرسال الحدث الأول الخاص بك، ويستمر في التشغيل. لتسهيل عملية المعالجة النهائية لمعرفة أن العملية تعمل؛ تقوم Event Hubs بكتابة الملفات الفارغة عند عدم وجود بيانات. توفر هذه العملية إيقاعاً وعلامة يمكن التنبؤ بها يمكن أن تغذي معالجات الدفعات.

إعداد Event Hubs Capture

يمكنك تكوين Capture في وقت إنشاء مركز الحدث باستخدام مدخل Microsoft Azure، أو باستخدام قوالب Azure Resource Manager. لمزيد من المعلومات، راجع المقالات التالية:

إشعار

إذا قمت بتمكين ميزة "الالتقاط" لمركز حدث حالي فإن الميزة تسجل الأحداث التي تصل إلى مركز الحدث بعد تشغيل الميزة. لا تلتقط الأحداث التي كانت موجودة في مركز الأحداث قبل تشغيل الميزة.

كيف يتم تحصيل رسوم Event Hubs Capture

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

الالتقاط لا يستهلك الحصة النسبية حيث يتم إصدار فاتورة به بشكل منفصل.

التكامل مع شبكة الحدث

يمكنك إنشاء اشتراك Azure Event Grid باستخدام مساحة اسم Event Hubs كمصدر لها. يوضح لك البرنامج التعليمي التالي كيفية إنشاء اشتراك Event Grid مع مركز أحداث كمصدر والتطبيق Azure Functions كمتلقي: معالجة بيانات مراكز الأحداث الملتقطة وترحيلها إلى Azure Synapse Analytics باستخدام Event Grid وAzure Functions.

استكشاف الملفات المسجلة

لمعرفة كيفية استكشاف ملفات Avro المسجلة، راجع استكشاف ملفات Avro المسجلة.

حساب Azure Storage كوجهة

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

Microsoft.Storage/storageAccounts/blobServices/containers/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write

 

بدون إذن أعلاه، سترى الخطأ أدناه:

Generic: Linked access check failed for capture storage destination <StorageAccount Arm Id>.
User or the application with object id <Object Id> making the request doesn't have the required data plane write permissions.
Please enable Microsoft.Storage/storageAccounts/blobServices/containers/write, Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write permission(s) on above resource for the user or the application and retry.
TrackingId:<ID>, SystemTracker:mynamespace.servicebus.windows.net:myhub, Timestamp:<TimeStamp>

Storage Blob Data Owner هو دور مضمن بأذونات أعلاه، لذا أضف حساب المستخدم أو كيان الخدمة إلى هذا الدور.  

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

يعد Event Hubs Capture أسهل طريقة للحصول على البيانات في Azure. باستخدام Azure Data Lake وAzure Data Factory و Azure HDInsight؛ يمكنك إجراء معالجة مجمعة وتحليلات أخرى باستخدام الأدوات والأنظمة الأساسية المألوفة التي تختارها، وبأي مقياس تريده.

تعرف على كيفية تمكين هذه الميزة باستخدام مدخل Microsoft Azure وقالب Azure Resource Manager: