Partilhar via


Escreva na tabela da Base de Dados SQL do Azure a partir dos seus jobs do Azure Stream Analytics

O Azure Stream Analytics dá suporte ao Banco de Dados SQL do Azure como uma saída para sua consulta de streaming. Este artigo explica como usar o Banco de Dados SQL como uma saída para seu trabalho do Stream Analytics no portal do Azure.

Pré-requisitos

  1. Crie uma tarefa do Stream Analytics.

  2. Crie um Banco de Dados SQL do Azure no qual seu trabalho do Stream Analytics gravará a saída.

Gravar em uma nova tabela no Banco de dados SQL

Esta seção descreve como você pode configurar seu trabalho para gravar em uma tabela no Banco de Dados SQL do Azure que ainda não foi criada.

  1. No trabalho do Stream Analytics, selecione Saídas em Topologia do trabalho. Clique em Adicionar e escolha Banco de dados SQL.

    Captura de tela mostrando a saída do Banco de Dados SQL no Stream Analytics.

  2. Selecione um alias de saída que será usado na consulta do seu trabalho. Forneça o nome do banco de dados e o modo de autenticação. Você pode saber mais sobre as opções de configuração de saída SQL.

  3. Insira um nome de tabela que você deseja criar em seu Banco de Dados SQL do Azure. Clique em Guardar. Nota: Guardar esta saída não cria a tabela na Base de Dados SQL. As próximas etapas fornecem mais detalhes sobre quando a tabela é criada.

    Captura de tela mostrando a configuração de saída do Banco de Dados SQL no Stream Analytics.

  4. Selecione Consulta em Topologia de Trabalho e use o alias em sua consulta para gravar a saída no nome da tabela fornecido na etapa anterior. Clique em Testar consulta para testar a lógica da consulta e exibir os resultados do teste , que mostra o esquema da saída que será produzida pelo trabalho. Nota: Para testar sua consulta, você precisa ter dados de streaming de entrada em sua fonte de entrada ou pode carregar dados de exemplo para testar a consulta. Você pode saber mais sobre a consulta Test Stream Analytics.

    Captura de tela mostrando o teste de consulta no Stream Analytics.

    Captura de ecrã a mostrar os resultados dos testes de consulta no Stream Analytics.

  5. Clique em Esquema de tabela SQL para exibir o nome e o tipo de coluna. Clique em Criar tabela e sua tabela será criada no banco de dados SQL.

    Captura de tela mostrando a criação de uma tabela no banco de dados SQL a partir do Stream Analytics.

    Se a consulta do Stream Analytics for modificada para produzir um esquema diferente, você precisará alterar a definição da tabela no Banco de dados SQL. Isso garante que o trabalho do Stream Analytics não encontre erros de conversão de dados ao tentar gravar no coletor.

  6. Quando a consulta estiver concluída, selecione Visão geral e Iniciar o trabalho. Em seguida, você pode navegar até a tabela do Banco de dados SQL para ver a saída da consulta de streaming.

Selecionar uma tabela existente do Banco de dados SQL

Esta seção descreve como você pode configurar seu trabalho para gravar em uma tabela que já existe em seu Banco de Dados SQL do Azure.

  1. No trabalho do Stream Analytics, selecione Saídas em Topologia do trabalho. Clique em Adicionar e escolha Banco de dados SQL.

    Captura de tela mostrando a saída do Banco de Dados SQL no Stream Analytics.

  2. Selecione um alias de saída que será usado na consulta do seu trabalho. Forneça o nome do banco de dados e o modo de autenticação. Você pode saber mais sobre as opções de configuração de saída SQL.

  3. Você pode escolher uma tabela existente no Banco de dados SQL selecionado inserindo seus detalhes de Autenticação SQL. Isso carregará uma lista de nomes de tabelas do seu banco de dados. Selecione o nome da tabela na lista ou insira manualmente o nome da tabela e Salvar.

    Captura de tela mostrando a tabela existente no banco de dados SQL.

  4. Selecione Consulta em Topologia de Trabalho e use o nome do alias na consulta para escrever a saída na tabela selecionada. Clique em Testar consulta para testar a lógica da consulta e exibir os resultados do teste. Nota: Para testar sua consulta, você precisa ter dados de streaming de entrada no Hub de Eventos/Hub IoT ou pode carregar dados de exemplo para testar a consulta. Você pode saber mais sobre a consulta Test Stream Analytics.

    Captura de tela mostrando o teste de consulta no Stream Analytics.

    Captura de ecrã a mostrar os resultados dos testes de consulta no Stream Analytics.

  5. Na guia Esquema da tabela SQL , você pode ver um nome de coluna e seu tipo nos dados de entrada e na tabela selecionada. Você pode ver o status se o tipo de dados de entrada e a tabela SQL selecionada correspondem ou não. Se não for uma correspondência, você será solicitado a atualizar sua consulta para corresponder ao esquema da tabela.

    Captura de tela mostrando a comparação de esquema no Stream Analytics.

  6. Quando a consulta estiver concluída, selecione Visão geral e Iniciar o trabalho. Em seguida, você pode navegar até a tabela do Banco de dados SQL para ver a saída da consulta de streaming.

Motivos comuns de incompatibilidade de tipo de dados

É importante garantir que a saída do trabalho do Stream Analytics corresponda aos nomes de colunas e tipos de dados esperados pela tabela do Banco de dados SQL. Se houver uma incompatibilidade, seu trabalho encontrará erros de conversão de dados e tentará continuamente até que a definição da tabela SQL seja alterada. Você pode alterar o comportamento do seu trabalho para descartar essa saída que causa erros de conversão de dados e prosseguir para a próxima. Os motivos mais comuns de incompatibilidade de esquema são descritos abaixo.

  • Incompatibilidade de tipos: os tipos de consulta e de destino não são compatíveis. As linhas não serão inseridas no destino. Use uma função de conversão como TRY_CAST() para alinhar tipos na consulta. A opção alternativa é alterar a tabela de destino em seu banco de dados SQL.
  • Intervalo: O intervalo de tipos de destino é consideravelmente menor do que o usado na consulta. As linhas com valores fora do intervalo não podem ser inseridas na tabela de destino ou truncadas. Considere alterar a coluna de destino para um intervalo de tipos maior.
  • Implícito: Os tipos de consulta e de destino são diferentes, mas compatíveis. Os dados serão convertidos implicitamente, mas isso pode resultar em perda de dados ou falhas. Use uma função de conversão como TRY_CAST() para alinhar tipos na consulta ou alterar a tabela de destino.
  • Record: Este tipo ainda não é suportado para esta saída. O valor será substituído pela string 'record'. Considere analisar os dados ou usar um UDF para converter em string.
  • Matriz: esse tipo ainda não tem suporte nativo no Banco de Dados SQL do Azure. O valor será substituído pela string 'record'. Considere analisar os dados ou usar um UDF para converter em string.
  • Coluna ausente da tabela de destino: esta coluna está ausente da tabela de destino. Os dados não serão inseridos. Adicione esta coluna à tabela de destino, se necessário.

Próximos passos