Planowanie i emisja zadań za pomocą interfejsu wiersza polecenia platformy Azure
Użyj interfejsu wiersza polecenia platformy Azure, aby zaplanować i śledzić zadania aktualizujące miliony urządzeń. Użyj zadań, aby:
- Aktualizowanie żądanych właściwości
- Aktualizowanie tagów
- Wywoływanie metod bezpośrednich
Koncepcyjnie zadanie opakowuje jedną z tych akcji i śledzi postęp wykonywania względem zestawu urządzeń. Zapytanie bliźniaczej reprezentacji urządzenia definiuje zestaw urządzeń, z którymi współdziała zadanie. Na przykład aplikacja zaplecza może używać zadania do wywoływania metody ponownego uruchamiania na 10 000 urządzeniach określonych przez zapytanie bliźniaczej reprezentacji urządzenia i zaplanowane w przyszłości. Następnie aplikacja może śledzić postęp, gdy każde z tych urządzeń odbiera i wykonuje metodę ponownego rozruchu.
Aby dowiedzieć się więcej o tym, jak zadania ułatwiają zarządzanie operacjami zarządzania urządzeniami zbiorczym, zobacz Planowanie zadań na wielu urządzeniach.
Uwaga
Funkcje opisane w tym artykule są dostępne tylko w warstwie Standardowa usługi IoT Hub. Aby uzyskać więcej informacji na temat warstw podstawowej i standardowej/bezpłatnej usługi IoT Hub, zobacz Wybieranie odpowiedniej warstwy usługi IoT Hub dla rozwiązania.
Wymagania wstępne
Interfejs wiersza polecenia platformy Azure. Możesz również uruchomić polecenia w tym artykule przy użyciu usługi Azure Cloud Shell, interaktywnej powłoki interfejsu wiersza polecenia działającej w przeglądarce lub w aplikacji, takiej jak Terminal Windows. Jeśli używasz usługi Cloud Shell, nie musisz instalować żadnych elementów. Jeśli wolisz używać interfejsu wiersza polecenia lokalnie, ten artykuł wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.36 lub nowszej. Aby dowiedzieć się, jaka wersja została zainstalowana, uruchom polecenie
az --version
. Aby zainstalować lokalnie lub uaktualnić interfejs wiersza polecenia platformy Azure, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.Centrum IoT w ramach subskrypcji platformy Azure. Jeśli nie masz jeszcze centrum, możesz wykonać kroki opisane w temacie Tworzenie centrum IoT Hub.
Planowanie zadania w celu wywołania metody bezpośredniej
Za pomocą zadań można wywołać metodę bezpośrednią na co najmniej jednym urządzeniu.
Użyj polecenia az iot hub job create, zastępując następujące symbole zastępcze odpowiednimi wartościami. Polecenie planuje zadanie, które wywołuje nazwę metody na urządzeniach docelowych.
az iot hub job create --hub-name {HubName} --job-id {JobName} \
--job-type scheduleDeviceMethod \
--method-name {MethodName} --method-payload {MethodPayload} \
--query-condition "{DeviceQuery}"
Symbol zastępczy | Wartość |
---|---|
{HubName} |
Nazwa centrum IoT Hub. |
{JobName} |
Nazwa zaplanowanego zadania. Nazwy zadań są unikatowe, dlatego za każdym razem, gdy uruchomisz to polecenie, wybierz inną nazwę zadania. |
{MethodName} |
Nazwa metody bezpośredniej. |
{MethodPayload} |
Każdy ładunek, który ma zostać dostarczony do metody bezpośredniej. Jeśli nie jest wymagany ładunek, użyj polecenia null . |
{DeviceQuery} |
Zapytanie definiujące urządzenie lub urządzenia docelowe z zadaniem. Na przykład jedno zadanie urządzenia może użyć następującego warunku zapytania: deviceId = 'myExampleDevice' . |
Napiwek
Podczas planowania zadania az iot hub job create polecenie, które wywołuje metodę bezpośrednią, należy określić wartości zarówno dla parametrów, jak --method-name
i --method-payload
opcjonalnych. W przypadku metod bezpośrednich, które nie akceptują ładunku, określ null
parametr .--method-payload
Planowanie zadania w celu zaktualizowania właściwości bliźniaczej reprezentacji urządzenia
Za pomocą zadań można zaktualizować żądaną właściwość bliźniaczej reprezentacji urządzenia.
Użyj polecenia az iot hub job create, zastępując następujące symbole zastępcze odpowiednimi wartościami. W tym przykładzie planujemy zadanie ustawiania wartości żądanej właściwości BuildingNo
bliźniaczej na 45 dla naszego symulowanego urządzenia.
az iot hub job create --hub-name {HubName} --job-id {JobName} \
--job-type scheduleUpdateTwin \
--twin-patch '{JSONTwinPatch}' \
--query-condition "{DeviceQuery}"
Symbol zastępczy | Wartość |
---|---|
{HubName} |
Nazwa centrum IoT Hub. |
{JobName} |
Nazwa zaplanowanego zadania. Nazwy zadań są unikatowe, dlatego za każdym razem, gdy uruchomisz to polecenie, wybierz inną nazwę zadania. |
{JSONTwinPatch} |
Fragment kodu JSON, którego chcesz użyć do zaktualizowania żądanych właściwości bliźniaczej reprezentacji urządzenia. Na przykład {"properties":{"desired": {"BuildingNo": 45}}} . |
{DeviceQuery} |
Zapytanie definiujące urządzenie lub urządzenia docelowe z zadaniem. Na przykład jedno zadanie urządzenia może użyć następującego warunku zapytania: deviceId = 'myExampleDevice' . |
Powiązana zawartość
Dowiedz się, jak programowo implementować zadania przy użyciu zestawów SDK usługi Azure IoT: Planowanie i emisja zadań.