تكامل المستشعر كعميل

اتبع الخطوات للتكامل مع شريك الاستشعار لتمكين الشريك من البدء في دفع البيانات إلى مثيل Data Manager for Agriculture.

لكل شريك مستشعر تطبيق Microsoft Entra متعدد المستأجرين خاص به تم إنشاؤه ونشره على النظام الأساسي لإدارة البيانات للزراعة. شريك الاستشعار المدعوم افتراضيا على النظام الأساسي هو أدوات ديفيس (sensorPartnerId: DavisInstruments).

لبدء استخدام شركاء المستشعر المستضافين، تحتاج إلى منح الموافقة لشريك المستشعر حتى يبدأوا في الظهور في App Registrations. الخطوات التي يجب اتباعها:

  1. سجل الدخول إلى مدخل Microsoft Azure باستخدام بيانات اعتماد "global مسؤول istrator" أو "Privileged Role مسؤول istrator".

  2. بالنسبة إلى أدوات ديفيس، انقر على هذا الرابط لتقديم الموافقة.

  3. في صفحة مراجعة الأذونات، يطلب تطبيق Microsoft Entra الحد الأدنى من إذن "قراءة ملف تعريف المستخدم". مستوى الأذونات هذا كاف لتكامل أداة الاستشعار مع Data Manager for Agriculture.

  4. انقر فوق الزر "قبول" لمنح موافقة المسؤول.

  5. الآن، ابحث عن Davis Instruments WeatherLink Data Manager for Agriculture Connector ضمن علامة التبويب All Applications في App Registrations الصفحة (موضحة مع شريك عام في الصورة).

    Screenshot showing the partners message.

  6. انسخ معرف التطبيق (العميل) لتطبيق الشريك المحدد الذي تريد توفير الوصول إليه.

الخطوة 2: إضافة تعيين دور إلى تطبيق الشريك

الخطوة التالية هي تعيين أدوار في مدخل Microsoft Azure لتوفير تخويل لتطبيق شريك المستشعر. يستخدم مدير البيانات للزراعة Azure RBAC لإدارة طلبات التخويل.

سجل الدخول إلى مدخل Microsoft Azure وانتقل إلى مجموعة الموارد الخاصة بك حيث قمت بإنشاء مورد إدارة البيانات للزراعة.

إشعار

داخل علامة تبويب مجموعة الموارد، إذا لم تعثر على مورد Data Manager for Agriculture الذي تم إنشاؤه، فستحتاج إلى تمكين خانة الاختيار إظهار الأنواع المخفية.

يمكنك العثور على خيار القائمة IAM (إدارة الوصول إلى الهوية) على الجانب الأيمن من جزء الخيارات كما هو موضح في الصورة:

Screenshot showing role assignment.

انقر فوق إضافة > تعيين دور، يفتح هذا الإجراء جزءا على الجانب الأيسر من المدخل، واختر الدور من القائمة المنسدلة:

  • AgFood Platform Sensor Partner Contributor - لديه جميع الامتيازات في عمليات CRU (الإنشاء والقراءة والتحديث) الخاصة بأجهزة الاستشعار.

لإكمال تعيين الدور، قم بالخطوات التالية:

  1. اختر الدور المذكور.

  2. اختر المستخدم أو المجموعة أو كيان الخدمة في قسم تعيين الوصول إلى.

  3. الصق معرف أو اسم تطبيق شريك المستشعر في قسم تحديد (كما هو موضح في الصورة).

  4. انقر فوق حفظ لتعيين الدور.

Screenshot showing app selection for authorization.

تضمن هذه الخطوة منح تطبيق شريك المستشعر حق الوصول (استنادا إلى الدور المعين) إلى Azure Data Manager for Agriculture Resource.

الخطوة 3: تمكين تكامل المستشعر

  1. تحتاج إلى تمكين تكامل المستشعر قبل بدء المكالمات. تتطلب هذه الخطوة موارد Azure الداخلية لتكامل المستشعر في مدير البيانات الخاص بك لمثيل الزراعة. يمكنك القيام بذلك عن طريق تشغيل الأمر armclient التالي.

    armclient patch /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>?api-version=2021-09-01-preview "{properties:{sensorIntegration:{enabled:'true'}}}"
    

    عينة الإخراج:

    {
      "id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>",
      "type": "Microsoft.AgFoodPlatform/farmBeats",
      "sku": {
        "name": "A0"
      },
      "systemData": {
        "createdBy": "<customer-id>",
        "createdByType": "User",
        "createdAt": "2022-03-11T03:36:32Z",
        "lastModifiedBy": "<customer-id>",
        "lastModifiedByType": "User",
        "lastModifiedAt": "2022-03-11T03:40:06Z"
      },
      "properties": {
        "instanceUri": "https://<farmbeats-instance-name>.farmbeats.azure.net/",
        "provisioningState": "Succeeded",
        "sensorIntegration": {
          "enabled": "True",
          "provisioningState": "**Creating**"
        },
        "publicNetworkAccess": "Enabled"
      },
      "location": "eastus",
      "name": "myfarmbeats"
    }
    
  2. قد تستغرق المهمة بضع دقائق لإكمالها. لمعرفة حالة الوظيفة، يمكنك استخدام الأمر armclient التالي:

    armclient get /subscriptions/<subscription-id>/resourceGroups/<resource-group-name> /providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>?api-version=2021-09-01-preview
    
  3. للتحقق من الحالة المكتملة، انظر إلى سمة provisioningState . يجب تغيير الحالة إلى "Succeeded" من "Creating" في الخطوة السابقة.

    عينة الإخراج:

    {
      "id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>",
      "type": "Microsoft.AgFoodPlatform/farmBeats",
      "sku": {
        "name": "A0"
      },
      "systemData": {
        "createdBy": "<customer-id>",
        "createdByType": "User",
        "createdAt": "2022-03-11T03:36:32Z",
        "lastModifiedBy": "<customer-id>",
        "lastModifiedByType": "User",
        "lastModifiedAt": "2022-03-11T03:40:06Z"
      },
      "properties": {
        "instanceUri": "https://<customer-host-name>.farmbeats.azure.net/",
        "provisioningState": "Succeeded",
        "sensorIntegration": {
          "enabled": "True",
          "provisioningState": "**Succeeded**"
        },
        "publicNetworkAccess": "Enabled"
      },
      "tags": {
        "usage": "<sensor-partner-id>"
      },
      "location": "eastus",
      "name": "<customer-id>"
    }
    

