Tópicos de saída do Barramento de Serviço do Azure Stream Analytics

As filas do Barramento de Serviço fornecem um método de comunicação um-para-um do remetente para o destinatário. Os tópicos do Barramento de Serviço fornecem uma forma de comunicação de um-para-muitos.

A tabela a seguir lista os nomes de propriedade e suas descrições para a criação de uma saída de tópico do Barramento de Serviço.

Nome da propriedade Descrição
Alias de saída Um nome amigável utilizado em consultas para direcionar a saída da consulta para esse tópico de Barramento de Serviço.
Namespace do Barramento de Serviço Um contêiner para um conjunto de entidades de mensagens. Ao criar um novo hub de eventos, você também criou um namespace Barramento de Serviço.
Nome do tópico Tópicos são entidades de envio de mensagens, semelhantes a filas e hubs de eventos. Eles são projetados para coletar fluxos de eventos de dispositivos e serviços. Quando um tópico é criado, ele também recebe um nome específico. As mensagens enviadas para um tópico não estão disponíveis a menos que uma assinatura seja criada, portanto, verifique se há uma ou mais assinaturas sob o tópico.
Nome da política de tópico Ao criar um tópico do Barramento de Serviço, você também pode criar políticas de acesso compartilhado na guia Configurar do tópico. Cada política de acesso compartilhado tem um nome, as permissões definidas por você e as chaves de acesso.
Chave de política de tópico A chave de acesso compartilhado usada para autenticar o acesso ao namespace do Barramento de Serviço.
Formato de serialização do evento O formato de serialização para dados de saída. Há suporte para JSON, CSV e Avro.
Codificação Se você estiver usando o formato CSV ou JSON, uma codificação deverá ser especificada. UTF-8 é o único formato de codificação com suporte no momento.
Delimitador Aplicável somente à serialização de CSV. O Stream Analytics é compatível com vários delimitadores comuns para serialização de dados no formato CSV. Os valores com suporte são vírgula, ponto e vírgula, espaço, tab e barra vertical.
Colunas da propriedade Opcional. Colunas separadas por vírgula que precisam ser anexadas como propriedades de usuário da mensagem de saída em vez do conteúdo. Há mais informações sobre esse recurso na seção Propriedades de metadados personalizadas para saída.
Colunas da Propriedade do Sistema Opcional. Pares de valor-chave das Propriedades do Sistema e nomes de colunas correspondentes que precisam ser anexados à mensagem de saída em vez do conteúdo.

O número de partições baseia-se no tamanho e SKU do Barramento de Serviço. A chave de partição é um valor inteiro exclusivo para cada partição.

Particionamento

O particionamento é escolhido automaticamente. O número de partições baseia-se no tamanho e SKU do Barramento de Serviço. A chave de partição é um valor inteiro exclusivo para cada partição. O número de autores de saída é o mesmo que o número de partições no tópico de saída.

Tamanho do lote de saída

O tamanho máximo da mensagem é de 256 KB por mensagem para a camada Standard e 1MB para a camada Premium. Para obter mais informações, confira limites do Barramento de Serviço. Para otimizar, use um evento único por mensagem.

Personalizar propriedades de metadados para a saída

Você pode anexar colunas de consulta às suas mensagens de saída como propriedades de usuário. Essas colunas não entram no conteúdo. As propriedades estão presentes no formato de um dicionário na mensagem de saída. Chave é o nome da coluna e valor é o valor da coluna no dicionário de propriedades. Todos os tipos de dados do Stream Analytics têm suporte, exceto Registro e Matriz.

No exemplo a seguir, adicionamos os campos DeviceId e DeviceStatus aos metadados.

  1. Use a seguinte consulta:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Configure DeviceId,DeviceStatus como colunas de propriedade na saída.

    Property columns

A imagem a seguir é das propriedades de mensagem de saída esperadas inspecionadas no Hub de Eventos usando o Service Bus Explorer.

Event custom properties

Propriedades do sistema

Você pode anexar colunas de consulta como propriedades do sistema às suas mensagens da fila ou do tópico do Barramento de Serviço de saída. Essas colunas não entram no conteúdo, em vez disso, a propriedade do sistema ServiceBusMessage correspondente é preenchida com os valores da coluna de consulta. Estas propriedades do sistema têm suporte: MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc.

Os valores de cadeia de caracteres dessas colunas são analisados como o tipo de valor de propriedade do sistema correspondente, e quaisquer falhas de análise são tratadas como erros de dados. Esse campo é fornecido como um formato de objeto JSON. Os detalhes sobre esse formato são os seguintes:

  • Entre chaves {}.
  • Escritos em pares chave/valor.
  • Chaves e valores devem ser cadeias de caracteres.
  • A chave é o nome da propriedade do sistema, e o valor é o nome da coluna de consulta.
  • Chaves e valores são separados por dois pontos.
  • Cada par chave/valor é separado por uma vírgula.

Eis como usar essa propriedade:

  • Consulta: select *, column1, column2 INTO queueOutput FROM iotHubInput
  • Colunas da Propriedade do Sistema: { "MessageId": "column1", "PartitionKey": "column2"}

Isso define a MessageId nas mensagens de fila do barramento de serviço com os valores de column1, e a PartitionKey é definida com os valores de column2.

Próximas etapas