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' . |
Kapcsolódó tartalom
Megtudhatja, hogyan implementálhat feladatokat programozott módon az Azure IoT SDK-k használatával: Feladatok ütemezése és közvetítése.