Tutorial: Desserializadores personalizados do .NET para o Azure Stream Analytics no Visual Studio Code (versão prévia)
Importante
O desserializador do .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ê poderá processar dados em outros formatos, como Protocol Buffer, Bond, e em formatos definidos pelo usuário para trabalhos em 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.
Você aprenderá a:
- criar um desserializador personalizado para o buffer de protocolo.
- Crie um trabalho do Azure Stream Analytics no Visual Studio Code.
- configurar seu trabalho do Stream Analytics para usar o desserializador personalizado.
- Executar seu trabalho do Stream Analytics localmente para testar e depurar o desserializador personalizado.
Pré-requisitos
Instale o SDK do .NET Core e reinicie o Visual Studio Code.
Use este início rápido para aprender a criar um trabalho de Stream Analytics usando o Visual Studio Code.
Criar um desserializador personalizado
Abra um terminal e execute o comando a seguir para criar uma biblioteca de classes .NET no Visual Studio Code para o seu desserializador personalizado chamado ProtobufDeserializer.
dotnet new classlib -o ProtobufDeserializer
Vá para o diretório do projeto ProtobufDeserializer e instale os pacotes NuGet Microsoft.Azure.StreamAnalytics e Google.Protobuf.
dotnet add package Microsoft.Azure.StreamAnalytics
dotnet add package Google.Protobuf
Adicione a classe MessageBodyProto e a classe MessageBodyDeserializer ao seu projeto.
Compile 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, insira ASA e selecione ASA: Criar Novo Projeto. Dê a ele o nome ProtobufCloudDeserializer.
Configurar um trabalho do Stream Analytics
Clique duas vezes em JobConfig.json. Use as configurações padrão, exceto pelas seguintes:
Configuração Valor Sugerido Recurso de Configurações de Armazenamento Global Escolha fonte de dados da conta atual Assinatura de Configurações de Armazenamento Global < sua assinatura > Conta de armazenamento das Configurações de Armazenamento Global < sua conta de armazenamento > Conta de Armazenamento das Configurações de CustomCodeStorage < sua conta de armazenamento > Contêiner de Configurações de CustomCodeStorage < seu contêiner de armazenamento > Na pasta Entradas, abra input.json. Selecione Adicionar entrada ao vivo e adicione uma entrada do Azure Data Lake Storage Gen2/Armazenamento de Blobs, escolha Selecionar da sua assinatura do Azure. Use as configurações padrão, exceto pelas seguintes:
Configuração Valor sugerido Nome Entrada Assinatura < sua assinatura > Conta de Armazenamento < sua conta de armazenamento > Contêiner < seu contêiner de armazenamento > Tipo de Serialização Escolha Personalizada SerializationProjectPath Selecione Escolher caminho do projeto da biblioteca em CodeLens e selecione o projeto de biblioteca ProtobufDeserializer criado na seção anterior. Selecione Compilar projeto para compilar o projeto SerializationClassName Selecione selecionar classe de desserialização do CodeLens para popular automaticamente o nome de classe e o caminho da DLL Nome da Classe MessageBodyProto.MessageBodyDeserializer Adicione a consulta a seguir ao arquivo ProtobufCloudDeserializer.asaql.
SELECT * FROM Input
Baixe o arquivo de entrada do exemplo protobuf. 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 as configurações a seguir.
Configuração Valor sugerido Selecione o caminho do arquivo local Selecione CodeLens para selecionar < O caminho do arquivo para o arquivo de entrada de protobuf do exemplo baixado>
Executar o trabalho do Stream Analytics
Abra ProtobufCloudDeserializer.asaql e selecione Executar localmente do CodeLens, depois escolha Usar Entrada Local na lista suspensa.
Na guia Resultados no diagrama do Trabalho, você poderá exibir os resultados de saída. Também é possível clicar nas etapas do diagrama do trabalho para exibir o resultado intermediário. Para obter mais detalhes, consulte Depurar localmente usando o diagrama do trabalho.
Você implementou com êxito um desserializador personalizado para seu trabalho do Stream Analytics! Neste tutorial, você testou o desserializador personalizado localmente dados de entrada locais. Você também pode testá-lo usando a entrada de dados dinâmicos na nuvem. Para executar o trabalho na nuvem, você configurará corretamente a entrada e a saída. Em seguida, envie o trabalho para o Azure pelo Visual Studio Code para executar o trabalho na nuvem usando o desserializador personalizado que você implementou.
Depurar o desserializador
Você pode depurar seu desserializador .NET localmente da mesma maneira que depura o código .NET padrão.
Adicionar pontos de interrupção à sua função do .NET.
Clique em Executar na barra de atividades do Visual Studio Code e selecione criar um arquivo launch.json.
Na lista suspensa, escolha ProtobufCloudDeserializer e, em seguida, Azure Stream Analytics.
Edite o arquivo launch.json para substituir <ASASCRIPT>.asaql com ProtobufCloudDeserializer.asaql.
Pressione F5 para iniciar a depuração. O programa irá parar em seus pontos de interrupção conforme o esperado. Isso funciona tanto para entrada local quanto para dados de entrada dinâmicos.
Limpar os recursos
Quando não forem mais necessários, exclua o grupo de recursos, o trabalho de streaming e todos os recursos relacionados. A exclusão do trabalho evita a cobrança das unidades de streaming consumidas por ele. Se você está planejando usar o trabalho no futuro, pode interrompê-lo e reiniciar mais tarde, quando necessário. Se você não for mais usar o trabalho, exclua todos os recursos criados neste tutorial usando as seguintes etapas:
No menu à esquerda no Portal do Azure, selecione Grupos de recursos e selecione o nome do recurso criado.
Em sua página de grupo de recursos, selecione Excluir, digite o nome do recurso para excluir na caixa de texto e selecione Excluir.
Próximas etapas
Neste tutorial, você aprendeu a implementar um desserializador .NET personalizado para a serialização de entrada do buffer de protocolo. Para saber mais sobre como criar desserializadores personalizados, vá para o seguinte artigo: