Partilhar via


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

As filas do Service Bus oferecem uma entrega de mensagens FIFO para um ou mais consumidores concorrentes. Normalmente, as mensagens são recebidas e processadas pelos destinatários na ordem temporal em que foram adicionadas à fila. Cada mensagem é recebida e processada por apenas um consumidor de mensagens.

No nível de compatibilidade 1.2, o Azure Stream Analytics usa o protocolo de mensagens AMQP (Advanced Message Queueing Protocol) para gravar em Filas e Tópicos do Service Bus. O AMQP permite que você crie aplicativos híbridos de plataforma cruzada usando um protocolo padrão aberto.

Configuração de saída

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

Property name Descrição
Alias de saída Um nome amigável usado em consultas para direcionar a saída da consulta para essa fila do Service Bus.
Namespace do Service Bus Um contêiner para um conjunto de entidades de mensagens.
Nome da fila O nome da fila do Service Bus.
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, permissões definidas e chaves de acesso.
Chave de política de fila A chave de acesso compartilhada usada para autenticar o acesso ao namespace do Service Bus.
Formato de serialização de eventos O formato de serialização para dados de saída. JSON, CSV e Avro são suportados.
Codificação Para CSV e JSON, UTF-8 é o único formato de codificação suportado no momento.
Delimitador Aplicável apenas para serialização CSV. O Stream Analytics suporta vários delimitadores comuns para serializar dados em formato CSV. Os valores suportados são vírgula, ponto-e-vírgula, espaço, tabulação e barra vertical.
Formato Aplicável apenas para o tipo JSON. A linha separada especifica que a saída é formatada fazendo com que cada objeto JSON seja separado por uma nova linha. Se você selecionar Linha separada, o JSON será lido um objeto de cada vez. Todo o conteúdo por si só não seria um JSON válido. Array especifica que a saída é formatada como uma matriz de objetos JSON.
Colunas de propriedades Opcional. Colunas separadas por vírgulas que precisam ser anexadas como propriedades do usuário da mensagem de saída em vez da carga útil. Mais informações sobre esse recurso estão na seção Propriedades de metadados personalizados para saída.
Colunas Propriedades do Sistema Opcional. Pares de valores-chave de Propriedades do Sistema e nomes de colunas correspondentes que precisam ser anexados à mensagem de saída em vez da carga útil.

O número de partições é baseado na SKU do Service Bus e no tamanho. A chave de partição é um valor inteiro exclusivo para cada partição.

Criação de partições

O particionamento é escolhido automaticamente. O número de partições é baseado na SKU do Service Bus e no tamanho. A chave de partição é um valor inteiro exclusivo para cada partição. O número de gravadores 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, consulte Limites do Service Bus. Para otimizar, use um único evento por mensagem.

Propriedades de metadados personalizadas para saída

Você pode anexar colunas de consulta como propriedades de usuário às suas mensagens de saída. Estas colunas não entram na carga útil. As propriedades estão presentes na forma 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 são suportados, exceto Record e Array.

No exemplo a seguir, os campos DeviceId e DeviceStatus são adicionados aos metadados.

  1. Utilize a consulta seguinte:

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

    Property columns

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

Event custom properties

Propriedades do sistema

Você pode anexar colunas de consulta como propriedades do sistema às mensagens de Fila ou Tópico do barramento de serviço de saída.

Essas colunas não entram na carga útil, em vez disso, a propriedade do sistema ServiceBusMessage correspondente é preenchida com os valores da coluna de consulta. Estas propriedades do sistema são suportadas - 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. Este campo é fornecido como um formato de objeto JSON. Os detalhes sobre este formato são os seguintes:

  • Rodeado por chaves encaracoladas {}.
  • Escrito em pares chave/valor.
  • Chaves e valores devem ser strings.
  • Chave é o nome da propriedade do sistema e o valor é o nome da coluna de consulta.
  • As chaves e os valores são separados por dois pontos.
  • Cada par chave/valor é separado por uma vírgula.

Isto mostra como usar esta propriedade –

  • Consulta: select *, column1, column2 INTO queueOutput FROM iotHubInput
  • Colunas de propriedades do sistema: { "MessageId": "column1", "PartitionKey": "column2"}

Isso define as mensagens da fila do MessageId barramento de serviço com os valores de e PartitionKey é definido com column1column2os valores de .

Próximos passos