إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
Azure Event Grid هي خدمة أحداث للسحابة. في هذه المقالة، يمكنك استخدام Azure PowerShell للاشتراك في أحداث تخزين Blob، وتشغيل حدث، وعرض النتيجة.
وعادةً، ما ترسل الأحداث إلى نقطة نهاية تعالج بيانات الحدث وتتخذ الإجراءات. ومع ذلك، لتبسيط هذه المقالة، يمكنك إرسال الأحداث إلى تطبيق ويب يقوم بتجميع الرسائل وعرضها.
عند الانتهاء، ترى أن بيانات الحدث قد أُرسِلت إلى تطبيق الويب.

الإعداد
إشعار
نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.
تتطلب هذه المقالة تشغيل الإصدار الأخير من Azure PowerShell. إذا كنت بحاجة إلى التثبيت أو الترقية، يمكنك الاطلاع علىتثبيت وتهيئة Azure PowerShell.
تسجيل الدخول إلى Azure
سجل الدخول إلى اشتراكك في Azure باستخدام الأمر Connect-AzAccount واتبع الإرشادات التي تظهر على الشاشة للتوثيق.
Connect-AzAccount
يستخدم هذا المثال westus2 ويخزن التحديد في متغير للاستخدام في جميع المراحل.
$location = "westus2"
إنشاء مجموعة موارد
مواضيع شبكة الأحداث هي موارد Azure، ويجب وضعها في مجموعة موارد Azure. مجموعة الموارد هي عبارة عن مجموعة منطقية يتم فيها توزيع جميع موارد Azure وإدارتها.
قم بإنشاء مجموعة موارد باستخدام أمرNew-AzResourceGroup.
ينشئ المثال التالي مجموعة موارد باسم gridResourceGroup في موقع westus2.
$resourceGroup = "gridResourceGroup"
New-AzResourceGroup -Name $resourceGroup -Location $location
إنشاء حساب تخزين
تتوفر أحداث تخزين Blob في حسابات تخزين الإصدار 2 للأغراض العامة وحسابات تخزين Blob. الإصدار v2 للأغراض العامة من حسابات التخزين تدعم جميع الميزات لجميع خدمات التخزين، بما في ذلك كائنات Blob والملفات وقوائم الانتظار والجداول. حساب تخزين Blob هو حساب تخزين متخصص لتخزين بياناتك غير المنظمة، مثل الكائنات الثنائية كبيرة الحجم (blob) في Azure Storage. تشبه حسابات تخزين Blob حسابات التخزين ذات الأغراض العامة، وتشارك كل ميزات القدرة على الصمود والتوفر وقابلية التوسع والأداء الرائعة التي تستخدمها اليوم، بما في ذلك اتساق واجهة برمجة التطبيقات بنسبة 100% لمنع الكائنات الثنائية كبيرة الحجم وإرفاقها. لمزيد من المعلومات، راجع نظرة عامة على حساب تخزين Azure.
أنشئ حساب تخزين Blob باستخدام النسخ المتماثل لـ LRS باستخدام New-AzStorageAccount، ثم استرجع سياق حساب التخزين الذي يحدد حساب التخزين المطلوب استخدامه. عند العمل على حساب تخزين، فإنك تشير إلى السياق بدلاً من تقديم بيانات الاعتماد بشكل متكرر. ينشئ هذا المثال حساب تخزين يسمى gridstorage مع التخزين الزائد محليا (LRS).
إشعار
توجد أسماء حسابات التخزين في مساحة اسم عمومية، لذا تحتاج إلى إلحاق بعض الأحرف العشوائية بالاسم المقدم في هذا البرنامج النصي.
$storageName = "gridstorage"
$storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
-Name $storageName `
-Location $location `
-SkuName Standard_LRS `
-Kind BlobStorage `
-AccessTier Hot `
-AllowBlobPublicAccess $false
$ctx = $storageAccount.Context
قم بإنشاء نقطة نهاية للرسالة
قبل الاشتراك في الموضوع، دعنا ننشئ نقطة نهاية لرسالة الحدث. عادةً ما تتخذ نقطة النهاية إجراءات بناءً على بيانات الحدث. لتبسيط هذا التشغيل السريع، يمكنك نشر تطبيق ويب تم إنشاؤه مسبقا يعرض رسائل الحدث. يتضمن الحل المنشور خطة خدمة التطبيقات، وتطبيق الويب الخاص بخدمة التطبيقات، وكود المصدر من GitHub.
استبدل <your-site-name> باسم فريد من أجل تطبيق الويب الخاص بك. يجب أن يكون اسم تطبيق الويب فريدًا؛ لأنه جزء من إدخال DNS.
$sitename="<your-site-name>"
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroup `
-TemplateUri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" `
-siteName $sitename `
-hostingPlanName viewerhost
قد يستغرق النشر بضع دقائق حتى يكتمل. بعد نجاح عملية النشر، اطّلع على تطبيق الويب الخاص بك؛ للتأكد من أنه يعمل. في مستعرض ويب، انتقل إلى: https://<your-site-name>.azurewebsites.net
يجب أن تشاهد الموقع الذي لا توجد به رسائل معروضة حاليا.
تمكين موفر موارد Event Grid
إذا لم تكن قد استخدمت Event Grid في اشتراك Azure من قبل، فقد تحتاج إلى تسجيل موفر موارد Event Grid. شغّل الأمر التالي:
Register-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
قد يستغرق التسجيل بعض الوقت. للتحقق من الحالة، قم بتشغيل:
Get-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
عندما RegistrationStatusيكونRegistered، كنت على استعداد للمتابعة.
الاشتراك في حساب التخزين
يمكنك الاشتراك في موضوع لإخبار شبكة الأحداث بالأحداث التي تريد تعقبها. يشترك المثال التالي في حساب التخزين الذي أنشأته، ويمرر عنوان URL من تطبيق الويب كنقطة نهاية إعلام بالأحداث. ينبغي أن تتضمن نقطة النهاية لتطبيق الويب الخاص بك اللاحقة /api/updates/.
$storageId = (Get-AzStorageAccount -ResourceGroupName $resourceGroup -AccountName $storageName).Id
$endpoint="https://$sitename.azurewebsites.net/api/updates"
New-AzEventGridSubscription `
-EventSubscriptionName gridBlobQuickStart `
-Endpoint $endpoint `
-ResourceId $storageId
اعرض تطبيق الويب خاصتك مرةً أخرى، ولاحظ إرسال حدث التحقق من صحة الاشتراك إليه. حدد أيقونة العين لتوسيع بيانات الحدث. ترسل Event Grid حدث التحقق؛ بحيث تتمكن نقطة النهاية من التحقق من رغبتها في تلقي بيانات الحدث. يتضمن تطبيق الويب رمزًا للتحقق من صحة الاشتراك.

