Dela via


Schemalägga och sända jobb med Azure CLI

Använd Azure CLI för att schemalägga och spåra jobb som uppdaterar miljontals enheter. Använd jobb för att:

  • Uppdatera önskade egenskaper
  • Uppdatera taggar
  • Anropa direktmetoder

Konceptuellt omsluter ett jobb en av dessa åtgärder och spårar körningens förlopp mot en uppsättning enheter. En enhetstvillingfråga definierar den uppsättning enheter som ett jobb interagerar med. En serverdelsapp kan till exempel använda ett jobb för att anropa en omstartsmetod på 10 000 enheter, som anges av en enhetstvillingfråga och schemaläggs vid en framtida tidpunkt. Programmet kan sedan spåra förloppet när var och en av dessa enheter tar emot och kör omstartsmetoden.

Mer information om hur jobb hjälper till att hantera hanteringsåtgärder för massenheter finns i Schemalägga jobb på flera enheter.

Kommentar

De funktioner som beskrivs i den här artikeln är endast tillgängliga på standardnivån för IoT Hub. Mer information om de grundläggande och standard-/kostnadsfria IoT Hub-nivåerna finns i Välj rätt IoT Hub-nivå för din lösning.

Förutsättningar

  • Azure CLI. Du kan också köra kommandona i den här artikeln med hjälp av Azure Cloud Shell, ett interaktivt CLI-gränssnitt som körs i webbläsaren eller i en app som Windows-terminal. Om du använder Cloud Shell behöver du inte installera något. Om du föredrar att använda CLI lokalt kräver den här artikeln Azure CLI version 2.36 eller senare. Kör az --version för att hitta den installerade versionen. Information om hur du installerar eller uppgraderar Azure CLI lokalt finns i Installera Azure CLI.

  • En IoT-hubb i din Azure-prenumeration. Om du inte har någon hubb ännu kan du följa stegen i Skapa en IoT-hubb.

Schemalägga ett jobb för att anropa en direktmetod

Du kan använda jobb för att anropa en direktmetod på en eller flera enheter.

Använd kommandot az iot hub job create och ersätt följande platshållare med motsvarande värden. Kommandot schemalägger ett jobb som anropar ett metodnamn på målenheterna.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleDeviceMethod \
                      --method-name {MethodName} --method-payload {MethodPayload} \
                      --query-condition "{DeviceQuery}"
Platshållare Värde
{HubName} Namnet på din IoT-hubb.
{JobName} Namnet på ditt schemalagda jobb. Jobbnamn är unika, så välj ett annat jobbnamn varje gång du kör det här kommandot.
{MethodName} Namnet på din direktmetod.
{MethodPayload} Alla nyttolaster som ska tillhandahållas till direktmetoden. Om ingen nyttolast krävs använder du null.
{DeviceQuery} En fråga som definierar enheten eller enheterna som ska riktas mot jobbet. Ett enskilt enhetsjobb kan till exempel använda följande frågevillkor: deviceId = 'myExampleDevice'.

Dricks

När du schemalägger ett jobb az iot hub job create-kommando som anropar en direktmetod måste du ange värden för både och --method-payload --method-name valfria parametrar. För direkta metoder som inte accepterar en nyttolast anger du null för parametern --method-payload .

Schemalägga ett jobb för att uppdatera egenskaper för enhetstvillingar

Du kan använda jobb för att uppdatera en önskad egenskap för enhetstvillingar.

Använd kommandot az iot hub job create och ersätt följande platshållare med motsvarande värden. I det här exemplet schemalägger vi ett jobb för att ange värdet för den önskade tvillingegenskapen BuildingNo till 45 för vår simulerade enhet.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleUpdateTwin \
                      --twin-patch '{JSONTwinPatch}' \
                      --query-condition "{DeviceQuery}"
Platshållare Värde
{HubName} Namnet på din IoT-hubb.
{JobName} Namnet på ditt schemalagda jobb. Jobbnamn är unika, så välj ett annat jobbnamn varje gång du kör det här kommandot.
{JSONTwinPatch} JSON-kodfragmentet som du vill använda för att uppdatera enhetstvillingens önskade egenskaper. Exempel: {"properties":{"desired": {"BuildingNo": 45}}}
{DeviceQuery} En fråga som definierar enheten eller enheterna som ska riktas mot jobbet. Ett enskilt enhetsjobb kan till exempel använda följande frågevillkor: deviceId = 'myExampleDevice'.

Lär dig hur du implementerar jobb programmatiskt med hjälp av Azure IoT SDK:er: Schemalägg och sänd jobb.