Compartilhar 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 à federação de identidades da ID do Entra e da 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.

Entradas

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 Barramento de Serviço do Azure.


corpo da mensagem messageBody -
string.

Especifica o messageBodyJSON.


sessionId - de 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 padrão: false.

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


de variável de certificado certificateString -
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 vinculado a um grupo de variáveis usado pelo pipeline de lançamento.


de chave de propriedade de assinatura signatureKey -
string. Opcional. Use quando signPayload = true. Valor padrão: signature.

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


waitForCompletion - aguardar a conclusão da tarefa
boolean. Valor padrão: false.

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


useDataContractSerializer - Usar o serializador de contrato de dados do .NET
boolean. Valor padrão: true.

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


Opções de controle de tarefa

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

Variáveis de saída

Nenhum.

Observações

Use essa tarefa em um trabalho sem agente de um pipeline de lançamento 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 lançamento.

Acessar o Barramento de Serviço do Azure do 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 do Azure Pipelines. Isso permite que você aproveite a federação de identidade 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 um sinal de tarefa deve ser concluído?

Para sinalizar a conclusão, o serviço externo deve postar dados de conclusão para o ponto de extremidade REST de pipelines a seguir.

{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 aplicativo cmdline simples para obter detalhes.

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

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Execuções em Servidor
de demandas Nenhum
recursos Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
restrições de comando Qualquer
variáveis settable Qualquer
Versão do agente Todas as versões de agente com suporte.
Categoria de tarefa Utilidade