События
31 мар., 23 - 2 апр., 23
Самое большое событие обучения Fabric, Power BI и SQL. 31 марта – 2 апреля. Используйте код FABINSIDER, чтобы сэкономить $400.
Зарегистрироваться сегодняЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Модуль PowerShell используется для создания ресурсов Azure и управления ими с помощью командлетов или скриптов PowerShell. В этом кратком руководстве показано, как использовать модуль Azure PowerShell для развертывания и запуска задания Azure Stream Analytics.
Пример задания считывает потоковые данные с устройства Центр Интернета вещей. Входные данные создаются онлайн-симулятором Raspberry Pi. Задание Stream Analytics преобразует данные с помощью языка запросов Stream Analytics для фильтрации сообщений с температурой больше 27°. Затем он записывает полученные выходные события в файл в хранилище BLOB-объектов.
Get-Module -ListAvailable Az
, чтобы найти версию, установленную на вашем локальном компьютере. Если вам необходимо выполнить установку или обновление, см. статью об установке модуля Azure PowerShell.az extension add --name azure-iot
для установки расширения Интернета вещей.Войдите в свою подписку Azure с помощью команды Connect-AzAccount
и введите учетные данные Azure во всплывающем окне браузера.
# Connect to your Azure account
Connect-AzAccount
Если у вас есть несколько подписок, выберите ту, которую вы хотите использовать при работе с этим кратким руководством, запустив следующие командлеты. Не забудьте заменить <your subscription name>
именем своей подписки:
# 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
Создайте группу ресурсов Azure с помощью командлета New-AzResourceGroup. Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure и управление ими.
$resourceGroup = "StreamAnalyticsRG"
$location = "WestUS2"
New-AzResourceGroup `
-Name $resourceGroup `
-Location $location
Прежде чем определить задание Stream Analytics, подготовьте данные, которые настроены как входные данные задания.
Следующий блок кода Azure CLI содержит множество команд для подготовки входных данных, необходимых для задания. Ознакомьтесь со следующими разделами, чтобы понять код.
В окне PowerShell выполните az login
команду, чтобы войти в учетную запись Azure.
После успешного входа Azure CLI возвращает список подписок. Скопируйте подписку, используемую az account set
для этого краткого руководства, и выполните команду, чтобы выбрать эту подписку. Выберите ту же подписку, что и в предыдущем разделе при использовании PowerShell. Не забудьте заменить <your subscription name>
именем своей подписки.
az login
az account set --subscription "<your subscription>"
Создайте Центр Интернета вещей с помощью az iot hub create
команды. Этот пример создает Центр Интернета вещей с именем MyASAIoTHub. Так как имена Центров Интернета вещей являются уникальными, необходимо придумать собственное имя Центра Интернета вещей. Установите номер SKU на F1, чтобы использовать бесплатный уровень, если он доступен в вашей подписке. В противном случае выберите следующий самый низкий уровень.
az iot hub create --name "MyASAIoTHub" --resource-group $resourceGroup --sku S1
После создания Центра Интернета вещей получите Центр Интернета вещей строка подключения с помощью команды az iot hub connection-string show. Скопируйте весь строка подключения и сохраните его. Это необходимо при добавлении Центр Интернета вещей в качестве входных данных в задание Stream Analytics.
az iot hub connection-string show --resource-group $resourceGroup --hub-name "MyASAIoTHub"
Добавьте устройство для Центр Интернета вещей с помощью az iot hub device-identity create
команды. В этом примере создается устройство с именем MyASAIoTDevice.
az iot hub device-identity create --resource-group $resourceGroup --hub-name "MyASAIoTHub" --device-id "MyASAIoTDevice"
Получите устройство строка подключения с помощью az iot hub device-identity connection-string show
команды. Скопируйте всю строку подключения и сохраните ее для использования при создании симулятора Raspberry Pi.
az iot hub device-identity connection-string show --resource-group $resourceGroup --hub-name "MyASAIoTHub" --device-id "MyASAIoTDevice" --output table
Пример выходных данных.
HostName=MyASAIoTHub.azure-devices.net;DeviceId=MyASAIoTDevice;SharedAccessKey=a2mnUsg52+NIgYudxYYUNXI67r0JmNubmfVafojG8=
Следующий блок кода Azure PowerShell использует команды для создания хранилища BLOB-объектов, принимающего выходные данные задания. Просмотрите разделы, чтобы понять код.
Создайте стандартную учетную запись хранения общего назначения с помощью командлета New-AzStorageAccount. В этом примере создается учетная запись хранения myasaquickstartstorage с локально избыточным хранилищем (LRS) и шифрованием больших двоичных объектов (включено по умолчанию).
Получите контекст учетной записи хранения $storageAccount.Context
, определяющий необходимую учетную запись хранения. Работая в учетной записи хранения, ссылайтесь на контекст, вместо того чтобы многократно предоставлять учетные данные.
Создайте контейнер хранилища с помощью командлета New-AzStorageContainer.
Скопируйте ключ к хранилищу данных, который выводится в коде, и сохраните этот ключ, чтобы позднее создать выходные данные задания потоковой передачи.
$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
Создайте задание Stream Analytics с помощью командлета New-AzStreamAnalyticsJob. Этот командлет принимает имя задания, имя группы ресурсов, расположение и имя SKU в качестве параметров. Для задания можно присвоить любое понятное описательное имя. Оно может содержать только буквенно-цифровые символы, дефисы и знаки подчеркивания. Длина должна составлять от 3 до 63 символов.
Запустите командлет New-AzStreamAnalyticsJob
.
$jobName = "MyStreamingJob"
New-AzStreamAnalyticsJob `
-ResourceGroupName $resourceGroup `
-Name $jobName `
-Location centralus `
-SkuName Standard
Добавьте входные данные в задание с помощью командлета New-AzStreamAnalyticsInput. Этот командлет принимает имя задания, имя входных данных задания, имя группы ресурсов и определение входных данных задания в качестве параметров. Определение входных данных задания — это JSON-файл, содержащий свойства, необходимые для настройки входных данных задания. В этом примере создается хранилище BLOB-объектов в качестве входных данных.
На вашем локальном компьютере создайте файл с именем JobInputDefinition.json
и добавьте в него следующие данные JSON.
Важно!
accesspolicykey
SharedAccessKey
частью Центр Интернета вещей строка подключения, сохраненной в предыдущем разделе.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"
}
$jobInputDefinitionFile
Задайте переменную PowerShell в путь, в котором вы сохранили JSON-файл определения задания.
$jobInputDefinitionFile = "C:\JobInputDefinition.json"
Затем запустите New-AzStreamAnalyticsInput
командлет, чтобы создать Центр Интернета вещей Azure входные данные для задания Stream Analytics.
$jobInputName = "IoTHubInput"
New-AzStreamAnalyticsInput `
-ResourceGroupName $resourceGroup `
-JobName $jobName `
-File $jobInputDefinitionFile `
-Name $jobInputName
Добавьте выходные данные в задание с помощью командлета New-AzStreamAnalyticsOutput. Этот командлет принимает имя задания, имя выходных данных задания, имя группы ресурсов и определение выходных данных задания в качестве параметров. Определение выходных данных задания — это JSON-файл, содержащий свойства, необходимые для настройки выходных данных задания. В этом примере в качестве выходных данных используется хранилище BLOB-объектов.
На вашем локальном компьютере создайте файл с именем JobOutputDefinition.json
и добавьте в него следующие данные JSON.
Важно!
Замените значение accountKey
на ключ доступа учетной записи хранения, который является значением, хранящимся в $storageAccountKey
значении.
{
"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"
}
$jobOutputDefinitionFile
Задайте переменную PowerShell в путь, в котором вы сохранили JSON-файл определения выходных данных задания.
$jobOutputDefinitionFile = "C:\JobOutputDefinition.json"
Затем запустите New-AzStreamAnalyticsOutput
командлет, чтобы создать Хранилище BLOB-объектов Azure выходные данные для задания Stream Analytics.
$jobOutputName = "BlobOutput"
New-AzStreamAnalyticsOutput `
-ResourceGroupName $resourceGroup `
-JobName $jobName `
-File $jobOutputDefinitionFile `
-Name $jobOutputName
Добавьте преобразование в задание с помощью командлета New-AzStreamAnalyticsTransformation. Этот командлет принимает имя задания, имя преобразования задания, имя группы ресурсов и определение преобразования задания в качестве параметров. На вашем локальном компьютере создайте файл с именем JobTransformationDefinition.json
и добавьте в него следующие данные JSON. JSON-файл содержит параметр запроса, который определяет запрос преобразования:
{
"name":"MyTransformation",
"type":"Microsoft.StreamAnalytics/streamingjobs/transformations",
"properties":{
"streamingUnits":1,
"script":null,
"query":"SELECT * INTO BlobOutput FROM IoTHubInput WHERE Temperature > 27"
}
}
Затем выполните командлет New-AzStreamAnalyticsTransformation
.
$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
Откройте онлайн-симулятор Raspberry Pi для Интернета вещей Azure.
Замените значения заполнителя в 15-й строке строкой подключения устройства Центра Интернета вещей, которую вы сохранили при работе с предыдущим разделом.
Щелкните Выполнить. В выходных данных должны присутствовать показания датчика и сообщения, отправляемые в Центр Интернета вещей.
Запустите задание с помощью командлета Start-AzStreamAnalyticsJob. Этот командлет принимает имя задания, имя группы ресурсов, режим начала вывода задания и время запуска в качестве параметров. OutputStartMode
принимает значения JobStartTime
, CustomTime
или LastOutputEventTime
. Дополнительные сведения о том, к чему относится каждое из этих значений, см. в разделе параметров в документации по PowerShell.
После запуска следующего командлета, если задание запустится, будет возвращено значение True
в качестве выходных данных. В контейнере хранилища будет создана выходная папка с преобразованными данными.
Start-AzStreamAnalyticsJob `
-ResourceGroupName $resourceGroup `
-Name $jobName `
-OutputStartMode 'JobStartTime'
Ставшие ненужными группу ресурсов, задание потоковой передачи и все связанные ресурсы можно удалить. При удалении задания будет прекращена тарификация за единицы потоковой передачи, потребляемые заданием. Если вы планируете использовать задание в дальнейшем, остановите его и не выполняйте процедуру его удаления. Если вам больше не нужно это задание, удалите все ресурсы, созданные в ходе работы с этим кратким руководством, выполнив следующий командлет.
Remove-AzResourceGroup `
-Name $resourceGroup
В этом кратком руководстве вы развернули простое задание Stream Analytics, используя PowerShell. Вы также можете развертывать задания Stream Analytics, используя портал Azure и Visual Studio.
Дополнительные сведения о настройке других источников входных данных и обнаружении в режиме реального времени см. в следующей статье:
События
31 мар., 23 - 2 апр., 23
Самое большое событие обучения Fabric, Power BI и SQL. 31 марта – 2 апреля. Используйте код FABINSIDER, чтобы сэкономить $400.
Зарегистрироваться сегодняОбучение
Модуль
Объединение возможностей потоковой обработки Azure Stream Analytics и возможностей визуализации данных Microsoft Power BI позволяет создавать панели мониторинга данных в режиме реального времени.
Сертификация
Управление приемом и подготовкой данных, обучением моделей и развертыванием, а также мониторингом решений машинного обучения с помощью Python, Машинное обучение Azure и MLflow.
Документация
Краткое руководство. Создание кластера Azure Stream Analytics - Azure Stream Analytics
Сведения о том, как создать кластер Azure Stream Analytics.
В этом кратком руководстве показано, как с помощью Azure CLI создать задание Azure Stream Analytics.
Создание задания Stream Analytics с помощью Visual Studio Code - Azure Stream Analytics
В этом кратком руководстве показано, как создать задание Stream Analytics с помощью расширения ASA для Visual Studio Code.