استخدام وظائف Azure لتصفية البيانات على Edge

مكتمل

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

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

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

ما هو "Azure Functions"؟

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

يمكنك أيضاً استخدام وظائف Azure لنشر دالة على جهاز IoT Edge كوحدة نمطية بحيث تعمل الدالة محليا، عند Edge، بدلاً من تشغيلها في السحابة.

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

كيفية إنشاء وحدة IoT Edge التي تحتوي على وظيفة

يمكنك استخدام لغات متعددة لإنشاء وظيفة لوظائف Azure. توضح الخطوات التالية كيفية إنشاء وحدة IoT Edge التي تحتوي على وظيفة تم تنفيذها في C#‎:

  1. قم بإنشاء مشروع يتضمن دعم لوحدة Azure Function. يمكنك إنشاء مثل هذا المشروع باستخدام Visual Studio Code، أو في سطر الأوامر باستخدام dotnet الأمر .
  2. تنفيذ منطق العمل للدالة في C#‎.
  3. إنشاء المشروع لإنشاء صورة Docker الذي يحتوي على الدالة ووقت تشغيل Azure Functions المطلوب.
  4. تحميل صورة Docker إلى تسجيل حاوية.
  5. تعديل بيان التوزيع لجهاز IoT Edge لتضمين الوحدة النمطية الجديدة. يتضمن التكوين عنوان صورة Docker وكيفية تفاعل وحدة الوظيفة مع الوحدات النمطية الأخرى في وقت تشغيل IoT Edge.

يعرض المقتطف التالي modules مقطعا مع الوحدة النمطية الجديدة filterfunction في بيان النشر المحدث:

"modules": {
  "SimulatedTemperatureSensor": {
    "version": "1.0",
    "type": "docker",
    "status": "running",
    "restartPolicy": "always",
    "settings": {
      "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.4.6",
      "createOptions": "{}"
    }
  },
  "filterfunction": {
    "version": "1.0",
    "type": "docker",
    "status": "running",
    "restartPolicy": "always",
    "settings": {
      "image": "<YOUR CONTAINER REGISTRY NAME>.azurecr.io/filterfunction:v1",
      "createOptions": ""
    }
  }
}

اعتماداً على سجل الحاوية الذي تستخدمه وتكوينه، قد يحتاج بيان التوزيع الخاص بك إلى تضمين بيانات الاعتماد للوصول إلى التسجيل.

يوضح المقتطف التالي كيفية توجيه القياس عن بعد بين الوحدات النمطية في بيان النشر المحدث:

"routes": {
    "FilterFunctionToIoTCentral": "FROM /messages/modules/filterfunction/outputs/* INTO $upstream",
    "sensorToFilterFunction": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/filterfunction/inputs/input1\")"
  },

تحديث بيان النشر في IoT Central

لنشر الوحدة النمطية الجديدة على جهاز IoT Edge، قم بتحديث بيان النشر إلى تطبيق IoT Central. عند تحديث بيان توزيع مثل هذا، تقوم أجهزة IoT Edge المتصلة بتطبيق IoT Central بتنزيله وتحديث الوحدات النمطية على الجهاز.

استخدام وظائف Azure على Edge

1.

أين يمكنك تشغيل دالة Azure؟

2.

ما هو دور التوجيه في بيان النشر؟