إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا التشغيل السريع، ستستخدم Azure CLI لتحديد وظيفة Stream Analytics التي تقوم بتصفية رسائل الاستشعار في الوقت الحقيقي مع قراءة درجة حرارة أكبر من 27. تقرأ وظيفة Stream Analytics البيانات من IoT Hub، وتحول البيانات، وتكتب بيانات الإخراج إلى حاوية في تخزين كائن ثنائي كبير الحجم. يتم إنشاء بيانات الإدخال المستخدمة في هذه البداية السريعة بواسطة جهاز محاكاة Raspberry Pi عبر الإنترنت.
قبل البدء
إذا لم يكن لديك حساب Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.
المتطلبات الأساسية
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع بدء استخدام Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات تسجيل الدخول الأخرى، راجع المصادقة على Azure باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات حول الملحقات، راجع استخدام الملحقات وإدارتها باستخدام Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
قم بإنشاء مجموعة موارد. يجب نشر جميع موارد Azure في مجموعة موارد. تسمح لك مجموعات الموارد بتنظيم وإدارة موارد Azure ذات الصلة.
لهذا التشغيل السريع، قم بإنشاء مجموعة موارد تسمى streamanalyticsrg في موقع eastus باستخدام الأمر التالي az group create :
az group create --name streamanalyticsrg --location eastus
إعداد بيانات الإدخال
قبل تحديد وظيفة Stream Analytics، قم بإعداد البيانات المستخدمة لإدخال الوظيفة. تقوم أوامر Azure CLI التالية بإعداد بيانات الإدخال المطلوبة من قبل الوظيفة.
إنشاء مركز IoT باستخدام الأمر az iot hub create . ينشئ هذا المثال IoT Hub يسمى MyASAIoTHub. نظرا لأن أسماء IoT Hub يجب أن تكون فريدة عالميا، فقد تضطر إلى تغيير الاسم إذا تم أخذه بالفعل. قم بتعيين SKU إلى F1 لاستخدام المستوى المجاني إذا كان متوفرا مع اشتراكك. إذا لم يكن كذلك، اختر المستوى الأدنى التالي.
iotHubName=MyASAIoTHub az iot hub create --name $iotHubName --resource-group streamanalyticsrg --sku S1بمجرد إنشاء مركز IoT، احصل على مركز IoT سلسلة الاتصال باستخدام الأمر az iot hub connection-string show. انسخ سلسلة الاتصال بالكامل واحفظه. يمكنك استخدامه أثناء إضافة IoT Hub كمدخل إلى وظيفة Stream Analytics.
az iot hub connection-string show --hub-name $iotHubNameأضف جهازا إلى IoT Hub باستخدام الأمر az iothub device-identity create . ينشئ هذا المثال جهازًا يسمى MyASAIoTDevice.
az iot hub device-identity create --hub-name $iotHubName --device-id "MyASAIoTDevice"احصل على سلسلة اتصال الجهاز باستخدام الأمر az iot hub device-identity connection-string show . نسخ سلسلة الاتصال بأكمله وحفظها عند إنشاء جهاز محاكاة Raspberry Pi.
az iot hub device-identity connection-string show --hub-name $iotHubName --device-id "MyASAIoTDevice" --output tableمثال الإخراج:
HostName=MyASAIoTHub.azure-devices.net;DeviceId=MyASAIoTDevice;SharedAccessKey=a2mnUsg52+NIgYudxYYUNXI67r0JmNubmfVafojG8=
إنشاء حساب تخزين كائن ثنائي كبير الحجم
تنشئ أوامر Azure CLI التالية حساب تخزين كائن ثنائي كبير الحجم يستخدم لإخراج المهمة.
إنشاء حساب تخزين للأغراض العامة باستخدام الأمر az storage account create . يمكن استخدام حساب التخزين للأغراض العامة لجميع الخدمات الأربع: الكائنات الثنائية كبيرة الحجم والملفات والجداول وقوائم الانتظار.
storageAccountName="asatutorialstorage$RANDOM" az storage account create \ --name $storageAccountName \ --resource-group streamanalyticsrg \ --location eastus \ --sku Standard_ZRS \ --encryption-services blobاحصل على مفتاح حساب التخزين الخاص بك عن طريق تشغيل الأمر az storage account keys list .
key=$(az storage account keys list -g streamanalyticsrg -n $storageAccountName --query "[0].value" -o tsv) echo $keyهام
دون مفتاح الوصول لحساب تخزين Azure. ستستخدم هذا المفتاح لاحقا في هذا التشغيل السريع.
إنشاء حاوية باسم
stateلتخزين الكائنات الثنائية كبيرة الحجم باستخدام الأمر az storage container create . يمكنك استخدام مفتاح حساب التخزين لتخويل العملية لإنشاء الحاوية. لمزيد من المعلومات حول تخويل عمليات البيانات باستخدام Azure CLI، راجع تخويل الوصول إلى البيانات الثنائية كبيرة الحجم أو قائمة الانتظار باستخدام Azure CLI.az storage container create \ --account-name $storageAccountName \ --name state \ --account-key $key \ --auth-mode key
إنشاء مشروع وظائف Stream Analytics
إنشاء وظيفة Stream Analytics باستخدام الأمر az stream-analytics job create .
az stream-analytics job create \
--job-name "streamanalyticsjob" \
--resource-group "streamanalyticsrg" \
--location "eastus" \
--output-error-policy "Drop" \
--out-of-order-policy "Drop" \
--order-max-delay 5 \
--arrival-max-delay 16 \
--data-locale "en-US"
تكوين الإدخال إلى المهمة
أضف إدخالا إلى وظيفتك باستخدام az stream-analytics input cmdlet. يأخذ cmdlet هذا اسم الوظيفة واسم إدخال الوظيفة واسم مجموعة الموارد وخصائص الإدخال بتنسيق JSON كمعلمات. في هذا المثال، ستقوم بإنشاء IoT Hub كمدخل.
هام
- استبدل
IOT HUB ACCESS KEYبقيمة مفتاح الوصول المشترك في سلسلة اتصال IOT Hub التي حفظتها. على سبيل المثال، إذا كانت سلسلة اتصال IOT Hub هي:HostName=MyASAIoTHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=xxxxxxxxxxxxxx=، فإن قيمة مفتاح الوصول المشترك هيxxxxxxxxxxxxxx=. أثناء استبدال القيمة، تأكد من عدم حذف\حرف (إلغاء) ل"(علامات الاقتباس المزدوجة). - قم بتحديث قيمة
iotHubNamespaceفي الأمر التالي إذا استخدمت اسما آخر غيرMyASAIoTHub. قم بتشغيلecho $iotHubNameلمشاهدة اسم IoT Hub.
az stream-analytics input create \
--properties "{\"type\":\"Stream\",\"datasource\":{\"type\":\"Microsoft.Devices/IotHubs\",\"properties\":{\"consumerGroupName\":\"\$Default\",\"endpoint\":\"messages/events\",\"iotHubNamespace\":\"MyASAIoTHub\",\"sharedAccessPolicyKey\":\"IOT HUB ACCESS KEY\",\"sharedAccessPolicyName\":\"iothubowner\"}},\"serialization\":{\"type\":\"Json\",\"encoding\":\"UTF8\"}}" \
--input-name "asaiotinput" \
--job-name "streamanalyticsjob" \
--resource-group "streamanalyticsrg"
تكوين الإخراج إلى الوظيفة
أضف إخراجا إلى وظيفتك باستخدام az stream-analytics output create cmdlet. يأخذ cmdlet هذا اسم الوظيفة واسم إخراج الوظيفة واسم مجموعة الموارد ومصدر البيانات بتنسيق JSON ونوع التسلسل كمعلمات.
هام
استبدل STORAGEACCOUNTNAME> باسم حساب Azure Storage الخاص بك ومفتاح STORAGEACCESSKEY> الوصول لحساب التخزين الخاص بك. إذا لم تقم بتدوين هذه القيم، فقم بتشغيل الأوامر التالية للحصول عليها: echo $storageAccountName و echo $key. أثناء استبدال القيم، تأكد من عدم حذف \ حرف (إلغاء) ل " (علامات الاقتباس المزدوجة).
az stream-analytics output create \
--job-name streamanalyticsjob \
--datasource "{\"type\":\"Microsoft.Storage/Blob\",\"properties\":{\"container\":\"state\",\"dateFormat\":\"yyyy/MM/dd\",\"pathPattern\":\"{date}/{time}\",\"storageAccounts\":[{\"accountKey\":\"STORAGEACCESSKEY\",\"accountName\":\"STORAGEACCOUNTNAME\"}],\"timeFormat\":\"HH\"}}" \
--serialization "{\"type\":\"Json\",\"properties\":{\"format\":\"Array\",\"encoding\":\"UTF8\"}}" \
--output-name asabloboutput \
--resource-group streamanalyticsrg
حدد استعلام التحويل
إضافة تحويل وظيفتك باستخدام az stream-analytics transformation create cmdlet.
az stream-analytics transformation create \
--resource-group streamanalyticsrg \
--job-name streamanalyticsjob \
--name Transformation \
--streaming-units "6" \
--saql "SELECT * INTO asabloboutput FROM asaiotinput WHERE Temperature > 27"
تشغيل محاكي IoT
استبدل العنصر النائب في السطر 15 بسلسلة اتصال جهاز Azure IoT Hub بأكملها (وليس سلسلة اتصال IoT Hub) التي حفظتها في بداية التشغيل السريع.
حدد تشغيل. يجب أن يُظهر الإخراج بيانات المستشعر والرسائل المُرسلة إلى مركز loT الخاص بك.
ابدأ وظيفة Stream Analytics وتحقق من الإخراج
ابدأ المهمة باستخدام az stream-analytics job start cmdlet. يأخذ هذا الأمر cmdlet اسم الوظيفة، واسم مجموعة الموارد، ووضع بدء الإخراج، ووقت البدء كمعلمات.
OutputStartMode يقبل قيم JobStartTime، CustomTime أو LastOutputEventTime.
بعد تشغيل الأمر cmdlet التالي، فإنه يقوم بإعادة True كإخراج إذا بدأت الوظيفة.
az stream-analytics job start \
--resource-group streamanalyticsrg \
--name streamanalyticsjob \
--output-start-mode JobStartTime
امنحه بضع دقائق ثم تحقق من إنشاء ملف إخراج في state حاوية الكائن الثنائي كبير الحجم.
قم بتنزيل الملف وفتحه لمشاهدة العديد من الإدخالات المشابهة للإدخال التالي:
{
"messageId": 229,
"deviceId": "Raspberry Pi Web Client",
"temperature": 31.85214010589595,
"humidity": 60.278830289656284,
"EventProcessedUtcTime": "2023-02-28T22:06:33.5567789Z",
"PartitionId": 3,
"EventEnqueuedUtcTime": "2023-02-28T22:05:49.6520000Z",
"IoTHub": {
"MessageId": null,
"CorrelationId": null,
"ConnectionDeviceId": "MyASAIoTDevice",
"ConnectionDeviceGenerationId": "638132150746523845",
"EnqueuedTime": "2023-02-28T22:05:49.6520000Z",
"StreamId": null
}
}
تنظيف الموارد
احذف مجموعة الموارد، التي ستحذف جميع الموارد في مجموعة الموارد بما في ذلك وظيفة Stream Analytics، وIoT Hub، وحساب Azure Storage.
az group delete \
--name streamanalyticsrg \
--no-wait
الخطوات التالية
في هذا التشغيل السريع، قمت بنشر مهمة Stream Analytics بسيطة باستخدام Azure CLI. كما يمكنك نشر وظائف Stream Analytics باستخدام مدخل AzureوVisual Studio.
للتعرف على تكوين مصادر الإدخال الأخرى وإجراء الكشف في الوقت الفعلي، تابع إلى المقالة التالية: