Deploy Azure IoT Edge modules using Azure CLI

ينطبق على:IoT Edge 1.6 علامة تحقق IoT Edge 1.6

هام

IoT Edge 1.6 LTS هو الإصدار المدعوم. ينتهي دعم IoT Edge 1.5 LTS في 10 نوفمبر 2026؛ وصل IoT Edge 1.4 LTS إلى نهاية صلاحيته في 12 نوفمبر 2024. إذا كنت تستخدم إصدارا أقدم، راجع Update IoT Edge.

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

Azure CLI هو أداة مفتوحة المصدر ومتعددة المنصات لإدارة موارد Azure مثل IoT Edge. يتيح لك إدارة موارد Azure IoT Hub، ومثيلات خدمات توفير الأجهزة، والمراكز المرتبطة مباشرة من العلبة. يثري الامتداد الجديد لإنترنت الأشياء Azure CLI بميزات مثل إدارة الأجهزة وقدرات IoT Edge الكاملة.

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

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

  • IoT Hub في اشتراكك Azure.

  • جهاز IoT Edge

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

  • Azure CLI في بيئتك. يجب أن يكون إصدار Azure CLI الخاص بك بإصدار 2.0.70 أو أعلى. كنت أتحقق az --version . يدعم هذا الإصدار أوامر ملحق az ويستخدم إطار عمل أوامر Knack.

  • الامتداد IoT ل Azure CLI

تكوين بيان التوزيع

بيان التوزيع هو مستند JSON يصف الوحدات النمطية التي سيتم توزيعها، وكيفية تدفق البيانات بين الوحدات، والخصائص المرغوبة لتوائم الوحدة النمطية. لمزيد من المعلومات حول كيفية عمل قوائم النشر وكيفية إنشائها، راجع فهم كيفية استخدام وتكوين وإعادة استخدام وحدات IoT Edge.

لنشر الوحدات باستخدام Azure CLI، احفظ ملف النشر محليا كملف .json. استخدم مسار الملف في القسم التالي لتشغيل الأمر وتطبيق التكوين على جهازك.

فيما يلي بيان نشر أساسي مع وحدة نمطية واحدة كمثال:

إشعار

يستخدم بيان النشر النموذجي هذا الإصدار 1.1 من المخطط لوكيل ومركز IoT Edge. الإصدار 1.1 من المخطط مشمول مع إصدار IoT Edge 1.0.10 ويمكن ميزات مثل ترتيب بدء تشغيل الوحدات وتحديد أولويات المسارات.

{
  "content": {
    "modulesContent": {
      "$edgeAgent": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "runtime": {
            "type": "docker",
            "settings": {
              "minDockerVersion": "v1.25",
              "loggingOptions": "",
              "registryCredentials": {}
            }
          },
          "systemModules": {
            "edgeAgent": {
              "type": "docker",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-agent:1.6",
                "createOptions": "{}"
              }
            },
            "edgeHub": {
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-hub:1.6",
                "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
              }
            }
          },
          "modules": {
            "SimulatedTemperatureSensor": {
              "version": "1.6",
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.6",
                "createOptions": "{}"
              }
            }
          }
        }
      },
      "$edgeHub": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "routes": {
            "upstream": "FROM /messages/* INTO $upstream"
          },
          "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
          }
        }
      },
      "SimulatedTemperatureSensor": {
        "properties.desired": {
          "SendData": true,
          "SendInterval": 5
        }
      }
    }
  }
}

التوزيع بجهازك

يمكنك نشر الوحدات النمطية على جهازك عن طريق تطبيق بيان التوزيع الذي قمت بتكوينه مع معلومات الوحدة النمطية.

قم بتغيير الدلائل إلى المجلد حيث قمت بحفظ بيان النشر الخاص بك. إذا استخدمت أحد قوالب تعليمة Visual Studio برمجية IoT Edge، استخدم ملف deployment.json في مجلد config في مجلد الحل وليس ملف deployment.template.json.

استخدم الأمر التالي لتطبيق التكوين على جهاز IoT Edge:

az iot edge set-modules --device-id [device id] --hub-name [hub name] --content [file path]

معلمة معرف الجهاز حساسة لحالة الأحرف. تشير معلمة المحتوى إلى ملف بيان النشر الذي قمت بحفظه.

لقطة شاشة تظهر إخراج سطر أوامر set-modules على az iot.

عرض الوحدات النمطية على جهازك

بمجرد نشر الوحدات النمطية على جهازك، يمكنك عرضها جميعا باستخدام الأمر التالي:

شاهد الوحدات على جهاز IoT Edge الخاص بك:

az iot hub module-identity list --device-id [device id] --hub-name [hub name]

معلمة معرف الجهاز حساسة لحالة الأحرف.

لقطة شاشة تظهر أمر قائمة الهوية module-identity في az iot hub.

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

تعلم كيفية نشر ومراقبة وحدات IoT Edge على نطاق واسع< ومستوى الكلمات>