Share via


Aufnehmen von Wettervorhersagedaten in zure Data Manager for Agriculture

Wetter ist ein hochdemokratisierter Dienst in der Landwirtschaft. Data Manager for Agriculture bietet der Kundschaft die Möglichkeit, mit dem Wetteranbieter ihrer Wahl zu arbeiten.

Azure Data Manager for Agriculture bietet Wetter- und Prognosedaten über einen erweiterungsbasierten und anbieterunabhängigen Ansatz. Sie können mit einem Anbieter Ihrer Wahl arbeiten, indem Sie die Schritte zum Schreiben einer Wettererweiterungausführen.

Designübersicht

Da Azure Data Manager for Agriculture Wetterdaten über den anbieterunabhängigen Ansatz bereitstellt , müssen Sie mit den APIs des Anbieters nicht vertraut sein. Stattdessen können Sie unabhängig vom Anbieter dieselben Azure Data Manager for Agriculture APIs verwenden.

Hier sind einige Hinweise zum Verhalten von anbieterunabhängigen APIs:

  • Sie können Wetterdaten für bis zu 50 Standorte in einem einzigen Aufruf anfordern.
  • Wetterberichtdaten sind nicht älter als 15 Minuten. Daten für aktuelle Bedingungen sind nicht älter als 10 Minuten.
  • Sobald der anfängliche Aufruf für einen Speicherort erfolgt, werden die Daten für die definierte Gültigkeitsdauer (Time To Live, TTL) zwischengespeichert.
  • Um den Cache warm zu halten, können Sie den apiFreshnessTimeInMinutes-Parameter in der Wettererweiterung verwenden. Die Plattform lässt einen Auftrag für die festgelegte Zeitspanne laufen und aktualisiert den Cache. Der Standardwert ist Null, was bedeutet, dass der Cache standardmäßig nicht warmgehalten wird.

In den folgenden Abschnitten finden Sie die Befehle zum Abrufen von Wetterdaten und zum Einlesen in Azure Data Manager for Agriculture.

Schritt 1: Installieren der Wettererweiterung

Um die Erweiterung zu installieren, führen Sie den folgenden Befehl mithilfe des Azure Resource Manager ARMClient-Tools aus.

Ersetzen Sie alle Werte in eckigen Klammern (<>) durch Ihre jeweiligen Umgebungswerte. Die derzeit unterstützte Erweiterungs-ID ist 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 '{}'

Hier sehen Sie eine Beispielausgabe für den Installationsbefehl:

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

Nachdem Sie die Installation der Erweiterung abgeschlossen haben, können Sie Wetterdaten aufnehmen.

Wenn Sie apiFreshnessTimeInMinutes aktualisieren möchten, aktualisieren Sie die Erweiterung mithilfe des folgenden PowerShell-Befehls. Ersetzen Sie alle Werte in eckigen Klammern durch Die jeweiligen Umgebungswerte.

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

Der oben genannte Updatebefehl führt Patchvorgänge zusammen. Er aktualisiert die Aktualitätszeit nur für die im Befehl erwähnte API und behält die Werte für „Aktualitätszeit“ für andere APIs wie zuvor bei.

Hier sehen Sie eine Beispielausgabe für den Updatebefehl:

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

Schritt 2: Abrufen von Wetterdaten

Nachdem Sie die Anmeldeinformationen erhalten haben, die für den Zugriff auf die APIs erforderlich sind, müssen Sie die Wetterdaten-API aufrufen, um Wetterdaten abzurufen.