Megosztás a következőn keresztül:


Feladatok ütemezése és közvetítése az Azure CLI-vel

Az Azure CLI használatával ütemezheti és követheti nyomon az eszközök millióit frissítő feladatokat. Feladatok használata:

  • Eszköz kívánt tulajdonságainak frissítése
  • Címkék frissítése
  • Közvetlen metódusok meghívása

A feladatok elméletileg befuttatják az egyik ilyen műveletet, és nyomon követik a végrehajtás előrehaladását egy eszközkészleten. Az ikereszköz-lekérdezés határozza meg azokat az eszközöket, amelyekkel a feladat kommunikál. Egy háttéralkalmazás például egy feladattal meghívhat egy újraindítási metódust 10 000 eszközön, amelyet egy ikereszköz-lekérdezés határoz meg, és amelyet egy későbbi időpontban ütemeznek. Az alkalmazás ezután nyomon követheti az előrehaladást, amint az egyes eszközök megkapják és végrehajtják az újraindítási módszert.

Ha többet szeretne megtudni arról, hogy a feladatok hogyan segítenek a tömeges eszközfelügyeleti műveletek kezelésében, olvassa el a feladatok ütemezése több eszközön című témakört.

Feljegyzés

A cikkben ismertetett funkciók csak az IoT Hub standard szintjén érhetők el. Az alapszintű és standard/ingyenes IoT Hub-szintekről további információt a megoldáshoz megfelelő IoT Hub-szint kiválasztása című témakörben talál.

Előfeltételek

  • Azure parancssori felület (CLI). A cikkben szereplő parancsokat az Azure Cloud Shell használatával is futtathatja, amely egy interaktív CLI-rendszerhéj, amely a böngészőben vagy egy alkalmazásban, például a Windows Terminálban fut. Ha a Cloud Shellt használja, nem kell semmit telepítenie. Ha inkább helyileg szeretné használni a parancssori felületet, ehhez a cikkhez az Azure CLI 2.36-os vagy újabb verziója szükséges. A telepített verzió azonosításához futtassa a következőt: az --version. Az Azure CLI helyi telepítéséhez vagy frissítéséhez lásd: Az Azure CLI telepítése.

  • IoT Hub az Azure-előfizetésben. Ha még nem rendelkezik központokkal, kövesse az IoT Hub létrehozása című témakörben leírt lépéseket.

Feladat ütemezése közvetlen metódus meghívásához

A feladatok használatával közvetlen metódust hívhat meg egy vagy több eszközön.

Használja az az iot hub feladat létrehozási parancsát, és cserélje le a következő helyőrzőket a megfelelő értékekre. A parancs ütemez egy feladatot, amely metódusnevet hív meg a céleszközökön.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleDeviceMethod \
                      --method-name {MethodName} --method-payload {MethodPayload} \
                      --query-condition "{DeviceQuery}"
Helyőrző Érték
{HubName} Az IoT Hub neve.
{JobName} Az ütemezett feladat neve. A feladatnevek egyediek, ezért a parancs minden futtatásakor válasszon másik feladatnevet.
{MethodName} A közvetlen metódus neve.
{MethodPayload} A közvetlen módszernek nyújtandó hasznos adatok. Ha nincs szükség hasznos adatra, használja a következőt null: .
{DeviceQuery} Egy lekérdezés, amely meghatározza a feladattal megcélzott eszközt vagy eszközöket. Egy eszközfeladat például a következő lekérdezési feltételt használhatja: deviceId = 'myExampleDevice'.

Tipp.

A közvetlen metódust meghívó feladat az iot hub-feladat létrehozási parancsának ütemezésekor meg kell adnia az értékeket mind a paraméterek, mind az --method-name--method-payload opcionális paraméterek számára. Olyan közvetlen metódusok esetén, amelyek nem fogadnak el hasznos adatokat, adja meg null a --method-payload paramétert.

Feladat ütemezése ikereszköz-tulajdonságok frissítéséhez

Feladatok használatával frissítheti az ikereszköz kívánt tulajdonságát.

Használja az az iot hub feladat létrehozási parancsát, és cserélje le a következő helyőrzőket a megfelelő értékekre. Ebben a példában egy feladatot ütemezünk, amely a kívánt ikertulajdonság BuildingNo értékét 45-re állítja a szimulált eszközhöz.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleUpdateTwin \
                      --twin-patch '{JSONTwinPatch}' \
                      --query-condition "{DeviceQuery}"
Helyőrző Érték
{HubName} Az IoT Hub neve.
{JobName} Az ütemezett feladat neve. A feladatnevek egyediek, ezért a parancs minden futtatásakor válasszon másik feladatnevet.
{JSONTwinPatch} Az ikereszköz kívánt tulajdonságainak frissítéséhez használni kívánt JSON-kódrészlet. Például: {"properties":{"desired": {"BuildingNo": 45}}}.
{DeviceQuery} Egy lekérdezés, amely meghatározza a feladattal megcélzott eszközt vagy eszközöket. Egy eszközfeladat például a következő lekérdezési feltételt használhatja: deviceId = 'myExampleDevice'.

Megtudhatja, hogyan implementálhat feladatokat programozott módon az Azure IoT SDK-k használatával: Feladatok ütemezése és közvetítése.