إنشاء المسارات ونقاط النهاية وحذفها باستخدام Azure CLI

توضح لك هذه المقالة كيفية إدارة مسارات Azure IoT Hub ونقاط النهاية باستخدام Azure CLI. تعرف على كيفية استخدام Azure CLI لإنشاء مسارات ونقاط نهاية لمراكز أحداث Azure وقوائم الانتظار والمواضيع ناقل خدمة Azure وAzure Storage وCosmos DB.

لمعرفة المزيد حول كيفية عمل التوجيه في IoT Hub، راجع استخدام توجيه رسائل IoT Hub لإرسال رسائل من جهاز إلى سحابة إلى نقاط نهاية مختلفة. للتنقل عبر إعداد مسار يرسل رسائل إلى التخزين ثم الاختبار على جهاز محاكاة، راجع البرنامج التعليمي: إرسال بيانات الجهاز إلى Azure Storage باستخدام توجيه رسائل IoT Hub.

المتطلبات الأساسية

تستخدم الإجراءات الموضحة في المقالة الموارد التالية:

  • واجهة سطر الأوامر The Azure CLI
  • مركز IoT
  • خدمة نقطة نهاية في Azure

Azure CLI

تستخدم هذه المقالة Azure CLI للعمل مع IoT Hub وخدمات Azure الأخرى. يمكنك اختيار كيفية الوصول إلى Azure CLI:

IoT Hub

تحتاج إلى مركز IoT في اشتراك Azure الخاص بك. إذا لم يكن لديك مركز حتى الآن، يمكنك اتباع الخطوات لإنشاء مركز IoT باستخدام Azure CLI.

خدمة نقطة النهاية

تحتاج إلى خدمة Azure أخرى واحدة على الأقل لاستخدامها كنقطة نهاية للمسار. تتلقى نقطة النهاية رسائل الجهاز وسجلات الأحداث.

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

  1. قم بإنشاء مساحة اسم Event Hubs ومركز أحداث. لمزيد من المعلومات، راجع التشغيل السريع: إنشاء مركز أحداث باستخدام Azure CLI.

  2. إنشاء قاعدة تخويل سيتم استخدامها لمنح IoT Hub الإذن لإرسال البيانات إلى مركز الأحداث.

    تلميح

    name قيمة RootManageSharedAccessKey المعلمة هي الاسم الافتراضي الذي يسمح بمطالبات الإدارة والإرسال والاستماع (الوصول). إذا كنت ترغب في تقييد المطالبات، فامنح المعلمة name اسمك الفريد الخاص وقم بتضمين العلامة --rights متبوعة بإحدى المطالبات. على سبيل المثال، ⁧--name my-name --rights Send⁩.

    az eventhubs eventhub authorization-rule create --resource-group my-resource-group --namespace-name my-routing-namespace --eventhub-name my-event-hubs --name RootManageSharedAccessKey
    

    لمزيد من المعلومات، راجع تخويل الوصول إلى Azure Event Hubs.

إنشاء نقطة النهاية

تشير جميع مسارات IoT Hub إلى نقطة نهاية، والتي ستتلقى بيانات الجهاز والحدث التي تم توجيهها. يمكن أن يشير أكثر من مسار واحد إلى نفس نقطة النهاية. حاليا، يدعم IoT Hub نقاط النهاية لمراكز الأحداث وقوائم انتظار أو مواضيع ناقل خدمة Microsoft Azure والتخزين وCosmos DB. يجب أن يوجد مثيل للخدمة التي تستخدمها لنقطة النهاية الخاصة بك في اشتراك Azure قبل إنشاء نقطة النهاية.

ملاحظة

تستخدم هذه المقالة مجموعة أوامر az iot hub message-endpoint ، والتي تم تقديمها في الإصدار 0.19.0 من ملحق azure-iot ل Azure CLI. استخدمت الإصدارات السابقة من ملحق azure-iot مجموعة أوامر az iot hub routing-endpoint ، وهي متشابهة ولا تزال مدعومة ولكنها لا تدعم إنشاء نقاط نهاية Cosmos DB.

استخدم الأمر التالي للتحديث إلى أحدث إصدار من ملحق azure-iot:

az extension update --name azure-iot

لإنشاء نقطة نهاية مراكز الأحداث، استخدم قاعدة التخويل التي قمت بإنشائها في المتطلبات الأساسية.

  1. استخدم الأمر az eventhubs eventhub authorization-rule keys list لسرد قاعدة التخويل الخاصة بك. قم بتوفير القيم التالية لمعلمات العنصر النائب:

    معلمة القيمة
    eventhub_group مجموعة موارد مركز الأحداث.
    eventhub_namespace اسم مساحة اسم "مراكز الأحداث".
    eventhub_name اسم مركز الحدث.
    rule_name اسم قاعدة التخويل لمركز الحدث. إذا قمت بنسخ المثال في المتطلبات الأساسية، فإن هذا الاسم هو RootManageSharedAccessKey.
    az eventhubs eventhub authorization-rule keys list --resource-group {eventhub_group} --namespace-name {eventhub_namespace} --eventhub-name my-event-hubs --name {rule_name}
    
  2. انسخ سلسلة اتصال مركز الأحداث من الإخراج.

  3. استخدم الأمر az iot hub message-endpoint create eventhub لإنشاء نقطة النهاية المخصصة. قم بتوفير القيم التالية لمعلمات العنصر النائب:

    معلمة القيمة
    iothub_name اسم مركز IoT حيث يتم إنشاء نقطة النهاية هذه.
    endpoint_name اسم فريد لنقطة النهاية الجديدة.
    eventhub_subscription معرف الاشتراك لمركز الحدث. يمكن ترك هذه الوسيطة إذا كان مركز الأحداث في نفس الاشتراك مثل مركز IoT.
    eventhub_group مجموعة الموارد لمركز الحدث. يمكن ترك هذه الوسيطة إذا كان مركز الأحداث في نفس مجموعة الموارد مثل مركز IoT.
    eventhub_connection_string سلسلة الاتصال التي نسختها من قاعدة تخويل مركز الحدث.
    az iot hub message-endpoint create eventhub --hub-name {iothub_name} --endpoint-name {endpoint_name}  --connection-string "{eventhub_connection_string}" --endpoint-subscription-id {eventhub_subscription} --endpoint-resource-group {eventhub_group}
    

