Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a rövid útmutatóban az Azure CLI használatával definiál egy Stream Analytics-feladatot, amely 27-nél nagyobb hőmérsékleten szűri a valós idejű érzékelőüzeneteket. A Stream Analytics-feladat adatokat olvas be az IoT Hubról, átalakítja az adatokat, és a kimeneti adatokat egy blobtárolóban lévő tárolóba írja. Az ebben a rövid útmutatóban használt bemeneti adatokat egy Raspberry Pi online szimulátor hozza létre.
Mielőtt hozzákezdene
Ha még nem rendelkezik Azure-fiókkal, első lépésként hozzon létre egy ingyenes fiókot.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: Az Azure Cloud Shell használatának első lépései.
Ha a CLI referencia parancsokat helyben szeretnéd futtatni, telepítsd az Azure CLI-t. Ha Windows vagy macOS rendszeren fut, fontolja meg az Azure CLI-t egy Docker-konténerben futtatni. További információkért lásd: Az Azure CLI használata Docker-konténerben.
Ha egy helyileg telepített verziót használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. Az azonosítási folyamat befejezéséhez kövesse a terminálján megjelenő lépéseket. További bejelentkezési lehetőségekért lásd: Hitelesítés az Azure-ba az Azure CLI használatával.
Amikor megjelenik a felszólítás, az első használatkor telepítse az Azure CLI bővítményt. További információ a bővítményekről: Bővítmények használata és kezelése az Azure CLI-vel.
Futtasd a az version parancsot, hogy megtudd a telepített verziót és függő könyvtárakat. A legújabb verzióra való frissítéshez futtassa a az upgrade parancsot.
Hozzon létre egy erőforráscsoportot. Minden Azure-erőforrást egy erőforráscsoportba kell telepíteni. Az erőforráscsoportok lehetővé teszik az egymáshoz kapcsolódó Azure-erőforrások rendszerezését és kezelését.
Ebben a rövid útmutatóban hozzon létre egy streamanalyticsrg nevű erőforráscsoportot az eastus helyen az alábbi az group create paranccsal:
az group create --name streamanalyticsrg --location eastus
A bemeneti adatok előkészítése
A Stream Analytics-feladat definiálása előtt készítse elő a feladat bemenetéhez használt adatokat. Az alábbi Azure CLI-parancsok előkészítik a feladathoz szükséges bemeneti adatokat.
Hozzon létre egy IoT Hubot az az iot hub create paranccsal. Ez a példa létrehoz egy MyASAIoTHub nevű IoT Hubot. Mivel az IoT Hub-neveknek globálisan egyedinek kell lenniük, előfordulhat, hogy módosítania kell a nevet, ha már foglalt. Állítsa az SKU-t F1 értékre az ingyenes szint használatához, ha az elérhető az előfizetésével. Ha nem, válassza a következő legalacsonyabb szintet.
iotHubName=MyASAIoTHub az iot hub create --name $iotHubName --resource-group streamanalyticsrg --sku S1Az IoT Hub létrehozása után kérje le az IoT Hub kapcsolati sztring az az iot hub connection-string show parancsával. Másolja ki a teljes kapcsolati sztring, és mentse. Ezt az IoT Hub hozzáadásakor használja a Stream Analytics-feladat bemeneteként.
az iot hub connection-string show --hub-name $iotHubNameAdjon hozzá egy eszközt az IoT Hubhoz az az iothub device-identity create paranccsal. Ez a példa létrehoz egy MyASAIoTDevice nevű eszközt.
az iot hub device-identity create --hub-name $iotHubName --device-id "MyASAIoTDevice"Szerezze meg az eszköz kapcsolati karakterláncot a az iot hub device-identity connection-string show paranccsal. Másolja ki a teljes kapcsolati sztring, és mentse a Raspberry Pi-szimulátor létrehozásakor.
az iot hub device-identity connection-string show --hub-name $iotHubName --device-id "MyASAIoTDevice" --output tablePélda kimenetre:
HostName=MyASAIoTHub.azure-devices.net;DeviceId=MyASAIoTDevice;SharedAccessKey=a2mnUsg52+NIgYudxYYUNXI67r0JmNubmfVafojG8=
Blob Storage-fiók létrehozása
Az alábbi Azure CLI-parancsok létrehoznak egy blobtároló fiókot , amelyet a feladat kimenetéhez használnak.
Hozzon létre egy általános célú tárfiókot az az storage account create paranccsal. Az általános célú tárfiók mind a négy szolgáltatáshoz használható: blobokhoz, fájlokhoz, táblákhoz és üzenetsorokhoz.
storageAccountName="asatutorialstorage$RANDOM" az storage account create \ --name $storageAccountName \ --resource-group streamanalyticsrg \ --location eastus \ --sku Standard_ZRS \ --encryption-services blobKérje le a tárfiók kulcsát az az storage account keys list parancs futtatásával.
key=$(az storage account keys list -g streamanalyticsrg -n $storageAccountName --query "[0].value" -o tsv) echo $keyFontos
Jegyezze fel az Azure Storage-fiók hozzáférési kulcsát. Ezt a kulcsot a gyors kezdés későbbi részében fogja használni.
Hozzon létre egy blobok tárolására szolgáló
statetárolót az az storage container create paranccsal. A tárfiókkulcs használatával engedélyezheti a műveletet a tároló létrehozásához. További információ az adatműveletek Azure CLI-vel való engedélyezéséről: Blob- vagy üzenetsoradatokhoz való hozzáférés engedélyezése az Azure CLI-vel.az storage container create \ --account-name $storageAccountName \ --name state \ --account-key $key \ --auth-mode key
Stream Analytics-feladat létrehozása
Hozzon létre egy Stream Analytics-feladatot a az stream-analytics job create parancs segítségével.
az stream-analytics job create \
--job-name "streamanalyticsjob" \
--resource-group "streamanalyticsrg" \
--location "eastus" \
--output-error-policy "Drop" \
--out-of-order-policy "Drop" \
--order-max-delay 5 \
--arrival-max-delay 16 \
--data-locale "en-US"
A feladat bemenetének konfigurálása
Adjon hozzá egy bemenetet a munkához az az stream-analytics input parancsmag használatával. Ez a parancsmag paraméterként veszi fel a feladat nevét, a feladat bemeneti nevét, az erőforráscsoport nevét és a bemeneti tulajdonságokat JSON formátumban. Ebben a példában egy IoT Hubot fog létrehozni bemenetként.
Fontos
- Cserélje le
IOT HUB ACCESS KEYa megosztott hozzáférési kulcs értékét a mentett IOT Hub kapcsolati sztringben. Ha például az IOT Hub kapcsolati sztringje a következő:HostName=MyASAIoTHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=xxxxxxxxxxxxxx=, akkor a Közös Hozzáférési Kulcs értéke:xxxxxxxxxxxxxx=. Az érték cseréjekor győződjön meg arról, hogy nem törli az\(escape) karaktert a"(dupla idézőjelek) jelöléshez. - Frissítse a következő parancs
iotHubNamespaceértékét, ha más nevet adott megMyASAIoTHubhelyett. Futtassa aecho $iotHubNameparancsot, hogy megtekinthesse az IoT Hub nevét.
az stream-analytics input create \
--properties "{\"type\":\"Stream\",\"datasource\":{\"type\":\"Microsoft.Devices/IotHubs\",\"properties\":{\"consumerGroupName\":\"\$Default\",\"endpoint\":\"messages/events\",\"iotHubNamespace\":\"MyASAIoTHub\",\"sharedAccessPolicyKey\":\"IOT HUB ACCESS KEY\",\"sharedAccessPolicyName\":\"iothubowner\"}},\"serialization\":{\"type\":\"Json\",\"encoding\":\"UTF8\"}}" \
--input-name "asaiotinput" \
--job-name "streamanalyticsjob" \
--resource-group "streamanalyticsrg"
A feladat kimenetének konfigurálása
Adjon hozzá egy kimenetet a feladathoz az az stream-analytics output create parancsmag használatával. Ez a parancsmag a feladat nevét, a feladat kimenetének nevét, az erőforráscsoport nevét, az adatforrást JSON formátumban, a szerializáció típusát pedig paraméterként veszi fel.
Fontos
Cserélje le STORAGEACCOUNTNAME> az Azure Storage-fiók nevére és STORAGEACCESSKEY> a tárfiók hozzáférési kulcsára. Ha nem jegyezte fel ezeket az értékeket, futtassa a következő parancsokat a lekéréshez: echo $storageAccountName és echo $key. Értékek cseréjekor győződjön meg arról, hogy nem törli a \ escape karaktert, ami a " kettős idézőjelekhez tartozik.
az stream-analytics output create \
--job-name streamanalyticsjob \
--datasource "{\"type\":\"Microsoft.Storage/Blob\",\"properties\":{\"container\":\"state\",\"dateFormat\":\"yyyy/MM/dd\",\"pathPattern\":\"{date}/{time}\",\"storageAccounts\":[{\"accountKey\":\"STORAGEACCESSKEY\",\"accountName\":\"STORAGEACCOUNTNAME\"}],\"timeFormat\":\"HH\"}}" \
--serialization "{\"type\":\"Json\",\"properties\":{\"format\":\"Array\",\"encoding\":\"UTF8\"}}" \
--output-name asabloboutput \
--resource-group streamanalyticsrg
A transzformációs lekérdezés definiálása
Adjon hozzá egy átalakítást a munkájához az az stream-analytics transformation create parancsmag használatával.
az stream-analytics transformation create \
--resource-group streamanalyticsrg \
--job-name streamanalyticsjob \
--name Transformation \
--streaming-units "6" \
--saql "SELECT * INTO asabloboutput FROM asaiotinput WHERE Temperature > 27"
Az IoT-szimulátor futtatása
Nyissa meg a Raspberry Pi Azure IoT Online szimulátort.
Cserélje le a helyőrzőt a 15. sorban az egész Azure IoT Hub eszköz kapcsolati karakterlánccal, amelyet a gyorsútmutató elején mentett el (nem az IoT Hub kapcsolati karakterlánccal).
Válassza a Futtatás parancsot. A kimenetnek az IoT Hubra küldött érzékelőadatokat és üzeneteket kell megjelenítenie.
A Stream Analytics-feladat indítása és a kimenet ellenőrzése
Indítsa el a feladatot az az stream-analytics feladat indítási parancsmagjának használatával. Ennél a parancsmagnál a feladat neve, az erőforráscsoport neve, a feladat kimenetének indítási módja, és a kezdés ideje adható meg paraméterként. Az OutputStartMode által elfogadott értékek: JobStartTime, CustomTime és LastOutputEventTime.
A következő parancsmag futtatása a True kimenetet adja vissza, ha a feladat elindult.
az stream-analytics job start \
--resource-group streamanalyticsrg \
--name streamanalyticsjob \
--output-start-mode JobStartTime
Adjon neki néhány percet, majd ellenőrizze, hogy létrejön-e kimeneti fájl a state blobtárolóban.
Töltse le és nyissa meg a fájlt az alábbihoz hasonló bejegyzések megtekintéséhez:
{
"messageId": 229,
"deviceId": "Raspberry Pi Web Client",
"temperature": 31.85214010589595,
"humidity": 60.278830289656284,
"EventProcessedUtcTime": "2023-02-28T22:06:33.5567789Z",
"PartitionId": 3,
"EventEnqueuedUtcTime": "2023-02-28T22:05:49.6520000Z",
"IoTHub": {
"MessageId": null,
"CorrelationId": null,
"ConnectionDeviceId": "MyASAIoTDevice",
"ConnectionDeviceGenerationId": "638132150746523845",
"EnqueuedTime": "2023-02-28T22:05:49.6520000Z",
"StreamId": null
}
}
Erőforrások tisztítása
Törölje az erőforráscsoportot, amely törli az erőforráscsoport összes erőforrását, beleértve a Stream Analytics-feladatot, az IoT Hubot és az Azure Storage-fiókot.
az group delete \
--name streamanalyticsrg \
--no-wait
Következő lépések
Ebben a rövid útmutatóban üzembe helyezett egy egyszerű Stream Analytics-feladatot az Azure CLI használatával. A Stream Analytics-feladatokat az Azure Portallal és a Visual Studióval is üzembe helyezheti.
Az egyéb bemeneti források beállításával és a valós idejű észlelés végrehajtásával kapcsolatos információkért olvassa el az alábbi cikkeket: