Partilhar via


Tutorial: Desserializadores .NET personalizados para o Azure Stream Analytics no Visual Studio Code (Visualização)

Importante

O desserializador .net personalizado para o Azure Stream Analytics será desativado em 30 de setembro de 2024. Após essa data, não será possível usar o recurso.

O Azure Stream Analytics tem suporte interno para três formatos de dados: JSON, CSV e Avro, conforme mostrado neste documento. Com desserializadores .NET personalizados, você pode processar dados em outros formatos, como Protocol Buffer, Bond e outros formatos definidos pelo usuário para trabalhos na nuvem. Este tutorial demonstra como criar, testar e depurar um desserializador .NET personalizado para um trabalho do Azure Stream Analytics usando o Visual Studio Code.

Saberá como:

  • Crie um desserializador personalizado para buffer de protocolo.
  • Crie um trabalho do Azure Stream Analytics no Visual Studio Code.
  • Configure seu trabalho do Stream Analytics para usar o desserializador personalizado.
  • Execute seu trabalho do Stream Analytics localmente para testar e depurar o desserializador personalizado.

Pré-requisitos

  • Instale o SDK principal do .NET e reinicie o Visual Studio Code.

  • Use este guia de início rápido para aprender a criar um trabalho do Stream Analytics usando o Visual Studio Code.

Criar um desserializador personalizado

  1. Abra um terminal e execute o seguinte comando para criar uma biblioteca de classes .NET no Visual Studio Code para seu desserializador personalizado chamado ProtobufDeserializer.

    dotnet new classlib -o ProtobufDeserializer
    
  2. Vá para o diretório do projeto ProtobufDeserializer e instale os pacotes NuGet Microsoft.Azure.StreamAnalytics e Google.Protubuf .

    dotnet add package Microsoft.Azure.StreamAnalytics
    
    dotnet add package Google.Protobuf
    
  3. Adicione a classe MessageBodyProto e a classe MessageBodyDeserializer ao seu projeto.

  4. Crie o projeto ProtobufDeserializer .

Adicionar um projeto do Azure Stream Analytics

Abra o Visual Studio Code e selecione Ctrl+Shift+P para abrir a paleta de comandos. Em seguida, digite ASA e selecione ASA: Criar novo projeto. Nomeie-o ProtobufCloudDeserializer.

Configurar um trabalho do Stream Analytics

  1. Clique duas vezes em JobConfig.json. Use as configurações padrão, exceto para as seguintes configurações:

    Definição Valor sugerido
    Recurso de configurações globais de armazenamento Escolha a origem de dados na conta atual
    Subscrição de Definições Globais de Armazenamento < a sua subscrição >
    Conta de armazenamento de configurações globais de armazenamento < A sua conta de armazenamento >
    Conta de armazenamento de configurações de armazenamento CustomCodeStorage < A sua conta de armazenamento >
    Contêiner de configurações CustomCodeStorage < o seu recipiente de armazenamento >
  2. Em Pasta Entradas, abra input.json. Selecione Adicionar entrada ao vivo e adicione uma entrada do armazenamento Gen2/Blob do Azure Data Lake Storage, escolha Selecionar na sua assinatura do Azure. Use as configurações padrão, exceto para as seguintes configurações:

    Definição Valor sugerido
    Nome Entrada
    Subscrição < a sua subscrição >
    Conta de Armazenamento < A sua conta de armazenamento >
    Contentor < o seu recipiente de armazenamento >
    Tipo de serialização Escolha Personalizado
    SerializationProjectPath Selecione Choose library project path from CodeLens e selecione o projeto de biblioteca ProtobufDeserializer criado na seção anterior. Selecione construir projeto para construir o projeto
    SerializationClassName Selecione selecionar classe de desserialização do CodeLens para preencher automaticamente o nome da classe e o caminho da DLL
    Nome da classe MessageBodyProto.MessageBodyDeserializer

    Adicione a entrada do desserializador personalizado.

  3. Adicione a seguinte consulta ao arquivo ProtobufCloudDeserializer.asaql .

    SELECT * FROM Input
    
  4. Faça o download do arquivo de entrada protobuf de exemplo. Na pasta Entradas, clique com o botão direito do mouse em input.json e selecione Adicionar entrada local. Em seguida, clique duas vezes em local_input1.json e use as configurações padrão, exceto para as configurações a seguir.

    Definição Valor sugerido
    Selecionar caminho do arquivo local Selecione CodeLens para selecionar < O caminho do arquivo para o arquivo de entrada protobuf de exemplo baixado>

Executar o trabalho do Stream Analytics

  1. Abra ProtobufCloudDeserializer.asaql e selecione Executar localmente a partir do CodeLens e, em seguida, escolha Usar entrada local na lista suspensa.

  2. Na guia Resultados no diagrama de trabalho, você pode exibir os resultados de saída. Você também pode clicar nas etapas no diagrama de trabalho para visualizar o resultado intermediário. Para obter mais detalhes, consulte Depurar localmente usando o diagrama de trabalho.

    Verifique o resultado da execução local.

Você implementou com sucesso um desserializador personalizado para seu trabalho do Stream Analytics! Neste tutorial, você testou o desserializador personalizado localmente com dados de entrada locais. Você também pode testá-lo usando a entrada de dados ao vivo na nuvem. Para executar o trabalho na nuvem, você configuraria corretamente a entrada e a saída. Em seguida, envie o trabalho para o Azure a partir do Visual Studio Code para executar seu trabalho na nuvem usando o desserializador personalizado que você implementou.

Depurar o desserializador

Você pode depurar seu desserializador .NET localmente da mesma forma que depurar o código .NET padrão.

  1. Adicione pontos de interrupção em sua função .NET.

  2. Clique em Executar na barra de atividades de código do Visual Studio e selecione criar um arquivo de launch.json. Crie o arquivo de inicialização.

    Escolha ProtobufCloudDeserializer e, em seguida, Azure Stream Analytics na lista suspensa. Crie o arquivo de inicialização 2.

    Edite o arquivo launch.json para substituir <ASAScript.asaql> por ProtobufCloudDeserializer.asaql. Configure o arquivo de inicialização.

  3. Prima F5 para iniciar a depuração. O programa irá parar nos seus pontos de interrupção, conforme esperado. Isso funciona tanto para dados de entrada local quanto para dados de entrada em tempo real.

    Depurar desserializador personalizado.

Clean up resources (Limpar recursos)

Quando já não for necessário, elimine o grupo de recursos, a tarefa de transmissão em fluxo e todos os recursos relacionados. A eliminação da tarefa evita a faturação das unidades de transmissão em fluxo consumidas pela tarefa. Se estiver a planear utilizar a tarefa no futuro, pode pará-la e reiniciá-la mais tarde, quando for necessário. Se você não vai continuar a usar esse trabalho, exclua todos os recursos criados por este tutorial usando as seguintes etapas:

  1. No menu do lado esquerdo no portal do Azure, selecione Grupos de recursos e, em seguida, selecione o nome do recurso que criou.

  2. Na página do grupo de recursos, selecione Eliminar, escreva o nome do recurso a eliminar na caixa de texto e, em seguida, selecione Eliminar.

Próximos passos

Neste tutorial, você aprendeu como implementar um desserializador .NET personalizado para a serialização de entrada do buffer de protocolo. Para saber mais sobre como criar desserializadores personalizados, continue para o seguinte artigo: