Získání dat o počasí od partnerů pro počasí
Azure FarmBeats vám pomůže přenést data o počasí od poskytovatelů dat o počasí pomocí rozhraní konektoru založeného na Dockeru. Pomocí této architektury implementují poskytovatelé dat o počasí Docker, který lze integrovat s FarmBeats. V současné době se podporuje následující poskytovatel dat o počasí.
Důležité
Azure FarmBeats je vyřazeno. Veřejné oznámení si můžete prohlédnout tady.
Vytvořili jsme novou službu zaměřenou na zemědělství. Jmenuje se Azure Data Manager for Agriculture a teď je k dispozici jako služba Preview. Další informace najdete ve veřejné dokumentaci zde nebo nám napište na adrese madma@microsoft.com.
Data o počasí se dají použít ke generování akčních přehledů a vytváření modelů AI nebo ML v FarmBeats.
Než začnete
Pokud chcete získat data o počasí, ujistěte se, že jste nainstalovali FarmBeats. Integrace počasí je podporovaná ve verzích 1.2.11 a novějších.
Povolení integrace počasí s FarmBeats
Pokud chcete začít získávat data o počasí na datovém panelu FarmBeats:
Přejděte do datového centra FarmBeats Swagger
https://farmbeatswebsite-api.azurewebsites.net/swagger
.Přejděte do rozhraní /Partner API a vytvořte požadavek POST. Použijte následující vstupní datovou část:
{ "dockerDetails": { "credentials": { "username": "<credentials to access private docker - not required for public docker>", "password": "<credentials to access private docker – not required for public docker>" }, "imageName" : "<docker image name", "imageTag" : "<docker image tag, default:latest>", "azureBatchVMDetails": { "batchVMSKU" : "<VM SKU. Default is standard_d2_v2>", "dedicatedComputerNodes" : 1, "nodeAgentSKUID": "<Node SKU. Default is batch.node.ubuntu 18.04>" } }, "partnerCredentials": { "key1": "value1", "key2": "value2" }, "partnerType": "Weather", "name": "<Name of the partner>", "description": "<Description>", "properties": { } }
Pokud například chcete získat data o počasí z DTN, použijte následující datovou část. Název a popis můžete upravit podle svých preferencí.
Poznámka
Následující krok vyžaduje klíč rozhraní API. Pokud chcete získat klíč pro vaše předplatné DTN, kontaktujte DTN.
{ "dockerDetails": { "imageName": "dtnweather/dtn-farm-beats", "imageTag": "latest", "azureBatchVMDetails": { "batchVMSKU": "standard_d2_v2", "dedicatedComputerNodes": 1, "nodeAgentSKUID": "batch.node.ubuntu 18.04" } }, "partnerCredentials": { "apikey": "<API key from DTN>" }, "partnerType": "Weather", "name": "dtn-weather", "description": "DTN registered as a Weather Partner in FarmBeats" }
Poznámka
Další informace o objektu partnera najdete v příloze v tomto článku.
Předchozí krok zřídí prostředky, aby se Docker mohl spouštět v prostředí FarmBeats zákazníka.
Zřízení prostředků trvá přibližně 10 až 15 minut.
Zkontrolujte stav objektu /Partner, který jste vytvořili v předchozím kroku. Pokud chcete zkontrolovat stav, vytvořte požadavek GET v rozhraní /Partner API a zkontrolujte stav partnerského objektu. Jakmile FarmBeats úspěšně zřídí partnera, stav se nastaví na Aktivní.
V rozhraní API /JobType vytvořte požadavek GET. V procesu přidání partnera zkontrolujte úlohy počasí, které jste vytvořili dříve. V úlohách o počasí má pole pipelineName následující formát: partner-name_partner-type_job-name.
Teď má vaše instance FarmBeats aktivního partnera pro data o počasí. Můžete spustit úlohy a požádat o data o počasí pro konkrétní místo (zeměpisnou šířku a délku) a rozsah kalendářních dat. Typy úloh budou obsahovat podrobnosti o parametrech potřebných ke spouštění úloh počasí.
Například pro DTN se vytvoří následující typy úloh:
- get_dtn_daily_observations: Získejte denní pozorování místa a časového období.
- get_dtn_daily_forecasts: Získejte denní prognózy pro umístění a časové období.
- get_dtn_hourly_observations: Získejte hodinové pozorování místa a časového období.
- get_dtn_hourly_forecasts: Získejte hodinové prognózy pro umístění a časové období.
Poznamenejte si ID a parametry typů úloh.
Přejděte do rozhraní API /Jobs a vytvořte požadavek POST na /Jobs. Použijte následující vstupní datovou část:
{ "typeId": "<id of the JobType>", "arguments": { "additionalProp1": {}, "additionalProp2": {}, "additionalProp3": {} }, "name": "<name of the job>", "description": "<description>", "properties": {} }
Pokud chcete například spustit get_dtn_daily_observations, použijte následující datovou část:
{ "typeId": "<id of the JobType>", "arguments": { "latitude": 47.620422, "longitude": -122.349358, "days": 5 }, "name": "<name of the job>", "description": "<description>", "properties": {} }
Předchozí krok spustí úlohy počasí definované v partnerském Dockeru a ingestuje data o počasí do FarmBeats. Stav úlohy můžete zkontrolovat tak, že na /Jobs vytvoříte požadavek GET. V odpovědi vyhledejte currentState. Po dokončení je hodnota currentStatenastavená na Úspěch.
Dotazování na ingestované údaje o počasí
Po dokončení úloh počasí můžete pomocí rozhraní REST API datového centra FarmBeats dotazovat ingestovaná data o počasí a vytvářet modely nebo užitečné přehledy.
Dotazování dat o počasí pomocí rozhraní REST API FarmBeats:
V datovém sadě FarmBeats Swagger přejděte do rozhraní API /WeatherDataLocation a vytvořte požadavek GET. Odpověď obsahuje objekty /WeatherDataLocation vytvořené pro umístění (zeměpisnou šířku a délku), které byla úloha spuštěna. Poznamenejte si ID a weatherDataModelId objektů.
Proveďte požadavek GET/{id} v rozhraní API /WeatherDataModel pro weatherDataModelId stejně jako dříve. Datový model počasí zobrazuje všechna metadata a podrobnosti o přijatých datech počasí. Například v objektu datového modelu počasí míra počasí podrobně popisuje, jaké informace o počasí jsou podporovány a v jakých typech a jednotkách. Příklad:
{ "name": "Temperature <name of the weather measure - this is what we will receive as part of the queried weather data>", "dataType": "Double <Data Type - eg. Double, Enum>", "type": "AmbientTemperature <Type of measure eg. AmbientTemperature, Wind speed etc.>", "unit": "Celsius <Unit of measure eg. Celsius, Percentage etc.>", "aggregationType": "None <either of None, Average, Maximum, Minimum, StandardDeviation, Sum, Total>", "description": "<Description of the measure>" }
Poznamenejte si odpověď volání GET/{id} pro datový model počasí.
Přejděte do rozhraní API pro telemetrii a vytvořte požadavek POST. Použijte následující vstupní datovou část:
{ "weatherDataLocationId": "<id from step 1 above>", "searchSpan": { "from": "2020-XX-XXT07:30:00Z", "to": "2020-XX-XXT07:45:00Z" } }
Odpověď zobrazí data o počasí, která jsou k dispozici pro zadaný časový rozsah:
{ "timestamps": [ "2020-XX-XXT07:30:00Z", "2020-XX-XXT07:45:00Z" ], "properties": [ { "values": [ "<id of the weatherDataLocation>", "<id of the weatherDataLocation>" ], "name": "Id", "type": "String" }, { "values": [ 29.1, 30.2 ], "name": "Temperature <name of the WeatherMeasure as defined in the WeatherDataModel object>", "type": "Double <Data Type of the value - eg. Double>" } ] }
V předchozím příkladu odpověď zobrazuje data pro dvě časová razítka. Zobrazuje také název míry (teplota) a hodnoty hlášených dat o počasí ve dvou časových razítkách. Pokud chcete interpretovat typ a jednotku hlášených hodnot, projděte si přidružený datový model počasí.
Řešení potíží se selháním úloh
Pokud chcete řešit potíže se selháními úloh, zkontrolujte protokoly úloh.
Přílohy
Partner | Podrobnosti |
---|---|
DockerDetails – imageName | Název image Dockeru Například docker.io/mydockerimage (obrázek v hub.docker.com) nebo myazureacr.azurecr.io/mydockerimage (obrázek v Azure Container Registry) atd. Pokud není k dispozici žádný registr, je výchozí hub.docker.com. |
DockerDetails – imageTag | Název značky image Dockeru Výchozí hodnota je "nejnovější". |
DockerDetails – přihlašovací údaje | Přihlašovací údaje pro přístup k privátnímu Dockeru Partner poskytne přihlašovací údaje. |
DockerDetails – azureBatchVMDetails – batchVMSKU | Azure Batch skladové položky virtuálního počítače. Další informace najdete na všech dostupných virtuálních počítačích s Linuxem. Platné hodnoty jsou "Small", "ExtraLarge", "Large", "A8", "A9", "Medium", "A5", "A6", "A7", "STANDARD_D1", "STANDARD_D2", "STANDARD_D3", "STANDARD_D4", "STANDARD_D11", "STANDARD_D12", "STANDARD_D13", "STANDARD_D14", "A10", "A11", "STANDARD_D1_V2", "STANDARD_D2_V2", "STANDARD_D3_V2", "STANDARD_D4_V2", "STANDARD_D11_V2", "STANDARD_D12_V2", "STANDARD_D13_V2", "STANDARD_D14_V2", "STANDARD_G1", "STANDARD_G2", "STANDARD_G3", "STANDARD_G4", "STANDARD_G5", "STANDARD_D5_V2", "BASIC_A1", "BASIC_A2", "BASIC_A3", "BASIC_A4", "STANDARD_A1", "STANDARD_A2", "STANDARD_A3", "STANDARD_A4", "STANDARD_A5", "STANDARD_A6", "STANDARD_A7", "STANDARD_A8", "STANDARD_A9", "STANDARD_A10", "STANDARD_A11", "STANDARD_D15_V2", "STANDARD_F1", "STANDARD_F2", "STANDARD_F4", "STANDARD_F8", "STANDARD_F16", "STANDARD_NV6", "STANDARD_NV12", "STANDARD_NV24", "STANDARD_NC6", "STANDARD_NC12", "STANDARD_NC24", "STANDARD_NC24r", "STANDARD_H8", "STANDARD_H8m", "STANDARD_H16", "STANDARD_H16m", "STANDARD_H16mr", "STANDARD_H16r", "STANDARD_A1_V2", "STANDARD_A2_V2", "STANDARD_A4_V2", "STANDARD_A8_V2", "STANDARD_A2m_V2", "STANDARD_A4m_V2", "STANDARD_A8m_V2", "STANDARD_M64ms", "STANDARD_M128s" a "STANDARD_D2_V3". Výchozí hodnota je "STANDARD_D2_V2". |
DockerDetails – azureBatchVMDetails – dedicatedComputerNodes | Počet vyhrazených počítačových uzlů na fond dávky Výchozí hodnota je 1. |
DockerDetails – azureBatchVMDetails – nodeAgentSKUID | id skladové položky agenta uzlu Azure Batch. V současné době se podporuje pouze agent dávkového uzlu batch.node.ubuntu 18.04. |
DockerDetails – partnerCredentials | Přihlašovací údaje pro volání partnerského rozhraní API v Dockeru Partner poskytuje tyto informace na základě podporovaného mechanismu autorizace. například uživatelské jméno a heslo nebo klíče rozhraní API. |
partnerType | "Počasí". Dalšími typy partnerů v FarmBeats jsou "Sensor" a "Imagery". |
name | Požadovaný název partnera v systému FarmBeats. |
description | Popis |
Další kroky
Teď, když jste se dotazovali na data senzorů z instance Azure FarmBeats, se dozvíte, jak generovat mapy pro farmy.