استيعاب بيانات التنبؤ بالطقس في Azure Data Manager للزراعة

الطقس هو خدمة ديمقراطية للغاية في الصناعة الزراعية. يوفر Azure Data Manager للزراعة للعملاء القدرة على العمل مع موفر الطقس الذي يختارونه.

يوفر Azure Data Manager للزراعة بيانات الطقس الحالية والتنبؤية من خلال نهج قائم على الامتداد وغير محدد للموفر. يمكنك العمل مع موفر من اختيارك باتباع الخطوات لكتابة ملحق الطقس.

نظره عامه علي التصميم

نظرا لأن Azure Data Manager for Agriculture يوفر بيانات الطقس من خلال نهج غير محدد للموفر، فلا يتعين عليك أن تكون على دراية بواجهات برمجة التطبيقات الخاصة بالموفر. بدلا من ذلك، يمكنك استخدام نفس Azure Data Manager لواجهات برمجة التطبيقات الزراعية بغض النظر عن الموفر.

فيما يلي بعض الملاحظات حول سلوك واجهات برمجة التطبيقات غير الموفرة:

  • يمكنك طلب بيانات الطقس لما يصل إلى 50 موقعا في مكالمة واحدة.
  • بيانات التنبؤ ليست أقدم من 15 دقيقة. البيانات الخاصة بالظروف الحالية لا تزيد عن 10 دقائق.
  • بعد إجراء الاستدعاء الأولي لموقع ما، يتم تخزين البيانات مؤقتا للوقت المحدد للعيش (TTL).
  • للحفاظ على ذاكرة التخزين المؤقت دافئة، يمكنك استخدام المعلمة apiFreshnessTimeInMinutes في ملحق الطقس. يحتفظ النظام الأساسي بمهمة قيد التشغيل لفترة زمنية محددة ويحدث ذاكرة التخزين المؤقت. القيمة الافتراضية هي صفر، ما يعني أن ذاكرة التخزين المؤقت لا تبقى دافئة بشكل افتراضي.

توفر الأقسام التالية الأوامر لجلب بيانات الطقس واستيعابها في Azure Data Manager for Agriculture.

الخطوة 1: تثبيت ملحق الطقس

لتثبيت الملحق، قم بتشغيل الأمر التالي باستخدام أداة AZURE Resource Manager ARMClient.

استبدل جميع القيم الموجودة ضمن أقواس الزاوية (<>) بقيم البيئة الخاصة بك. معرف الملحق المعتمد حاليا هو IBM.TWC.

armclient PUT /subscriptions/<subscriptionid>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-resource-name>/extensions/<extensionid>?api-version=2020-05-12-preview '{}'

فيما يلي عينة الإخراج لأمر التثبيت:

{
      "id": "/subscriptions/<subscriptionid>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-resource-name>/extensions/<extensionid>",
      "type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
      "systemData": {
        "createdBy": "testuser@abc.com",
        "createdByType": "User",`        
        "createdAt": "2021-03-17T12:36:51Z",
        "lastModifiedBy": "testuser@abc.com",
        "lastModifiedByType": "User",
        "lastModifiedAt": "2021-03-17T12:36:51Z"
      },
      "properties": {
        "category": "Weather",
        "installedExtensionVersion": "1.0",
        "extensionAuthLink": "https://www.<provider.com/integration/",
        "extensionApiDocsLink": "https://docs.<provider>.com/documentation/Weather_Data/Historical_and_Climatological_Weather/latest#_daily_historical_ag_weather_v1_0"
      },
      "eTag": "92003c91-0000-0700-0000-804752e00000",
      "name": "<provider>"
}

بعد الانتهاء من تثبيت الملحق، يمكنك استيعاب بيانات الطقس.

إذا كنت ترغب في تحديث apiFreshnessTimeInMinutes، فقم بتحديث الملحق باستخدام أمر PowerShell التالي. استبدل جميع القيم الموجودة ضمن أقواس زاوية بقيم البيئة الخاصة بك.

armclient put /subscriptions/<subscriptionid>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-resource-name>/<extensionid>?api-version=2021-09-01-preview '{"additionalApiProperties": {""15-day-daily-forecast"": {"apiFreshnessTimeInMinutes": <time>}, ""currents-on-demand"": {"apiFreshnessTimeInMinutes": <time>},""15-day-hourly-forecast"":{"apiFreshnessTimeInMinutes": <time>}}}'

يدمج أمر التحديث السابق عمليات التصحيح. يقوم بتحديث وقت التحديث لواجهة برمجة التطبيقات المذكورة في الأمر فقط ويحتفظ بقيم وقت التحديث لواجهات برمجة التطبيقات الأخرى كما كانت من قبل.

فيما يلي عينة الإخراج لأمر التحديث:

{
  "id": "/subscriptions/<subscriptionid>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-resource-name>/extensions/<extensionid>",
  "type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
  "systemData": {
    "createdBy": "50e74af5-3b8f-4a8c-9521-4f506b4e0c16",
    "createdByType": "User",
    "createdAt": "2022-10-10T21:28:05Z",
    "lastModifiedBy": "50e74af5-3b8f-4a8c-9521-4f506b4e0c16",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2022-11-08T13:10:17Z"
  },
  "properties": {
    "extensionId": "provider",
    "extensionCategory": "Weather",
    "installedExtensionVersion": "2.0",
    "extensionApiDocsLink": "https://go.microsoft.com/fwlink/?linkid=2192974",
    "additionalApiProperties": {
      "15-day-daily-forecast": {
        "apiFreshnessTimeInMinutes": 1600
      },
      "currents-on-demand": {
        "apiFreshnessTimeInMinutes": 1600
      },
       "15-day-hourly-forecast": {
        "apiFreshnessTimeInMinutes": 1600
      }
    }
  },
  "eTag": "ea0261d0-0000-0700-0000-636a55390000",
  "name": "provider"
}

الخطوة 2: إحضار بيانات الطقس

بعد الحصول على بيانات الاعتماد المطلوبة للوصول إلى واجهات برمجة التطبيقات، تحتاج إلى استدعاء واجهة برمجة تطبيقات بيانات الطقس لجلب بيانات الطقس.