Bagikan melalui


Menyerap data prakiraan cuaca di Azure Data Manager for Agriculture

Cuaca adalah layanan yang sangat demokratis dalam industri pertanian. Azure Data Manager for Agriculture menawarkan pelanggan kemampuan untuk bekerja dengan penyedia cuaca pilihan mereka.

Azure Data Manager for Agriculture menyediakan data cuaca saat ini dan prakiraan melalui pendekatan berbasis ekstensi dan penyedia-agnostik. Anda dapat bekerja dengan penyedia pilihan Anda dengan mengikuti langkah-langkah untuk menulis ekstensi cuaca.

Gambaran umum desain

Karena Azure Data Manager for Agriculture menyediakan data cuaca melalui pendekatan penyedia-agnostik, Anda tidak perlu terbiasa dengan API penyedia. Sebagai gantinya, Anda dapat menggunakan Api Azure Data Manager for Agriculture yang sama terlepas dari penyedianya.

Berikut adalah beberapa catatan tentang perilaku API penyedia-agnostik:

  • Anda dapat meminta data cuaca hingga 50 lokasi dalam satu panggilan.
  • Data prakiraan tidak lebih dari 15 menit. Data untuk kondisi saat ini tidak lebih dari 10 menit.
  • Setelah panggilan awal dilakukan untuk lokasi, data di-cache untuk waktu hidup (TTL) yang ditentukan.
  • Untuk menjaga cache tetap hangat, Anda dapat menggunakan apiFreshnessTimeInMinutes parameter di ekstensi cuaca. Platform ini menjaga pekerjaan tetap berjalan untuk jumlah waktu yang ditentukan dan memperbarui cache. Nilai defaultnya adalah nol, yang berarti cache tidak dihangatkan secara default.

Bagian berikut menyediakan perintah untuk mengambil data cuaca dan menyerapnya ke Azure Data Manager for Agriculture.

Langkah 1: Instal ekstensi cuaca

Untuk menginstal ekstensi, jalankan perintah berikut dengan menggunakan alat ARMClient Azure Resource Manager.

Ganti semua nilai dalam tanda kurung sudut (<>) dengan nilai lingkungan Anda masing-masing. ID ekstensi yang saat ini didukung adalah 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 '{}'

Berikut adalah contoh output untuk perintah penginstalan:

{
      "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>"
}

Setelah selesai menginstal ekstensi, Anda dapat menyerap data cuaca.

Jika Anda ingin memperbarui apiFreshnessTimeInMinutes, perbarui ekstensi dengan menggunakan perintah PowerShell berikut ini. Ganti semua nilai dalam tanda kurung sudut dengan nilai lingkungan Anda masing-masing.

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>}}}'

Perintah pembaruan sebelumnya menggabungkan operasi patch. Ini memperbarui waktu kesegaran hanya untuk API yang disebutkan dalam perintah dan mempertahankan nilai waktu kesegaran untuk API lain seperti sebelumnya.

Berikut adalah contoh output untuk perintah pembaruan:

{
  "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"
}

Langkah 2: Mengambil data cuaca

Setelah Anda mendapatkan kredensial yang diperlukan untuk mengakses API, Anda perlu memanggil WEATHER Data API untuk mengambil data cuaca.