Sdílet prostřednictvím


Ingestování dat předpovědi počasí v Azure Data Manageru pro zemědělství

Počasí je vysoce demokratizovaná služba v zemědělství. Azure Data Manager pro zemědělství nabízí zákazníkům možnost pracovat s poskytovatelem počasí podle vlastního výběru.

Azure Data Manager pro zemědělství poskytuje aktuální a prognózovaná data o počasí prostřednictvím přístupu založeného na rozšíření a nezávislém na poskytovateli. S poskytovatelem podle vašeho výběru můžete pracovat podle kroků pro napsání rozšíření počasí.

Přehled designu

Vzhledem k tomu, že Azure Data Manager pro zemědělství poskytuje data o počasí prostřednictvím přístupu nezávislého na poskytovateli, nemusíte být obeznámeni s rozhraními API poskytovatele. Místo toho můžete použít stejná rozhraní API Azure Data Manageru pro zemědělství bez ohledu na poskytovatele.

Tady je několik poznámek k chování rozhraní API nezávislého na poskytovateli:

  • V jednom hovoru můžete požádat o data o počasí až pro 50 míst.
  • Data prognózy nejsou starší než 15 minut. Data pro aktuální podmínky nejsou starší než 10 minut.
  • Po počátečním volání pro umístění se data ukládají do mezipaměti pro definovaný čas k živému (TTL).
  • Pokud chcete zachovat mezipaměť v teplém prostředí, můžete použít apiFreshnessTimeInMinutes parametr v rozšíření počasí. Platforma udržuje úlohu spuštěnou po definovanou dobu a aktualizuje mezipaměť. Výchozí hodnota je nula, což znamená, že mezipaměť není ve výchozím nastavení zahřátá.

Následující části obsahují příkazy pro načtení dat o počasí a jejich příjem do Azure Data Manageru pro zemědělství.

Krok 1: Instalace rozšíření počasí

Pokud chcete rozšíření nainstalovat, spusťte následující příkaz pomocí nástroje Azure Resource Manager ARMClient.

Nahraďte všechny hodnoty v hranatých závorkách (<>) odpovídajícími hodnotami prostředí. ID rozšíření, které je aktuálně podporováno, je 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 '{}'

Tady je ukázkový výstup pro příkaz instalace:

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

Po dokončení instalace rozšíření můžete ingestovat data o počasí.

Pokud chcete aktualizovat apiFreshnessTimeInMinutes, aktualizujte rozšíření pomocí následujícího příkazu PowerShellu. Nahraďte všechny hodnoty v hranatých závorkách příslušnými hodnotami prostředí.

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

Předchozí příkaz update slučuje operace oprav. Aktualizuje čas aktuálnosti pouze pro rozhraní API uvedené v příkazu a zachovává hodnoty času aktuálnosti pro jiná rozhraní API, jak byly předtím.

Tady je ukázkový výstup příkazu update:

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

Krok 2: Načtení dat o počasí

Jakmile získáte přihlašovací údaje potřebné pro přístup k rozhraním API, musíte volat rozhraní API pro data o počasí, aby se načítala data o počasí.