Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
O Azure Cosmos DB para PostgreSQL não tem mais suporte para novos projetos. Não use este serviço para novos projetos. Em vez disso, use um destes dois serviços:
Use o Azure Cosmos DB para NoSQL para obter uma solução de banco de dados distribuído projetada para cenários de alta escala com um SLA (contrato de nível de serviço) de disponibilidade de 99.999%, dimensionamento automático instantâneo e failover automático em várias regiões.
Use a funcionalidade de Clusters Elásticos do Azure para PostgreSQL para PostgreSQL fragmentado, utilizando a extensão Citus de código aberto.
O Azure Stream Analytics é um mecanismo de análise e processamento de eventos em tempo real projetado para processar grandes volumes de dados de streaming rápido de dispositivos, sensores e sites. Também está disponível no tempo de execução do Azure IoT Edge, permitindo o processamento de dados em dispositivos IoT.
O Azure Cosmos DB para PostgreSQL brilha em cargas de trabalho em tempo real, como IoT. Para essas cargas de trabalho, o Stream Analytics pode atuar como uma alternativa sem código, eficiente e escalável para pré-processar e transmitir dados dos Hubs de Eventos do Azure, do Hub IoT do Azure e do Armazenamento de Blobs do Azure para o Azure Cosmos DB para PostgreSQL.
Etapas para configurar Stream Analytics
Nota
Este artigo usa o Hub IoT do Azure como uma fonte de dados de exemplo, mas a técnica é aplicável a qualquer outra fonte suportada pelo Stream Analytics. Além disso, os dados de demonstração a seguir vêm do Simulador de Telemetria de Dispositivo IoT do Azure. Este artigo não aborda a configuração do simulador.
No portal do Azure, expanda o menu do portal no canto superior esquerdo e selecione Criar um recurso.
Selecione Analytics>Trabalho do Stream Analytics na lista de resultados.
Preencha a página de trabalho do New Stream Analytics com as seguintes informações:
- Subscrição - Selecione a subscrição do Azure que pretende utilizar para este trabalho.
- Grupo de recursos - Selecione o mesmo grupo de recursos que seu hub IoT.
- Nome - Insira um nome para identificar seu trabalho do Stream Analytics.
- Região - Selecione a região do Azure para hospedar seu trabalho do Stream Analytics. Use a localização geográfica mais próxima de seus usuários para obter um melhor desempenho e reduzir o custo de transferência de dados.
- Ambiente de hospedagem - Selecione Nuvem para implantar na nuvem do Azure ou Edge para implantar em um dispositivo IoT Edge.
- Unidades de streaming - Selecione o número de unidades de streaming para os recursos de computação necessários para executar o trabalho.
Selecione Rever + criar e, em seguida, selecione Criar. Você verá uma notificação de Implantação em andamento no canto superior direito.
Configure a(s) entrada(s) de trabalho.
Quando a implantação do recurso estiver concluída, navegue até a tarefa de Stream Analytics. Selecione Entradas>Adicionar entrada de fluxo>Hub IoT.
Preencha a página do Hub IoT com os seguintes valores:
- Nome de Entrada - Insira um nome para identificar a entrada da tarefa.
- Assinatura - Selecione a assinatura do Azure que tem a sua conta do Hub IoT.
- Hub IoT – Selecione o nome do seu hub IoT.
Selecione Guardar.
Depois que o fluxo de entrada é adicionado, você também pode verificar ou baixar o conjunto de dados que flui. O código a seguir mostra os dados para um evento de exemplo:
{ "deviceId": "sim000001", "time": "2022-04-25T13:49:11.6892185Z", "counter": 1, "EventProcessedUtcTime": "2022-04-25T13:49:41.4791613Z", "PartitionId": 3, "EventEnqueuedUtcTime": "2022-04-25T13:49:12.1820000Z", "IoTHub": { "MessageId": null, "CorrelationId": "aaaa0000-bb11-2222-33cc-444444dddddd", "ConnectionDeviceId": "sim000001", "ConnectionDeviceGenerationId": "637842405470327268", "EnqueuedTime": "2022-04-25T13:49:11.7060000Z" } }
Configure a saída do trabalho.
Na página de trabalho do Stream Analytics, selecione Saídas>>
Preencha a página do Azure PostgreSQL com os seguintes valores:
- Alias de saída - Insira um nome para identificar a saída do trabalho.
- Selecione Fornecer configurações de banco de dados PostgreSQL manualmente e insira o Nome de domínio totalmente qualificado, Banco de dados, Tabela, Nome de usuário e Senha do servidor. No conjunto de dados de exemplo, use a tabela device_data.
Selecione Guardar.
Defina a consulta de transformação.
Na página de trabalho do Stream Analytics, selecione Consulta no menu à esquerda.
Para este tutorial, você ingere apenas os eventos alternativos do Hub IoT no Azure Cosmos DB para PostgreSQL, para reduzir o tamanho geral dos dados. Copie e cole a seguinte consulta no painel de consulta:
select counter, iothub.connectiondeviceid, iothub.correlationid, iothub.connectiondevicegenerationid, iothub.enqueuedtime from [src-iot-hub] where counter%2 = 0;Selecione Salvar consulta.
Nota
Use a consulta não apenas para obter amostras dos dados, mas também para extrair os atributos desejados do fluxo de dados. A opção de consulta personalizada com o Stream Analytics é útil no pré-processamento/transformação dos dados antes que eles sejam ingeridos no banco de dados.
Inicie o trabalho do Stream Analytics e verifique a saída.
Regresse à página de descrição geral da tarefa e selecione Iniciar.
Na página Iniciar trabalho, selecione Agora para a hora de início de saída do trabalho e, em seguida, selecione Iniciar.
O trabalho leva algum tempo para iniciar pela primeira vez, mas uma vez acionado, continua a ser executado à medida que os dados chegam. Após alguns minutos, você pode consultar o cluster para verificar se os dados foram carregados.
citus=> SELECT * FROM public.device_data LIMIT 10; counter | connectiondeviceid | correlationid | connectiondevicegenerationid | enqueuedtime ---------+--------------------+--------------------------------------+------------------------------+------------------------------ 2 | sim000001 | 7745c600-5663-44bc-a70b-3e249f6fc302 | 637842405470327268 | 2022-05-25T18:24:03.4600000Z 4 | sim000001 | 389abfde-5bec-445c-a387-18c0ed7af227 | 637842405470327268 | 2022-05-25T18:24:05.4600000Z 6 | sim000001 | 3932ce3a-4616-470d-967f-903c45f71d0f | 637842405470327268 | 2022-05-25T18:24:07.4600000Z 8 | sim000001 | 4bd8ecb0-7ee1-4238-b034-4e03cb50f11a | 637842405470327268 | 2022-05-25T18:24:09.4600000Z 10 | sim000001 | 26cebc68-934e-4e26-80db-e07ade3775c0 | 637842405470327268 | 2022-05-25T18:24:11.4600000Z 12 | sim000001 | 067af85c-a01c-4da0-b208-e4d31a24a9db | 637842405470327268 | 2022-05-25T18:24:13.4600000Z 14 | sim000001 | 740e5002-4bb9-4547-8796-9d130f73532d | 637842405470327268 | 2022-05-25T18:24:15.4600000Z 16 | sim000001 | 343ed04f-0cc0-4189-b04a-68e300637f0e | 637842405470327268 | 2022-05-25T18:24:17.4610000Z 18 | sim000001 | 54157941-2405-407d-9da6-f142fc8825bb | 637842405470327268 | 2022-05-25T18:24:19.4610000Z 20 | sim000001 | 219488e5-c48a-4f04-93f6-12c11ed00a30 | 637842405470327268 | 2022-05-25T18:24:21.4610000Z (10 rows)
Nota
O recurso Testar Conexão atualmente não tem suporte para o Azure Cosmos DB para PostgreSQL e pode gerar um erro, mesmo quando a conexão funciona bem.
Próximos passos
Saiba como criar um painel em tempo real com o Azure Cosmos DB para PostgreSQL.