مشغل حدث من تخزين Blob
الآن، لنبادر بتشغيل حدث لمعرفة كيف توزع Event Grid الرسالة إلى نقطة النهاية لديك. أولاً، دعنا ننشئ حاوية وعنصرًا. ثم، دعنا نقوم بتحميل العنصر في الحاوية.
$containerName = "gridcontainer"
New-AzStorageContainer -Name $containerName -Context $ctx
echo $null >> gridTestFile.txt
Set-AzStorageBlobContent -File gridTestFile.txt -Container $containerName -Context $ctx -Blob gridTestFile.txt
لقد قمت بتشغيل الحدث، وأرسلت شبكة الأحداث الرسالة إلى نقطة النهاية التي قمت بتهيئتها عند الاشتراك. عرض تطبيق الويب الخاص بك لمشاهدة الحدث الذي أرسلته للتو.
[{
"topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myrg/providers/Microsoft.Storage/storageAccounts/myblobstorageaccount",
"subject": "/blobServices/default/containers/gridcontainer/blobs/gridTestFile.txt",
"eventType": "Microsoft.Storage.BlobCreated",
"eventTime": "2017-08-16T20:33:51.0595757Z",
"id": "4d96b1d4-0001-00b3-58ce-16568c064fab",
"data": {
"api": "PutBlockList",
"clientRequestId": "Azure-Storage-PowerShell-d65ca2e2-a168-4155-b7a4-2c925c18902f",
"requestId": "4d96b1d4-0001-00b3-58ce-16568c000000",
"eTag": "0x8D4E4E61AE038AD",
"contentType": "application/octet-stream",
"contentLength": 0,
"blobType": "BlockBlob",
"url": "https://myblobstorageaccount.blob.core.windows.net/gridcontainer/gridTestFile.txt",
"sequencer": "00000000000000EB0000000000046199",
"storageDiagnostics": {
"batchId": "dffea416-b46e-4613-ac19-0371c0c5e352"
}
},
"dataVersion": "",
"metadataVersion": "1"
}]
تنظيف الموارد
إذا كنت تخطط لمواصلة العمل مع حساب التخزين هذا واشتراك الحدث، فلا تقم بتنظيف الموارد التي تم إنشاؤها في هذه المقالة. إذا لم تكن تخطط للمتابعة، فاستخدم الأمر التالي لحذف الموارد التي أنشأتها في هذه المقالة.
Remove-AzResourceGroup -Name $resourceGroup
الخطوات التالية
الآن بعد أن عرفت كيفية إنشاء الموضوعات واشتراكات الأحداث، تعرف على المزيد حول أحداث تخزين Blob، وما يمكن أن تساعدك شبكة الأحداث في القيام به: