Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Envía un mensaje a Azure Service Bus mediante una conexión de servicio (no se requiere ningún agente).
Esta versión de la tarea admite el identificador de Entra y la federación de identidades de carga de trabajo a través de su entrada de conexión de servicio de Azure Resource Manager (azureSubscription
). Para obtener más información, consulte la siguiente sección Comentarios.
Sintaxis
# 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
-
Conexión de servicio de Azure Resource Manager
Alias de entrada: connectedServiceName
.
string
. Obligatorio.
Especifica una conexión de servicio de Azure Resource Manager.
serviceBusQueueName
-
Nombre de la cola de Azure Service Bus
string
. Obligatorio.
Especifique el nombre de la cola a la que está destinado el mensaje.
serviceBusNamespace
-
Espacio de nombres de Azure Service Bus
string
. Obligatorio.
Especifique el espacio de nombres de Azure Service Bus.
cuerpo del mensaje de messageBody
-
string
.
Especifica el messageBody
JSON .
de identificador de sesión de sessionId
-
string
.
Especifica el identificador de sesión con el que se publica el mensaje. En el caso de las colas basadas en sesión, se produce un error en la publicación si no se especifica un valor. En el caso de las colas no basadas en sesiones, no es necesario especificar un valor.
signPayload
-
firmar el de mensajes
boolean
. Valor predeterminado: false
.
Si se establece en true
, se agregará un certificado privado al mensaje.
certificateString
-
variable de certificado
string
. Obligatorio cuando signPayload = true
.
Especifica la variable secreta que contiene el contenido del certificado. También puede ser un certificado almacenado en un almacén de claves de Azure que esté vinculado a un grupo de variables usado por la canalización de versión.
de clave de propiedad de firma de signatureKey
-
string
. Opcional. Use cuando signPayload = true
. Valor predeterminado: signature
.
En Propiedades del mensaje, especifica la clave donde está la firma. Si se deja vacío, el valor predeterminado es signature
.
waitForCompletion
-
esperar de finalización de tareas
boolean
. Valor predeterminado: false
.
Si se establece en true
, esta tarea esperará al evento TaskCompleted para el tiempo de espera de tarea especificado.
useDataContractSerializer
-
Uso del serializador de contratos de datos de .NET
boolean
. Valor predeterminado: true
.
Establezca useDataContractSerializer
en false
si desea pasar el mensaje como una secuencia en lugar de un objeto .
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Observaciones
Use esta tarea en un trabajo sin agente de una canalización de versión para enviar un mensaje a Azure Service Bus mediante una conexión de servicio (sin usar un agente).
Acceso a Azure Service Bus desde canalizaciones mediante la autenticación de identificador de Entra
Ahora puede usar la autenticación de identificador de Entra para acceder a Azure Service Bus desde Azure Pipelines. Esto le permite aprovechar la federación de identidades de carga de trabajo para quitar la administración de secretos y Azure RBAC para un control de acceso detallado.
A las identidades que accedan a Azure Service Bus se les deberá conceder uno de los roles integrados de Azure para Azure Service Bus en el Service Bus al que se accede.
La PublishToAzureServiceBus@2
tarea se puede configurar mediante una conexión de servicio de Azure Resource Manager. Cree una conexión de servicio de Azure Resource Manager y rellene las serviceBusQueueName
propiedades y serviceBusNamespace
de la tarea:
- task: PublishToAzureServiceBus@2
inputs:
azureSubscription: my-azure-service-connection
serviceBusQueueName: my-service-bus-queue
serviceBusNamespace: my-service-bus-namespace
useDataContractSerializer: false
messageBody: |
{
"property": "value"
}
¿Dónde debe completarse una señal de tarea?
Para indicar la finalización, el servicio externo debe publicar los datos de finalización en el siguiente punto de conexión REST de canalizaciones.
{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" }
Azure DevOps rellena automáticamente ServiceBusReceivedMessage.ApplicationProperties.
Consulte esta sencilla de aplicación cmdline para obtener información específica.
Además, hay disponible una biblioteca auxiliar de C# para habilitar el registro en directo y administrar el estado de la tarea para las tareas sin agente. Obtenga más información sobre tareas sin agente HTTP asincrónicas.
Requisitos
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica, versión clásica |
Se ejecuta en | Servidor |
demandas | Ninguno |
Capacidades | Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
restricciones de comandos | Cualquiera |
variables settable | Cualquiera |
Versión del agente | Todas las versiones de agente admitidas. |
Categoría de tarea | Utilidad |