مع اكتمال خطوة تكامل المستشعر، يمكنك الآن إنشاء كائنات تكامل أداة الاستشعار.

الخطوة 4: إنشاء كائن تكامل

SensorPartnerIntegrations استخدم المجموعة واستدع SensorPartnerIntegrations_CreateOrUpdate API لإنشاء كائن تكامل لشريك مستشعر معين. يحتاج كل عميل واحد لشريك الاستشعار (على سبيل المثال: ديفيس) إلى معرف تكامل فريد تم إنشاؤه في مورد Data Manager for Agriculture.

هناك مساران مختلفان تحتاج إلى تقييمهما:

  • إذا كنت مالكي أدوات الاستشعار التي يوفرها شركاء الاستشعار، فبادر بإنشاء عنصر تكامل واحد فقط (ID) لحسابك مع شريك المستشعر.

  • إذا كان المستخدمون النهائيون (أي المزارعون/تجار التجزئة/مهندسو الزراعة) يمتلكون أدوات الاستشعار، فبادر بإنشاء عنصر تكامل فريد (ID) لكل مستخدم نهائي لأن كل مستخدم نهائي لديه حساباته الخاصة مع شريك المستشعر.

نقطة نهاية واجهة برمجة التطبيقات: PATCH /sensor-partners/{sensorPartnerId}/integrations/{integrationID}

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

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

يتصل شركاء الاستشعار بنقطة check-consent نهاية واجهة برمجة التطبيقات للتحقق من الصحة. لإنشاء ارتباط موافقة، تحتاج إلى استخدام SensorPartnerIntegrations_GenerateConsentLink واجهة برمجة التطبيقات وتوفير معرف التكامل الذي تم إنشاؤه من الخطوة (3). كاستجابة، تحصل على سلسلة تسمى consentLink. انسخ هذه السلسلة وقدمها إلى شريك المستشعر لمزيد من التحقق من الصحة. إذا كنت تستخدم أدوات استشعار من أدوات ديفيس، فاتبع التعليمات على هذه الصفحة.

نقطة نهاية واجهة برمجة التطبيقات: PATCH /sensor-partners/{sensorPartnerId}/integrations/{integrationId}/: generate-consent-link

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

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

الخطوة 6: إنشاء تعيين أداة الاستشعار

SensorMappings استخدم المجموعة، واستدع واجهة SensorMappings_CreateOrUpdate برمجة التطبيقات لإنشاء تعيين لكل جهاز استشعار. التعيين ليس سوى ربط معرف أداة الاستشعار بمعرف PartyID معين ومورد (حقل، حقل موسمي وما إلى ذلك). PartyID والموارد موجودة بالفعل في نظام إدارة البيانات للزراعة. يضمن هذا الاقتران أنه كمنصة تحصل على بناء نماذج علوم البيانات حول هندسة مشتركة لبعد المورد والطرف. يرتبط كل مصدر بيانات (قمر صناعي، طقس، عمليات مزرعة) بمورد طرف. أثناء إنشاء كائن التعيين هذا على مستوى كل جهاز استشعار، فإنك تقوم بتشغيل جميع حالات الاستخدام الزراعي للاستفادة من بيانات المستشعر.

نقطة نهاية واجهة برمجة التطبيقات: PATCH /sensor-mappings/{sensorMappingId}

الخطوة 7: استهلاك أحداث المستشعر

SensorEvents استخدم المجموعة للاتصال بواجهة SensorEvents_List برمجة التطبيقات واستهلاك البيانات التي تدفعها أجهزة الاستشعار الخاصة بك. تحتاج إلى توفير المعلومات التالية

  • sensorId (يحدد المستشعر الذي تريد عرض البيانات له)
  • sensorPartnerId (يحدد شريك الاستشعار الذي يدفع هذه البيانات)
  • startDateTime وendDateTime (تضمن عوامل تصفية النطاق الزمني تقسيم البيانات إلى المخطط الزمني المطلوب)

نقطة نهاية واجهة برمجة التطبيقات: GET /sensor-events

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