Sdílet prostřednictvím


Plánování a vysílání úloh pomocí Azure CLI

Pomocí Azure CLI můžete plánovat a sledovat úlohy, které aktualizují miliony zařízení. Použití úloh k:

  • Aktualizace požadovaných vlastností
  • Aktualizace značek
  • Vyvolání přímých metod

Úloha zabalí jednu z těchto akcí a sleduje průběh provádění v sadě zařízení. Dotaz dvojčete zařízení definuje sadu zařízení, se kterými úloha komunikuje. Back-endová aplikace může například pomocí úlohy vyvolat metodu restartování na 10 000 zařízeních určených dotazem dvojčete zařízení a naplánovat ji v budoucnu. Tato aplikace pak může sledovat průběh, když každé z těchto zařízení přijme a spustí metodu restartování.

Další informace o tom, jak úlohy pomáhají spravovat hromadné operace správy zařízení, najdete v tématu Plánování úloh na více zařízeních.

Poznámka:

Funkce popsané v tomto článku jsou k dispozici pouze na úrovni Standard služby IoT Hub. Další informace o úrovních Služby IoT Hub úrovně Basic a Standard/Free najdete v tématu Volba správné úrovně IoT Hubu pro vaše řešení.

Požadavky

  • Rozhraní příkazového řádku Azure. Příkazy v tomto článku můžete spustit také pomocí azure Cloud Shellu, interaktivního prostředí cli, které běží v prohlížeči nebo v aplikaci, jako je Terminál Windows. Pokud používáte Cloud Shell, nemusíte nic instalovat. Pokud raději používáte rozhraní příkazového řádku místně, tento článek vyžaduje Azure CLI verze 2.36 nebo novější. Nainstalovanou verzi zjistíte spuštěním rutiny az --version. Pokud chcete místně nainstalovat nebo upgradovat Azure CLI, přečtěte si téma Instalace Azure CLI.

  • Centrum IoT ve vašem předplatném Azure Pokud centrum ještě nemáte, můžete postupovat podle kroků v tématu Vytvoření centra IoT.

Naplánování úlohy pro vyvolání přímé metody

Úlohy můžete použít k vyvolání přímé metody na jednom nebo více zařízeních.

Použijte příkaz az iot hub job create a nahraďte následující zástupné symboly odpovídajícími hodnotami. Příkaz naplánuje úlohu, která na cílových zařízeních volá název metody.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleDeviceMethod \
                      --method-name {MethodName} --method-payload {MethodPayload} \
                      --query-condition "{DeviceQuery}"
Zástupný symbol Hodnota
{HubName} Název vašeho centra IoT.
{JobName} Název naplánované úlohy. Názvy úloh jsou jedinečné, proto při každém spuštění tohoto příkazu zvolte jiný název úlohy.
{MethodName} Název přímé metody.
{MethodPayload} Veškerá datová část, která se má poskytnout přímé metodě. Pokud není vyžadována žádná datová část, použijte null.
{DeviceQuery} Dotaz, který definuje zařízení nebo zařízení, na která se má úloha cílit. Například jedna úloha zařízení může použít následující podmínku dotazu: deviceId = 'myExampleDevice'.

Tip

Při plánování úlohy az iot hub job create příkaz, který vyvolá přímou metodu, musíte zadat hodnoty pro parametry --method-name i --method-payload volitelné parametry. U přímých metod, které nepřijímají datovou část, zadejte null parametr --method-payload .

Naplánování úlohy pro aktualizaci vlastností dvojčete zařízení

Pomocí úloh můžete aktualizovat požadovanou vlastnost dvojčete zařízení.

Použijte příkaz az iot hub job create a nahraďte následující zástupné symboly odpovídajícími hodnotami. V tomto příkladu plánujeme úlohu, která nastaví hodnotu požadované vlastnosti BuildingNo dvojčete na 45 pro naše simulované zařízení.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleUpdateTwin \
                      --twin-patch '{JSONTwinPatch}' \
                      --query-condition "{DeviceQuery}"
Zástupný symbol Hodnota
{HubName} Název vašeho centra IoT.
{JobName} Název naplánované úlohy. Názvy úloh jsou jedinečné, proto při každém spuštění tohoto příkazu zvolte jiný název úlohy.
{JSONTwinPatch} Fragment kódu JSON, který chcete použít k aktualizaci požadovaných vlastností dvojčete zařízení. Například {"properties":{"desired": {"BuildingNo": 45}}}.
{DeviceQuery} Dotaz, který definuje zařízení nebo zařízení, na která se má úloha cílit. Například jedna úloha zařízení může použít následující podmínku dotazu: deviceId = 'myExampleDevice'.

Naučte se implementovat úlohy prostřednictvím kódu programu pomocí sad SDK Azure IoT: Úlohy plánování a vysílání.