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 PowerShell modülü, PowerShell cmdlet'lerini veya betiklerini kullanarak Azure kaynakları oluşturmak ve yönetmek için kullanılır. Bu hızlı başlangıçta, Azure Stream Analytics işini dağıtmak ve çalıştırmak için Azure PowerShell modülünün nasıl kullanılacağı gösterilmektedir.
Örnek iş, bir IoT Hub cihazından akış verilerini okur. Giriş verileri raspberry pi çevrimiçi simülatörü tarafından oluşturulur. Stream Analytics işi, sıcaklık 27° 'den yüksek olan iletileri filtrelemek için Stream Analytics sorgu dilini kullanarak verileri dönüştürür. Ardından, elde edilen çıkış olaylarını blob depolamadaki bir dosyaya yazar.
Başlamadan önce
- Azure aboneliğiniz yoksa ücretsiz hesap oluşturun.
- Bu hızlı başlangıç için Azure PowerShell modülü gerekir. Yerel makinenizde yüklü sürümü bulmak için
Get-Module -ListAvailable Azkomutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure PowerShell Modülü yükleme. - Bazı IoT Hub eylemleri Azure PowerShell tarafından desteklenmez ve Azure CLI sürüm 2.0.70 veya üzeri ile Azure CLI için IoT uzantısı kullanılarak tamamlanması gerekir.
Azure CLI'yi yükleyin ve IoT uzantısını yüklemek için kullanın
az extension add --name azure-iot.
Azure'da oturum açma
komutuyla Connect-AzAccount Azure aboneliğinizde oturum açın ve açılır tarayıcıya Azure kimlik bilgilerinizi girin:
# Connect to your Azure account
Connect-AzAccount
Birden fazla aboneliğiniz varsa aşağıdaki cmdlet'leri çalıştırarak bu hızlı başlangıç için kullanmak istediğiniz aboneliği seçin.
<your subscription name> değerini aboneliğinizin adıyla değiştirdiğinizden emin olun:
# List all available subscriptions.
Get-AzSubscription
# Select the Azure subscription you want to use to create the resource group and resources.
Get-AzSubscription -SubscriptionName "<your subscription name>" | Select-AzSubscription
Kaynak grubu oluşturma
New-AzResourceGroup ile bir Azure kaynak grubu oluşturun. Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.
$resourceGroup = "StreamAnalyticsRG"
$location = "WestUS2"
New-AzResourceGroup `
-Name $resourceGroup `
-Location $location
Girdi verilerini hazırlama
Stream Analytics işini tanımlamadan önce, işe girdi olarak yapılandırılan verileri hazırlayın.
Aşağıdaki Azure CLI kod bloğu, işin gerektirdiği giriş verilerini hazırlamak için birçok komut içerir. Kodu anlamak için aşağıdaki bölümleri gözden geçirin.
PowerShell pencerenizde komutunu çalıştırarak
az loginAzure hesabınızda oturum açın.Başarıyla oturum açtığınızda, Azure CLI aboneliklerinizin listesini döndürür. Bu hızlı başlangıç için kullandığınız aboneliği kopyalayın ve bu aboneliği seçmek için komutunu çalıştırın
az account set. PowerShell ile önceki bölümde seçtiğiniz aboneliğin aynısını seçin. değerini aboneliğinizin adıyla değiştirdiğinden<your subscription name>emin olun.az login az account set --subscription "<your subscription>"komutunu kullanarak
az iot hub createbir IoT Hub oluşturun. Bu örnek, MyASAIoTHub adlı bir IoT Hub oluşturur. IoT Hub adları benzersiz olduğundan kendi IoT Hub adınızı oluşturmanız gerekir. Aboneliğinizde varsa ücretsiz katmanı kullanmak için SKU'yu F1 olarak ayarlayın. Aksi takdirde sonraki en düşük katmanı seçin.az iot hub create --name "MyASAIoTHub" --resource-group $resourceGroup --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. IoT Hub'ı Stream Analytics işinize giriş olarak eklerken buna ihtiyacınız vardır.
az iot hub connection-string show --resource-group $resourceGroup --hub-name "MyASAIoTHub"komutunu kullanarak IoT Hub'a
az iot hub device-identity createbir cihaz ekleyin. Bu örnek MyASAIoTDevice adlı bir cihaz oluşturur.az iot hub device-identity create --resource-group $resourceGroup --hub-name "MyASAIoTHub" --device-id "MyASAIoTDevice"komutunu kullanarak
az iot hub device-identity connection-string showcihaz bağlantı dizesi 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 --resource-group $resourceGroup --hub-name "MyASAIoTHub" --device-id "MyASAIoTDevice" --output tableÇıkış örneği:
HostName=MyASAIoTHub.azure-devices.net;DeviceId=MyASAIoTDevice;SharedAccessKey=a2mnUsg52+NIgYudxYYUNXI67r0JmNubmfVafojG8=
Blob depolama oluşturma
Aşağıdaki Azure PowerShell kod bloğu, iş çıktısı için kullanılan blob depolama oluşturmak için komutları kullanır. Kodu anlamak için bölümleri gözden geçirin.
New-AzStorageAccount cmdlet'ini kullanarak standart bir genel amaçlı depolama hesabı oluşturun. Bu örnek, yerel olarak yedekli depolama (LRS) ve blob şifrelemesi (varsayılan olarak etkin) ile myasaquickstartstorage adlı bir depolama hesabı oluşturur.
Kullanılacak depolama hesabını tanımlayan
$storageAccount.Contextdepolama hesabı bağlamını alın. Depolama hesaplarıyla çalışırken kimlik bilgilerini tekrar tekrar sağlamak yerine bağlama başvurursunuz.New-AzStorageContainer kullanarak bir depolama kapsayıcısı oluşturun.
Kod tarafından çıktısı alınan depolama anahtarını kopyalayın ve daha sonra akış işinin çıkışını oluşturmak için bu anahtarı kaydedin.
$storageAccountName = "myasaquickstartstorage" $storageAccount = New-AzStorageAccount ` -ResourceGroupName $resourceGroup ` -Name $storageAccountName ` -Location $location ` -SkuName Standard_LRS ` -Kind Storage $ctx = $storageAccount.Context $containerName = "container1" New-AzStorageContainer ` -Name $containerName ` -Context $ctx $storageAccountKey = (Get-AzStorageAccountKey ` -ResourceGroupName $resourceGroup ` -Name $storageAccountName).Value[0] Write-Host "The <storage account key> placeholder needs to be replaced in your output json files with this key value:" Write-Host $storageAccountKey -ForegroundColor Cyan
Akış Analizi işi oluşturma
New-AzStreamAnalyticsJob cmdlet'iyle bir Stream Analytics işi oluşturun. Bu cmdlet iş adını, kaynak grubu adını, konumu ve sku adını parametre olarak alır. İş adı, işinizi tanımlayan herhangi bir kolay ad olabilir. Yalnızca alfasayısal karakterler, kısa çizgiler ve alt çizgi içerebilir ve 3 ile 63 karakter uzunluğunda olmalıdır.
cmdlet'ini New-AzStreamAnalyticsJob çalıştırın.
$jobName = "MyStreamingJob"
New-AzStreamAnalyticsJob `
-ResourceGroupName $resourceGroup `
-Name $jobName `
-Location centralus `
-SkuName Standard
İş girdisini yapılandırma
New-AzStreamAnalyticsInput cmdlet'ini kullanarak işinize giriş ekleyin. Bu cmdlet iş adı, iş girdisi adı, kaynak grubu adı ve iş girdisi tanımını parametre olarak alır. İş girdisi tanımı işin girdisini yapılandırmak için gereken özellikleri içeren bir JSON dosyasıdır. Bu örnekte, giriş olarak bir blob depolama alanı oluşturursunuz.
Yerel makinenizde JobInputDefinition.json adlı bir dosya oluşturun ve içine aşağıdaki JSON verilerini ekleyin.
Önemli
- değerini, önceki bölümde kaydettiğiniz IoT Hub bağlantı dizesi bölümüyle
accesspolicykeydeğiştirinSharedAccessKey. - IoT hub'ı için farklı bir ad kullandıysanız değerini güncelleştirin
iotHubNamespace.
{
"properties": {
"type": "Stream",
"datasource": {
"type": "Microsoft.Devices/IotHubs",
"properties": {
"iotHubNamespace": "MyASAIoTHub",
"sharedAccessPolicyName": "iothubowner",
"sharedAccessPolicyKey": "accesspolicykey",
"endpoint": "messages/events",
"consumerGroupName": "$Default"
}
},
"compression": {
"type": "None"
},
"serialization": {
"type": "Json",
"properties": {
"encoding": "UTF8"
}
}
},
"name": "IoTHubInput",
"type": "Microsoft.StreamAnalytics/streamingjobs/inputs"
}
PowerShell değişkenini $jobInputDefinitionFile iş giriş tanımı JSON dosyasını depoladığınız yola ayarlayın.
$jobInputDefinitionFile = "C:\JobInputDefinition.json"
Ardından, Stream Analytics işi için bir Azure IoT Hub girişi oluşturmak için cmdlet'ini çalıştırın New-AzStreamAnalyticsInput .
$jobInputName = "IoTHubInput"
New-AzStreamAnalyticsInput `
-ResourceGroupName $resourceGroup `
-JobName $jobName `
-File $jobInputDefinitionFile `
-Name $jobInputName
İş çıktısını yapılandırma
New-AzStreamAnalyticsOutput cmdlet'ini kullanarak işinize bir çıkış ekleyin. Bu cmdlet iş adı, iş çıktısı adı, kaynak grubu adı ve iş çıktısı tanımını parametre olarak alır. İş çıktısı tanımı işin çıktısını yapılandırmak için gereken özellikleri içeren bir JSON dosyasıdır. Bu örnek, çıktı olarak blob depolama kullanır.
Yerel makinenizde JobOutputDefinition.json adlı bir dosya oluşturun ve içine aşağıdaki JSON verilerini ekleyin.
Önemli
değerini accountKey depolama hesabınızın değerde $storageAccountKey depolanan değer olan erişim anahtarıyla değiştirin.
{
"properties": {
"datasource": {
"type": "Microsoft.Storage/Blob",
"properties": {
"storageAccounts": [
{
"accountName": "asaquickstartstorage",
"accountKey": "<storage account key>"
}
],
"container": "container1",
"pathPattern": "output/",
"dateFormat": "yyyy/MM/dd",
"timeFormat": "HH"
}
},
"serialization": {
"type": "Json",
"properties": {
"encoding": "UTF8",
"format": "LineSeparated"
}
}
},
"name": "BlobOutput",
"type": "Microsoft.StreamAnalytics/streamingjobs/outputs"
}
PowerShell değişkenini $jobOutputDefinitionFile iş çıktı tanımı JSON dosyasını depoladığınız yola ayarlayın.
$jobOutputDefinitionFile = "C:\JobOutputDefinition.json"
Ardından, Stream Analytics işi için bir Azure Blob Depolama çıkışı oluşturmak için cmdlet'ini çalıştırınNew-AzStreamAnalyticsOutput.
$jobOutputName = "BlobOutput"
New-AzStreamAnalyticsOutput `
-ResourceGroupName $resourceGroup `
-JobName $jobName `
-File $jobOutputDefinitionFile `
-Name $jobOutputName
Dönüşüm sorgusunu tanımlama
New-AzStreamAnalyticsTransformation cmdlet'ini kullanarak işinizi dönüştürme ekleyin. Bu cmdlet iş adı, iş dönüşümü adı, kaynak grubu adı ve iş dönüşümü tanımını parametre olarak alır. Yerel makinenizde JobTransformationDefinition.json adlı bir dosya oluşturun ve içine aşağıdaki JSON verilerini ekleyin. JSON dosyası, dönüşüm sorgusunu tanımlayan bir sorgu parametresi içerir:
{
"name":"MyTransformation",
"type":"Microsoft.StreamAnalytics/streamingjobs/transformations",
"properties":{
"streamingUnits":1,
"script":null,
"query":"SELECT * INTO BlobOutput FROM IoTHubInput WHERE Temperature > 27"
}
}
Ardından, New-AzStreamAnalyticsTransformation cmdlet'ini çalıştırın.
$jobTransformationName = "MyJobTransformation"
$jobTransformationDefinitionFile = "C:\JobTransformationDefinition.json"
New-AzStreamAnalyticsTransformation `
-ResourceGroupName $resourceGroup `
-JobName $jobName `
-Query "SELECT * INTO BlobOutput FROM IoTHubInput WHERE Temperature > 27" `
-StreamingUnit 1 `
-Name $jobTransformationName
IoT simülatörünü çalıştırma
15. Satır'daki yer tutucuyu önceki bir bölüme kaydettiğiniz azure iot hub cihazı bağlantı dizesi tamamıyla değiştirin.
Çalıştır'a tıklayın. Çı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
Start-AzStreamAnalyticsJob 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. Bu değerlerin her birinin ne anlama geldiği hakkında daha fazla bilgi için PowerShell belgelerindeki parametreler bölümüne bakın.
Aşağıdaki cmdlet’i çalıştırdıktan sonra iş başlarsa çıktı olarak True değeri döndürülür. Depolama kapsayıcısında, dönüştürülmüş verilerle birlikte bir çıktı klasörü oluşturulur.
Start-AzStreamAnalyticsJob `
-ResourceGroupName $resourceGroup `
-Name $jobName `
-OutputStartMode 'JobStartTime'
Kaynakları temizleme
Artık gerekli olmadığında kaynak grubunu, akış işini ve tüm ilgili kaynakları silin. İşin silinmesi, iş tarafından kullanılan akış birimlerinin faturalanmasını önler. İşi gelecekte kullanmayı planlıyorsanız, silme işlemini atlayıp işi şimdilik durdurabilirsiniz. Bu işi kullanmaya devam etmeyecekseniz, aşağıdaki cmdlet'i çalıştırarak bu hızlı başlangıç tarafından oluşturulan tüm kaynakları silin:
Remove-AzResourceGroup `
-Name $resourceGroup
Sonraki adımlar
Bu hızlı başlangıçta PowerShell 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: