Partilhar via


Saída de Tópicos 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 Service Bus fornecem uma forma de comunicação um-para-muitos.

A tabela a seguir lista os nomes de propriedade e suas descrições para criar uma saída de tópico do Service Bus.

Property name Descrição
Alias de saída Um nome amigável usado em consultas para direcionar a saída da consulta para este tópico do Service Bus.
Namespace do Service Bus Um contêiner para um conjunto de entidades de mensagens. Ao criar um novo hub de eventos, você também criou um namespace do Service Bus.
Nome do tópico Os tópicos são entidades de mensagens, semelhantes a hubs de eventos e filas. 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 no tópico.
Nome da política do tópico Ao criar um tópico do Service Bus, 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, permissões definidas e chaves de acesso.
Chave de política temática 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 Se você estiver usando o formato CSV ou JSON, uma codificação deverá ser especificada. 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.
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 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, 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