حذف نقطة نهاية

إذا كنت تريد حذف نقطة نهاية من مركز IoT، فاستخدم الأمر az iot hub message-endpoint delete . باستخدام هذا الأمر، يمكنك حذف نقطة نهاية واحدة، أو حذف جميع نقاط النهاية من نوع واحد، أو حذف جميع نقاط النهاية من مركز.

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

az iot hub message-endpoint delete --hub-name {iothub_name} --endpoint-type storage-container

إنشاء مسار IoT Hub

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

ملاحظة

تستخدم هذه المقالة مجموعة أوامر az iot hub message-route ، والتي تم تقديمها في الإصدار 0.19.0 من ملحق azure-iot ل Azure CLI. استخدمت الإصدارات السابقة من ملحق azure-iot مجموعة أوامر توجيه az iot hub ، وهي متشابهة ولا تزال مدعومة.

استخدم الأمر التالي للتحديث إلى أحدث إصدار من ملحق azure-iot:

az extension update --name azure-iot
  1. استخدم الأمر az iot hub message-route create لإنشاء مسار IoT Hub جديد باستخدام نقطة النهاية هذه. توفير القيم التالية لمعلمات العنصر النائب:

    معلمة القيمة
    iothub_name اسم مركز IoT حيث يتم إنشاء هذا المسار.
    route_name اسم فريد للمسار الجديد.
    endpoint_name اسم نقطة النهاية التي سيرسل المسار البيانات إليها.
    data_source مصدر المسار. القيم المقبولة هي: deviceconnectionstateeventsأو devicelifecycleeventsdevicejoblifecycleeventsأو أو .twinchangeeventsdevicemessagesdigitaltwinchangeeventsinvalid
    az iot hub message-route create --hub-name {iothub_name} --route-name {route_name} --endpoint-name {endpoint_name} --source {data_source}
    
  2. للتأكد من أن المسار الجديد موجود في مركز IoT الخاص بك، استخدم الأمر az iot hub message-route list لمشاهدة جميع المسارات في مركز IoT الخاص بك:

    az iot hub message-route list --hub-name {iothub_name}
    

    يجب أن تشاهد استجابة في Azure CLI مشابهة لهذا المثال:

    [
       {
         "condition": "true",
         "endpointNames": [
           "endpoint_name"
         ],
         "isEnabled": true,
         "name": "route_name",
         "source": "DeviceConnectionStateEvents"
       }
    ]
    

تحديث مسار IoT Hub

يمكنك تحديث بعض خصائص المسار بعد إنشائه. يمكنك تغيير المصدر أو نقطة النهاية أو الشرط أو الحالة الممكنة لمسار موجود.

استخدم الأمر az iot hub message-route show لعرض تفاصيل المسار.

az iot hub message-route show --hub-name {iothub_name} --route-name {route_name}

استخدم الأمر az iot hub message-route update لتحديث خصائص المسار. على سبيل المثال، يقوم الأمر التالي بتحديث مصدر المسار.

az iot hub message-route update --hub-name {iothub_name} --route-name {route_name} --source devicejoblifecycleevents

حذف مسار IoT Hub

استخدم الأمر az iot hub message-route delete لحذف مسار من مركز IoT الخاص بك.

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

az iot hub message-route delete --hub-name {iothub_name} --route-name {route_name}

إدارة المسار الاحتياطي

يرسل المسار الاحتياطي جميع الرسائل من devicemessages المصدر التي لا تفي بشروط الاستعلام على أي من المسارات الموجودة إلى نقطة النهاية المضمنة.

استخدم الأمر az iot hub message-routeback show لمشاهدة حالة المسار الاحتياطي في مركز IoT الخاص بك.

az iot hub message-route fallback show --hub-name {iothub_name}

استخدم الأمر az iot hub message-routeback set لتمكين أو تعطيل المسار الاحتياطي في مركز IoT الخاص بك.

az iot hub message-route fallback set --hub-name {iothub_name} --enabled {true_false}

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

في هذه المقالة الإرشادية، تعلمت كيفية إنشاء مسار ونقطة نهاية لمراكز الأحداث وقوائم انتظار وموضوعات ناقل خدمة Microsoft Azure وتخزين Azure.

لمعرفة المزيد حول توجيه الرسائل، راجع البرنامج التعليمي: إرسال بيانات الجهاز إلى Azure Storage باستخدام توجيه رسائل IoT Hub. في البرنامج التعليمي، يمكنك إنشاء مسار تخزين واختباره باستخدام جهاز في مركز IoT الخاص بك.