Delen via


Taken plannen en uitzenden met Azure CLI

Gebruik de Azure CLI om taken te plannen en bij te houden die miljoenen apparaten bijwerken. Taken gebruiken om:

  • Gewenste eigenschappen bijwerken
  • Tags bijwerken
  • Directe methoden aanroepen

Conceptueel verpakt een taak een van deze acties en houdt de voortgang van de uitvoering bij op een set apparaten. Een apparaatdubbelquery definieert de set apparaten waarmee een taak communiceert. Een back-end-app kan bijvoorbeeld een taak gebruiken om een methode voor opnieuw opstarten aan te roepen op 10.000 apparaten, opgegeven door een apparaatdubbelquery en gepland op een later tijdstip. Deze toepassing kan vervolgens de voortgang bijhouden terwijl elk van deze apparaten de methode voor opnieuw opstarten ontvangt en uitvoert.

Zie Taken plannen op meerdere apparaten voor meer informatie over hoe taken helpen bij het beheren van bulkbewerkingen voor apparaatbeheer.

Notitie

De functies die in dit artikel worden beschreven, zijn alleen beschikbaar in de standaardlaag van de IoT Hub. Zie De juiste IoT Hub-laag voor uw oplossing kiezen voor meer informatie over de Basic- en Standard-/gratis IoT Hub-lagen.

Vereisten

  • Azure CLI. U kunt de opdrachten in dit artikel ook uitvoeren met behulp van De Azure Cloud Shell, een interactieve CLI-shell die wordt uitgevoerd in uw browser of in een app zoals Windows Terminal. Als u de Cloud Shell gebruikt, hoeft u niets te installeren. Als u de CLI liever lokaal gebruikt, is voor dit artikel Versie 2.36 of hoger van Azure CLI vereist. Voer az --version uit om te zien welke versie is geïnstalleerd. Zie Azure CLI installeren of upgraden om Azure CLI lokaal te installeren of bij te werken.

  • Een IoT-hub in uw Azure-abonnement. Als u nog geen hub hebt, kunt u de stappen volgen in Een IoT-hub maken.

Een taak plannen om een directe methode aan te roepen

U kunt taken gebruiken om een directe methode aan te roepen op een of meer apparaten.

Gebruik de opdracht az iot hub job create en vervang de volgende tijdelijke aanduidingen door de bijbehorende waarden. Met de opdracht wordt een taak gepland die een methodenaam aanroept op de doelapparaten.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleDeviceMethod \
                      --method-name {MethodName} --method-payload {MethodPayload} \
                      --query-condition "{DeviceQuery}"
Tijdelijke aanduiding Weergegeven als
{HubName} De naam van uw IoT-hub.
{JobName} De naam van uw geplande taak. Taaknamen zijn uniek, dus kies elke keer dat u deze opdracht uitvoert een andere taaknaam.
{MethodName} De naam van uw directe methode.
{MethodPayload} Elke nettolading die moet worden verstrekt aan de directe methode. Als er geen nettolading is vereist, gebruikt u null.
{DeviceQuery} Een query waarmee het apparaat of de apparaten worden gedefinieerd waarop de taak moet worden gericht. Een enkele apparaattaak kan bijvoorbeeld de volgende queryvoorwaarde gebruiken: deviceId = 'myExampleDevice'.

Tip

Bij het plannen van een taak az iot hub job create command die een directe methode aanroept, moet u waarden opgeven voor zowel de --method-name als --method-payload optionele parameters. Geef null voor directe methoden die geen nettolading accepteren op voor de --method-payload parameter.

Een taak plannen om eigenschappen van een apparaatdubbel bij te werken

U kunt taken gebruiken om een gewenste eigenschap van een apparaatdubbel bij te werken.

Gebruik de opdracht az iot hub job create en vervang de volgende tijdelijke aanduidingen door de bijbehorende waarden. In dit voorbeeld plannen we een taak om de waarde van de gewenste dubbeleigenschap BuildingNo in te stellen op 45 voor ons gesimuleerde apparaat.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleUpdateTwin \
                      --twin-patch '{JSONTwinPatch}' \
                      --query-condition "{DeviceQuery}"
Tijdelijke aanduiding Weergegeven als
{HubName} De naam van uw IoT-hub.
{JobName} De naam van uw geplande taak. Taaknamen zijn uniek, dus kies elke keer dat u deze opdracht uitvoert een andere taaknaam.
{JSONTwinPatch} Het JSON-fragment dat u wilt gebruiken om de gewenste eigenschappen van de apparaatdubbel bij te werken. Bijvoorbeeld: {"properties":{"desired": {"BuildingNo": 45}}}.
{DeviceQuery} Een query waarmee het apparaat of de apparaten worden gedefinieerd waarop de taak moet worden gericht. Een enkele apparaattaak kan bijvoorbeeld de volgende queryvoorwaarde gebruiken: deviceId = 'myExampleDevice'.

Meer informatie over het programmatisch implementeren van taken met behulp van de Azure IoT SDK's: Taken plannen en uitzenden.