Saída de filas do Barramento de Serviço oriundas do Azure Stream Analytics

As filas do Barramento de Serviço oferecem entrega de mensagem do tipo PEPS para um ou mais consumidores concorrentes. Geralmente, as mensagens são recebidas e processadas pelos receptores na ordem temporal em que foram adicionadas à fila. Cada mensagem é recebida e processada por somente um consumidor de mensagem.

No nível de compatibilidade 1.2, o Azure Stream Analytics usa o protocolo de sistema de mensagens AMQP (Protocolo de Enfileiramento de Mensagens Avançado) para gravar em filas e tópicos do barramento de serviço. O AMQP permite que você crie várias plataformas, aplicativos híbridos usando um protocolo de padrão aberto.

Configuração de saída

A tabela a seguir lista os nomes de propriedade e suas descrições para a criação de uma saída de fila.

Nome da propriedade Descrição
Alias de saída Um nome amigável utilizado em consultas para direcionar a saída da consulta para essa fila de Barramento de Serviço.
Namespace do Barramento de Serviço Um contêiner para um conjunto de entidades de mensagens.
Nome da fila O nome da fila do Barramento de Serviço.
Nome da política de fila Ao criar uma fila, você também pode criar políticas de acesso compartilhado na guia Configurar da fila. 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 fila 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 Para CSV e JSON, 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.
Formatar Aplicável somente para o tipo JSON. Uma Linha separada especifica que a saída é formatada com cada objeto JSON separado por uma nova linha. Se você selecionar Linha separada, o JSON será lido um objeto por vez. O conteúdo inteiro por si só não seria um JSON válido. A matriz especifica que a saída é formatada como uma matriz de objetos JSON.
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. 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 na fila 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