Partilhar via


PublishToAzureServiceBus@2 - Tarefa Publicar no Barramento de Serviço do Azure v2

Envia uma mensagem para o Barramento de Serviço do Azure usando uma conexão de serviço (nenhum agente é necessário).

Esta versão da tarefa dá suporte à ID do Entra e à federação de identidades de carga de trabalho por meio de sua entrada de conexão de serviço do Azure Resource Manager (azureSubscription). Para obter mais informações, consulte a seção Comentários a seguir.

Sintaxe

# Publish To Azure Service Bus v2
# Sends a message to Azure Service Bus using an Azure Resource Manager service connection (no agent is required).
- task: PublishToAzureServiceBus@2
  inputs:
    azureSubscription: # string. Alias: connectedServiceName. Required. Azure Resource Manager service connection. 
    serviceBusQueueName: # string. Required. Azure Service Bus Queue name. 
    serviceBusNamespace: # string. Required. Azure Service Bus Namespace. 
    #messageBody: # string. Message body. 
    #waitForCompletion: false # boolean. Wait for task completion. Default: false.
    #useDataContractSerializer: true # boolean. Use .NET data contract serializer. Default: true.
  # Advanced
    #sessionId: # string. Session Id. 
    #signPayload: false # boolean. Sign the Message. Default: false.
    #certificateString: # string. Required when signPayload = true. Certificate Variable. 
    #signatureKey: 'signature' # string. Optional. Use when signPayload = true. Signature Property Key. Default: signature.

Insumos

azureSubscription - Conexão de serviço do Azure Resource Manager
Alias de entrada: connectedServiceName. string. Obrigatório

Especifica uma conexão de serviço do Azure Resource Manager.


serviceBusQueueName - Nome da fila do Barramento de Serviço do Azure
string. Obrigatório

Especifique o nome da fila para a qual a mensagem se destina.


serviceBusNamespace - Namespace do Barramento de Serviço do Azure
string. Obrigatório

Especifique o namespace do seu Barramento de Serviço do Azure.


messageBody - Corpo da mensagem
string.

Especifica o JSON messageBody.


sessionId - ID da sessão
string.

Especifica a ID da sessão com a qual a mensagem é publicada. Para filas baseadas em sessão, a publicação falhará se um valor não for especificado. Para filas não baseadas em sessão, um valor não precisa ser especificado.


signPayload - assinar a mensagem
boolean. Valor predefinido: false.

Se definido como true, um certificado privado será adicionado à mensagem.


certificateString - variável de certificado
string. Necessário quando signPayload = true.

Especifica a variável secreta que contém o conteúdo do certificado. Isso também pode ser um certificado armazenado em um cofre de chaves do Azure que está vinculado a um grupo de variáveis usado pelo pipeline de versão.


signatureKey - Chave de propriedade de assinatura
string. Opcional. Use quando signPayload = true. Valor predefinido: signature.

Em Propriedades da Mensagem, especifica a chave onde está a assinatura. Se deixado vazio, o valor padrão é signature.


waitForCompletion - Aguarde a conclusão da tarefa
boolean. Valor predefinido: false.

Se definido como true, esta tarefa aguardará o evento TaskCompleted para o tempo limite da tarefa especificado.


useDataContractSerializer - Usar o serializador de contrato de dados .NET
boolean. Valor predefinido: true.

Defina useDataContractSerializer como false se quiser passar sua mensagem como um fluxo em vez de um objeto.


Opções de controlo de tarefas

Todas as tarefas têm opções de controle, além de suas entradas de tarefas. Para obter mais informações, consulte Opções de controle de e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Use esta tarefa em um trabalho sem agente de um pipeline de liberação para enviar uma mensagem para um Barramento de Serviço do Azure usando uma conexão de serviço (sem usar um agente).

Observação

Só pode ser usado em um trabalho sem agente de um pipeline de liberação.

Acessar o Barramento de Serviço do Azure a partir de Pipelines usando a autenticação de ID do Entra

Agora você pode usar a autenticação de ID do Entra para acessar o Barramento de Serviço do Azure a partir do Azure Pipelines. Isso permite que você aproveite a federação de identidades de carga de trabalho para remover o gerenciamento de segredos e o RBAC do Azure para controle de acesso refinado.

As identidades que acessam o Barramento de Serviço do Azure precisarão receber uma das funções internas do Azure para o Barramento de Serviço do Azure no Barramento de Serviço acessado.

A PublishToAzureServiceBus@2 tarefa pode ser configurada usando uma conexão de serviço do Azure Resource Manager. Crie uma conexão de serviço do Azure Resource Manager e preencha as serviceBusQueueName propriedades e serviceBusNamespace da tarefa:

- task: PublishToAzureServiceBus@2
  inputs:
    azureSubscription: my-azure-service-connection
    serviceBusQueueName: my-service-bus-queue
    serviceBusNamespace: my-service-bus-namespace
    useDataContractSerializer: false
    messageBody: |
      {
        "property": "value"
      }

Onde deve ser concluída uma tarefa?

Para sinalizar a conclusão, o serviço externo deve enviar dados de conclusão POST para o ponto de extremidade REST dos seguintes pipelines.

{planUri}/{projectId}/_apis/distributedtask/hubs/{hubName}/plans/{planId}/events?api-version=2.0-preview.1

**Request Body**
 { "name": "TaskCompleted", "taskId": "taskInstanceId", "jobId": "jobId", "result": "succeeded" }

O Azure DevOps preenche automaticamente o ServiceBusReceivedMessage.ApplicationProperties.

Consulte este de aplicação cmdline simples para obter detalhes.

Além disso, uma biblioteca auxiliar em C# está disponível para habilitar o registro em tempo real e o gerenciamento do status da tarefa para tarefas sem agente. Saiba mais sobre tarefas HTTP assíncronas sem agente.

Requerimentos

Requisito Descrição
Tipos de pipeline YAML, Construção clássica, Versão clássica
Funciona em Servidor
Exigências Nenhum
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente Todas as versões de agente suportadas.
Categoria de tarefa Utilidade