Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste início rápido, você usará a CLI do Azure para definir um trabalho do Stream Analytics que filtra mensagens do sensor em tempo real com uma leitura de temperatura maior que 27. O trabalho do Stream Analytics lê dados do Hub IoT, transforma os dados e grava os dados de saída num contentor em um armazenamento de blobs. Os dados de entrada usados neste início rápido são gerados por um simulador online do Raspberry Pi.
Antes de começar
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Utilize o ambiente Bash no Azure Cloud Shell. Para mais informações, veja Get started with Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale o CLI do Azure. Se estiver a usar Windows ou macOS, considere executar o Azure CLI num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se você estiver usando uma instalação local, entre na CLI do Azure usando o comando az login . Para concluir o processo de autenticação, siga os passos exibidos no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão do Azure CLI na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute az version para descobrir a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Crie um grupo de recursos. Todos os recursos do Azure devem ser implantados em um grupo de recursos. Os grupos de recursos permitem organizar e gerir recursos relacionados do Azure.
Para este início rápido, crie um grupo de recursos chamado streamanalyticsrg no local eastus com o seguinte comando az group create :
az group create --name streamanalyticsrg --location eastus
Preparar os dados de entrada
Antes de definir a tarefa do Stream Analytics, prepare os dados que são usados para a entrada da tarefa. Os seguintes comandos da CLI do Azure preparam os dados de entrada exigidos pelo trabalho.
Crie um Hub IoT usando o comando az iot hub create . Este exemplo cria um Hub IoT chamado MyASAIoTHub. Como os nomes do Hub IoT devem ser globalmente exclusivos, talvez seja necessário alterar o nome se ele já tiver sido usado. Defina o SKU como F1 para usar o nível gratuito se ele estiver disponível com sua assinatura. Caso contrário, escolha o próximo nível mais baixo.
iotHubName=MyASAIoTHub az iot hub create --name $iotHubName --resource-group streamanalyticsrg --sku S1Depois que o hub IoT tiver sido criado, obtenha a cadeia de conexão do Hub IoT usando o comando az iot hub connection-string show . Copie toda a cadeia de conexão e salve-a. Você o usa ao adicionar o Hub IoT como uma entrada ao seu trabalho do Stream Analytics.
az iot hub connection-string show --hub-name $iotHubNameAdicione um dispositivo ao Hub IoT usando o comando az iothub device-identity create . Este exemplo cria um dispositivo chamado MyASAIoTDevice.
az iot hub device-identity create --hub-name $iotHubName --device-id "MyASAIoTDevice"Obtenha a cadeia de conexão do dispositivo usando o comando az iot hub device-identity connection-string show . Copie toda a cadeia de conexão e salve-a para quando criar o simulador do Raspberry Pi.
az iot hub device-identity connection-string show --hub-name $iotHubName --device-id "MyASAIoTDevice" --output tableExemplo de saída:
HostName=MyASAIoTHub.azure-devices.net;DeviceId=MyASAIoTDevice;SharedAccessKey=a2mnUsg52+NIgYudxYYUNXI67r0JmNubmfVafojG8=
Criar uma conta de armazenamento de blob
O seguinte comando da CLI do Azure cria uma conta de armazenamento de blob que é usada para o resultado dos trabalhos.
Crie uma conta de armazenamento de uso geral com o comando az storage account create . A conta de armazenamento de uso geral pode ser usada para todos os quatro serviços: blobs, arquivos, tabelas e filas.
storageAccountName="asatutorialstorage$RANDOM" az storage account create \ --name $storageAccountName \ --resource-group streamanalyticsrg \ --location eastus \ --sku Standard_ZRS \ --encryption-services blobObtenha a chave para sua conta de armazenamento executando o comando az storage account keys list.
key=$(az storage account keys list -g streamanalyticsrg -n $storageAccountName --query "[0].value" -o tsv) echo $keyImportante
Anote a chave de acesso para a conta de armazenamento do Azure. Você usará esta chave mais tarde nesta introdução rápida.
Crie um contêiner nomeado
statepara armazenar blobs com o comando az storage container create . Use a chave da conta de armazenamento para autorizar a operação para criar o contêiner. Para obter mais informações sobre como autorizar operações de dados com a CLI do Azure, consulte Autorizar o acesso a dados de blob ou fila com a CLI do Azure.az storage container create \ --account-name $storageAccountName \ --name state \ --account-key $key \ --auth-mode key
Criar uma tarefa do Stream Analytics
Crie um trabalho do Stream Analytics com o comando 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"
Configurar a entrada da tarefa
Adicione uma entrada ao seu trabalho usando o cmdlet az stream-analytics input . Este cmdlet usa o nome do trabalho, o nome da entrada do trabalho, o nome do grupo de recursos e as propriedades de entrada no formato JSON como parâmetros. Neste exemplo, você criará um Hub IoT como entrada.
Importante
- Substitua
IOT HUB ACCESS KEYpelo valor de Chave de Acesso Compartilhado na cadeia de conexão do Hub IOT que você salvou. Por exemplo, se a cadeia de conexão do Hub IOT for:HostName=MyASAIoTHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=xxxxxxxxxxxxxx=, o valor da Chave de Acesso Compartilhado seráxxxxxxxxxxxxxx=. Ao substituir o valor, certifique-se de não apagar o caractere\(escape) para"(aspas duplas). - Atualize o valor de
iotHubNamespaceno comando a seguir se usou um nome diferente doMyASAIoTHub. Executeecho $iotHubNamepara ver o nome do seu Hub IoT.
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"
Configurar a saída da tarefa
Adicione uma saída ao seu trabalho usando o cmdlet az stream-analytics output create. Este cmdlet usa o nome da tarefa, o nome da saída da tarefa, o nome do grupo de recursos, a fonte de dados no formato JSON e o tipo de serialização como parâmetros.
Importante
Substitua STORAGEACCOUNTNAME> pelo nome da sua conta de Armazenamento do Azure e STORAGEACCESSKEY> pela chave de acesso da sua conta de armazenamento. Se você não anotou esses valores, execute os seguintes comandos para obtê-los: echo $storageAccountName e echo $key. Ao substituir os valores, assegure-se de não excluir o caractere de escape \ para aspas duplas ".
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
Definir a consulta de transformação
Adicione uma transformação ao seu trabalho usando o 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"
Execute o simulador de IoT
Abra o Simulador do Raspberry Pi Azure IoT Online.
Substitua o marcador de posição na linha 15 pela cadeia de conexão completa do dispositivo do Hub IoT do Azure (não a cadeia de conexão do Hub IoT) que você salvou no início do guia de introdução.
Selecione Executar. A saída deve mostrar os dados do sensor e as mensagens que estão sendo enviadas para o Hub IoT.
Iniciar a tarefa do Stream Analytics e verificar a saída
Inicie o trabalho usando o cmdlet az stream-analytics job start . Este cmdlet utiliza o nome da tarefa, o nome do grupo de recursos, o modo de início da saída e a hora de início como parâmetros.
OutputStartMode aceita os valores JobStartTimeCustomTime ou LastOutputEventTime.
Depois de executar o cmdlet seguinte, devolve True como a saída, se o trabalho for iniciado.
az stream-analytics job start \
--resource-group streamanalyticsrg \
--name streamanalyticsjob \
--output-start-mode JobStartTime
Dê-lhe alguns minutos e, em seguida, verifique se um arquivo de saída foi criado no state contêiner de blob.
Faça o download e abra o ficheiro para visualizar várias entradas semelhantes à seguinte:
{
"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
}
}
Limpeza de recursos
Exclua o grupo de recursos, que excluirá todos os recursos do grupo de recursos, incluindo o trabalho do Stream Analytics, o Hub IoT e a conta de Armazenamento do Azure.
az group delete \
--name streamanalyticsrg \
--no-wait
Próximos passos
Neste início rápido, você implantou um trabalho simples do Stream Analytics usando a CLI do Azure. Também pode implementar tarefas do Stream Analytics com o portal do Azure e o Visual Studio.
Para saber mais sobre como configurar outras origens de entrada e efetuar a deteção em tempo real, avance para o seguinte artigo: