Deploy Azure IoT Edge modules with Azure CLI

ينطبق على:yes icon IoT Edge 1.1 IoT Edge 1.2 yes icon

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

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

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

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

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

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

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

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

ملاحظة

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

{
  "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.1",
                "createOptions": "{}"
              }
            },
            "edgeHub": {
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-hub:1.1",
                "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
              }
            }
          },
          "modules": {
            "SimulatedTemperatureSensor": {
              "version": "1.0",
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
                "createOptions": "{}"
              }
            }
          }
        }
      },
      "$edgeHub": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "routes": {
            "upstream": "FROM /messages/* INTO $upstream"
          },
          "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
          }
        }
      },
      "SimulatedTemperatureSensor": {
        "properties.desired": {
          "SendData": true,
          "SendInterval": 5
        }
      }
    }
  }
}

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

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

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

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

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

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

az iot edge set-modules output

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

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

عرض الوحدات النمطية على جهاز IoT Edge الخاص بك:

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

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

az iot hub module-identity list output

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

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