Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam panduan cepat ini, Anda akan menggunakan Azure CLI untuk menentukan pekerjaan Stream Analytics yang menyaring pesan sensor waktu nyata dengan pembacaan suhu yang lebih besar dari 27. Pekerjaan Azure Stream Analytics membaca data dari IoT Hub, mengubah data, dan menulis data output ke kontainer dalam penyimpanan blob. Data input yang digunakan dalam panduan mulai cepat ini dihasilkan oleh simulator online Raspberry Pi.
Sebelum Anda mulai
Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah az login. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Mengautentikasi ke Azure menggunakan Azure CLI.
Saat diminta, instal ekstensi Azure CLI saat pertama kali digunakan. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan dan mengelola ekstensi dengan Azure CLI.
Jalankan az version untuk menemukan versi dan pustaka dependen yang terinstal. Untuk meng-upgrade ke versi terbaru, jalankan az upgrade.
Buat grup sumber daya. Semua sumber daya Azure harus disebarkan ke dalam grup sumber daya. Grup sumber daya memungkinkan Anda menata dan mengelola sumber daya Azure terkait.
Untuk mulai cepat ini, buat grup sumber daya bernama streamanalyticsrg di lokasi eastus dengan perintah az group create berikut:
az group create --name streamanalyticsrg --location eastus
Menyiapkan data input
Sebelum mendefinisikan tugas Stream Analytics, siapkan data yang digunakan untuk input tugas tersebut. Perintah Azure CLI berikut menyiapkan data input yang diperlukan oleh pekerjaan.
Buat IoT Hub menggunakan perintah az iot hub create . Contoh ini membuat IoT Hub yang disebut MyASAIoTHub. Karena nama IoT Hub harus unik secara global, Anda mungkin perlu mengubahnya jika nama tersebut sudah ada yang memakai. Atur SKU ke F1 untuk menggunakan tingkat gratis jika tersedia dengan langganan Anda. Jika tidak, pilih tingkat terendah berikutnya.
iotHubName=MyASAIoTHub az iot hub create --name $iotHubName --resource-group streamanalyticsrg --sku S1Setelah hub IoT dibuat, dapatkan IoT Hub string koneksi menggunakan perintah az iot hub connection-string show. Salin seluruh string koneksi dan simpan. Anda menggunakannya saat menambahkan IoT Hub sebagai input ke pekerjaan Stream Analytics Anda.
az iot hub connection-string show --hub-name $iotHubNameTambahkan perangkat ke IoT Hub menggunakan perintah az iothub device-identity create . Contoh ini membuat perangkat bernama MyASAIoTDevice.
az iot hub device-identity create --hub-name $iotHubName --device-id "MyASAIoTDevice"Dapatkan string koneksi perangkat IoT menggunakan perintah az iot hub device-identity connection-string show. Salin seluruh string koneksi dan simpan saat Anda membuat simulator Raspberry Pi.
az iot hub device-identity connection-string show --hub-name $iotHubName --device-id "MyASAIoTDevice" --output tableContoh output:
HostName=MyASAIoTHub.azure-devices.net;DeviceId=MyASAIoTDevice;SharedAccessKey=a2mnUsg52+NIgYudxYYUNXI67r0JmNubmfVafojG8=
Membuat akun penyimpanan blob
Perintah Azure CLI berikut membuat akun penyimpanan blob yang digunakan untuk output tugas.
Buat akun penyimpanan tujuan umum dengan perintah az storage account create . Akun penyimpanan tujuan umum dapat digunakan untuk keempat layanan: blob, file, tabel, dan antrean.
storageAccountName="asatutorialstorage$RANDOM" az storage account create \ --name $storageAccountName \ --resource-group streamanalyticsrg \ --location eastus \ --sku Standard_ZRS \ --encryption-services blobDapatkan kunci untuk akun penyimpanan Anda dengan menjalankan perintah az storage account keys list .
key=$(az storage account keys list -g streamanalyticsrg -n $storageAccountName --query "[0].value" -o tsv) echo $keyPenting
Catat kunci akses untuk akun penyimpanan Azure. Anda akan menggunakan kunci ini nanti dalam panduan cepat ini.
Buat kontainer bernama
stateuntuk menyimpan blob dengan perintah az storage container create . Anda menggunakan kunci akun penyimpanan untuk mengotorisasi operasi untuk membuat kontainer. Untuk informasi selengkapnya tentang mengotorisasi operasi data dengan Azure CLI, lihat Mengotorisasi akses ke data blob atau antrean dengan Azure CLI.az storage container create \ --account-name $storageAccountName \ --name state \ --account-key $key \ --auth-mode key
Membuat tugas Stream Analytics
Buat pekerjaan Azure Stream Analytics dengan perintah az stream-analytics job create .
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"
Konfigurasikan input ke pekerjaan
Tambahkan input ke pekerjaan Anda dengan menggunakan cmdlet az stream-analytics input. Cmdlet ini mengambil nama pekerjaan, nama input pekerjaan, nama grup sumber daya, dan properti input dalam format JSON sebagai parameter. Dalam contoh ini, Anda akan membuat IoT Hub sebagai input.
Penting
- Ganti
IOT HUB ACCESS KEYdengan nilai Kunci Akses Bersama di string koneksi IOT Hub yang Anda simpan. Misalnya, jika string koneksi IOT Hub adalah:HostName=MyASAIoTHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=xxxxxxxxxxxxxx=, nilai Kunci Akses Bersama adalahxxxxxxxxxxxxxx=. Saat mengganti nilai, pastikan Anda tidak menghapus karakter escape\untuk"(tanda kutip ganda). - Perbarui nilai
iotHubNamespacedalam perintah berikut jika Anda menggunakan nama selainMyASAIoTHub. Jalankanecho $iotHubNameuntuk melihat nama IoT Hub Anda.
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"
Konfigurasikan output ke pekerjaan
Tambahkan output ke pekerjaan Anda dengan menggunakan cmdlet az stream-analytics output create. Cmdlet ini mengambil nama pekerjaan, nama output pekerjaan, nama grup sumber daya, sumber data dalam format JSON, dan jenis serialisasi sebagai parameter.
Penting
Ganti STORAGEACCOUNTNAME> dengan nama akun Azure Storage Anda dan STORAGEACCESSKEY> dengan kunci akses untuk akun penyimpanan Anda. Jika Anda tidak mencatat nilai-nilai ini, jalankan perintah berikut untuk mendapatkannya: echo $storageAccountName dan echo $key. Saat mengganti nilai, pastikan Anda tidak menghapus karakter \ (escape) untuk tanda kutip ganda ".
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
Tentukan kueri transformasi
Tambahkan transformasi pada pekerjaan Anda dengan menggunakan cmdlet az stream-analytics transformation create.
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"
Menjalankan simulator IoT
Ganti tempat penampung di baris 15 dengan seluruh string koneksi Perangkat Azure IoT Hub (bukan string koneksi IoT Hub) yang Anda simpan di awal mulai cepat.
Pilih Jalankan. Outputnya harus menunjukkan data sensor dan pesan yang dikirim ke IoT Hub Anda.
Memulai pekerjaan Stream Analytics dan memeriksa output
Mulai tugas dengan menggunakan cmdlet az stream-analytics job start. Cmdlet ini mengambil nama pekerjaan, nama grup sumber daya, mode mulai output, dan waktu mulai sebagai parameter.
OutputStartMode menerima nilai JobStartTime, CustomTime, atau LastOutputEventTime.
Setelah Anda menjalankan cmdlet berikut, ia mengembalikan True sebagai output ketika pekerjaan dimulai.
az stream-analytics job start \
--resource-group streamanalyticsrg \
--name streamanalyticsjob \
--output-start-mode JobStartTime
Beri beberapa menit lalu verifikasi bahwa file output dibuat dalam state kontainer blob.
Unduh dan buka file untuk melihat beberapa entri yang mirip dengan yang berikut ini:
{
"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
}
}
Membersihkan sumber daya
Hapus grup sumber daya, yang akan menghapus semua sumber daya dalam grup sumber daya termasuk pekerjaan Azure Stream Analytics, IoT Hub, dan akun Azure Storage.
az group delete \
--name streamanalyticsrg \
--no-wait
Langkah selanjutnya
Dalam pengenalan cepat ini, Anda mengatur pekerjaan Stream Analytics sederhana menggunakan Azure CLI. Anda juga dapat menyebarkan pekerjaan Analisis Aliran menggunakan portal Microsoft Azure dan Visual Studio.
Untuk mempelajari cara mengonfigurasi sumber input lain dan melakukan deteksi real time, lanjutkan ke artikel berikut: