Compartilhar via


Gravar na tabela de Banco de Dados SQL do Azure usando os trabalhos do Azure Stream Analytics

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

Pré-requisitos

  1. Criar um trabalho do Stream Analytics.

  2. Crie um Banco de Dados SQL do Azure no qual o 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 o 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 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 do SQL.

  3. Insira um nome de tabela que você deseja criar no Banco de Dados SQL do Azure. Clique em Save (Salvar). Observação: salvar essa saída não cria a tabela no Banco de Dados SQL. As próximas etapas fornecem mais detalhes sobre quando a tabela é criada.

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

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

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

    Captura de tela mostrando o resultado dos testes de consulta no Stream Analytics.

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

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

    Se a consulta do Stream Analytics for modificada para produzir um esquema diferente, você precisará alterar a definição de 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 for finalizada, selecione Visão geral e Iniciar o trabalho. Em seguida, você pode navegar até a tabela de Banco de Dados SQL para ver a saída da consulta de streaming.

Selecione uma tabela existente no Banco de Dados SQL

Esta seção descreve como você pode configurar o trabalho para gravar em uma tabela que já existe no 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 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 do SQL.

  3. Você pode escolher uma tabela existente do Banco de Dados SQL selecionado inserindo os detalhes de Autenticação SQL. Isso carregará uma lista de nomes de tabela do Banco de Dados. Selecione o nome da tabela na lista ou insira manualmente o nome da tabela e Salve.

    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 gravar a saída na tabela selecionada. Clique em Testar consulta para testar a lógica de consulta e exibir os Resultados do teste. Observação: para testar a consulta, você precisa ter dados de streaming de entrada no Hub de Eventos/Hub IoT ou carregar dados de exemplo para testar a consulta. Você pode saber mais sobre o Teste de consulta do Stream Analytics.

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

    Captura de tela mostrando o resultado dos testes de consulta no Stream Analytics.

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

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

  6. Quando a consulta for finalizada, selecione Visão geral e Iniciar o trabalho. Em seguida, você pode navegar até a tabela de 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 coluna e aos tipos de dados esperados pela tabela de Banco de Dados SQL. Se houver uma incompatibilidade, o trabalho apresentará erros de conversão de dados e será repetido continuamente até que a definição da tabela SQL seja alterada. Você pode alterar o comportamento do trabalho para descartar essa saída que causa erros de conversão de dados e prossiga para a próxima. Os motivos de incompatibilidade de esquema mais comuns 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 no banco de dados SQL.
  • Intervalo: o intervalo de tipo de destino é consideravelmente menor do que aquele usado na consulta. As linhas com valores fora do intervalo podem não 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 de modo implícito, 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.
  • Registro: esse tipo ainda não tem suporte para essa saída. O valor será substituído pela cadeia de caracteres 'record'. Considere analisar os dados ou usar um UDF para converter em cadeia de caracteres.
  • Matriz: esse tipo ainda não tem suporte nativo no Banco de Dados SQL do Azure. O valor será substituído pela cadeia de caracteres 'record'. Considere analisar os dados ou usar um UDF para converter em cadeia de caracteres.
  • 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óximas etapas