Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure CLI kullanarak, bu hızlı başlangıçta 27 dereceden büyük bir sıcaklık okumasına sahip gerçek zamanlı algılayıcı iletilerini filtreleyen bir Stream Analytics işi tanımlayacaksınız. Stream Analytics işi IoT Hub'dan verileri okur, verileri dönüştürür ve çıktı verilerini blob depolamadaki bir kapsayıcıya yazar. Bu hızlı başlangıçta kullanılan giriş verileri bir Raspberry Pi çevrimiçi simülatörü tarafından oluşturulur.
Başlamadan önce
Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'i kullanmaya başlama.
CLI referans komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleyin. Windows veya macOS üzerinde çalışıyorsanız, Azure CLI'yi bir Docker konteynerinde çalıştırmayı düşünün. Daha fazla bilgi için Azure CLI'nin bir Docker konteynerında nasıl çalıştırılacağını inceleyin.
Yerel bir kurulum kullanıyorsanız, az login komutunu kullanarak Azure CLI'ye giriş yapın. Kimlik doğrulama işlemini tamamlamak için, terminalinizde görüntülenen adımları takip edin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'da kimlik doğrulaması.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma ve yönetme.
Yüklü olan sürümü ve bağımlı kütüphaneleri bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Bir kaynak grubu oluşturun. Tüm Azure kaynaklarının bir kaynak grubuna dağıtılması gerekir. Kaynak grupları, ilgili Azure kaynaklarını düzenlemenizi ve yönetmenizi sağlar.
Bu hızlı başlangıç için, aşağıdaki az group create komutuyla eastus konumunda streamanalyticsrg adlı bir kaynak grubu oluşturun:
az group create --name streamanalyticsrg --location eastus
Girdi verilerini hazırlama
Stream Analytics işini tanımlamadan önce, işin girişi için kullanılan verileri hazırlayın. Aşağıdaki Azure CLI komutları, işin gerektirdiği giriş verilerini hazırlar.
az iot hub create komutunu kullanarak bir IoT Hub oluşturun. Bu örnek, MyASAIoTHub adlı bir IoT Hub oluşturur. IoT Hub adlarının genel olarak benzersiz olması gerektiğinden, zaten alınmışsa adı değiştirmeniz gerekebilir. Aboneliğinizde varsa ücretsiz katmanı kullanmak için SKU'yu F1 olarak ayarlayın. Aksi takdirde sonraki en düşük katmanı seçin.
iotHubName=MyASAIoTHub az iot hub create --name $iotHubName --resource-group streamanalyticsrg --sku S1IoT hub'ı oluşturulduktan sonra az iot hub connection-string show komutunu kullanarak IoT Hub bağlantı dizesi alın. tüm bağlantı dizesi kopyalayın ve kaydedin. Bunu, IoT Hub'ı Stream Analytics işinize giriş olarak eklerken kullanırsınız.
az iot hub connection-string show --hub-name $iotHubNameaz iothub device-identity create komutunu kullanarak IoT Hub'a cihaz ekleyin. Bu örnek MyASAIoTDevice adlı bir cihaz oluşturur.
az iot hub device-identity create --hub-name $iotHubName --device-id "MyASAIoTDevice"az iot hub device-identity connection-string show komutunu kullanarak cihaz bağlantı dizesini alın. Bağlantı dizesi tamamını kopyalayın ve Raspberry Pi simülatörünü oluştururken için kaydedin.
az iot hub device-identity connection-string show --hub-name $iotHubName --device-id "MyASAIoTDevice" --output tableÇıkış örneği:
HostName=MyASAIoTHub.azure-devices.net;DeviceId=MyASAIoTDevice;SharedAccessKey=a2mnUsg52+NIgYudxYYUNXI67r0JmNubmfVafojG8=
Blob depolama hesabı oluşturma
Aşağıdaki Azure CLI komutları, iş çıktısı için kullanılan bir blob depolama hesabı oluşturur.
az storage account create komutuyla genel amaçlı bir depolama hesabı oluşturun . Genel amaçlı depolama hesabı dört hizmet için de kullanılabilir: bloblar, dosyalar, tablolar ve kuyruklar.
storageAccountName="asatutorialstorage$RANDOM" az storage account create \ --name $storageAccountName \ --resource-group streamanalyticsrg \ --location eastus \ --sku Standard_ZRS \ --encryption-services blobaz storage account keys list komutunu çalıştırarak depolama hesabınızın anahtarını alın.
key=$(az storage account keys list -g streamanalyticsrg -n $storageAccountName --query "[0].value" -o tsv) echo $keyÖnemli
Azure depolama hesabının erişim anahtarını not edin. Bu hızlı başlangıcın ilerleyen bölümlerinde bu anahtarı kullanacaksınız.
az storage container create komutuyla blobları depolamak için adlı
statebir kapsayıcı oluşturun . Kapsayıcıyı oluşturma işlemini yetkilendirmek için depolama hesabı anahtarını kullanırsınız. Azure CLI ile veri işlemlerini yetkilendirme hakkında daha fazla bilgi için bkz. Azure CLI ile blob veya kuyruk verilerine erişimi yetkilendirme.az storage container create \ --account-name $storageAccountName \ --name state \ --account-key $key \ --auth-mode key
Akış Analizi Görevi Oluşturun
az stream-analytics job create komutuyla bir Stream Analytics işi oluşturun.
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"
İş girdisini yapılandırma
az stream-analytics input cmdlet'ini kullanarak işinize giriş ekleyin. Bu cmdlet iş adını, iş giriş adını, kaynak grubu adını ve JSON biçimindeki giriş özelliklerini parametre olarak alır. Bu örnekte giriş olarak bir IoT Hub oluşturacaksınız.
Önemli
- "
IOT HUB ACCESS KEY'i kaydettiğiniz IOT Hub bağlantı dizesindeki Paylaşılan Erişim Anahtarı değeriyle değiştirin." Örneğin, IOT Hub bağlantı dizesi:HostName=MyASAIoTHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=xxxxxxxxxxxxxx=ise, Paylaşılan Erişim Anahtarı değeri olurxxxxxxxxxxxxxx=. Değeri değiştirirken,\(çift tırnak) için"(kaçış) karakterini silmediğinizden emin olun. -
iotHubNamespacedışında bir ad kullandıysanız, aşağıdaki komuttaMyASAIoTHubdeğerini güncelleştirin. IoT Hub'ınızın adını görmek için komutunu çalıştırınecho $iotHubName.
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"
İş çıktısını yapılandırma
az stream-analytics output create cmdlet'ini kullanarak işinize bir çıkış ekleyin. Bu cmdlet iş adını, iş çıktı adını, kaynak grubu adını, JSON biçiminde veri kaynağını ve serileştirme türünü parametre olarak alır.
Önemli
Azure Depolama hesabınızın adı için STORAGEACCOUNTNAME> ve depolama hesabınızın erişim anahtarı için STORAGEACCESSKEY> değerini değiştirin. Bu değerleri not almadıysanız, bunları almak için aşağıdaki komutları çalıştırın: echo $storageAccountName ve echo $key. Değerleri değiştirirken, \ (çift tırnak) için " (kaçış) karakterini silmediğinizden emin olun.
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
Dönüşüm sorgusunu tanımlama
az stream-analytics transformation create cmdlet'ini kullanarak işinize bir dönüşüm ekleyin.
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"
IoT simülatörünü çalıştırma
15. satırdaki yer tutucuyu, hızlı başlangıç başında kaydettiğiniz Azure IoT Hub Cihaz bağlantı dizesinin (IoT Hub bağlantı dizesi değil) tamamıyla değiştirin.
Çalıştır'ı seçin. Çıktıda IoT Hub'ınıza gönderilen algılayıcı verileri ve iletileri gösterilmelidir.
Stream Analytics işini başlatıp çıktıyı denetleyin
az stream-analytics job start cmdlet'ini kullanarak işi başlatın. Bu cmdlet iş adı, kaynak grubu adı, çıktı başlangıç modu ve başlangıç saatini parametre olarak alır.
OutputStartMode; JobStartTime, CustomTime veya LastOutputEventTime değerlerini kabul eder.
Aşağıdaki cmdlet’i çalıştırdıktan sonra iş başlarsa çıktı olarak True değeri döndürülür.
az stream-analytics job start \
--resource-group streamanalyticsrg \
--name streamanalyticsjob \
--output-start-mode JobStartTime
Birkaç dakika bekleyin ve ardından blob kapsayıcısında bir çıkış dosyası oluşturulduğunu state doğrulayın.
Aşağıdakine benzer birkaç girdi görmek için dosyayı indirip açın:
{
"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
}
}
Kaynakları temizle
Kaynak grubunu silin; bu da Stream Analytics işi, IoT Hub ve Azure Depolama hesabı dahil olmak üzere kaynak grubundaki tüm kaynakları siler.
az group delete \
--name streamanalyticsrg \
--no-wait
Sonraki Adımlar
Bu hızlı başlangıçta, Azure CLI kullanarak basit bir Stream Analytics işi dağıttınız. Stream Analytics işlerini Azure portalı ve Visual Studio’yu kullanarak da dağıtabilirsiniz.
Diğer girdi kaynaklarını yapılandırma ve gerçek zamanlı algılama hakkında bilgi almak için aşağıdaki makaleye geçin: