Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Отправляет сообщение в служебную шину Azure с помощью подключения к службе (агент не требуется).
Эта версия задачи поддерживает федерацию идентификаторов Entra и удостоверений рабочей нагрузки через входные данные подключения к службе Azure Resource Manager (azureSubscription). Дополнительные сведения см. в следующем разделе Примечания.
Синтаксис
# 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.
Входные данные
azureSubscription
-
Подключение к службе Azure Resource Manager
Псевдоним ввода: connectedServiceName.
string. Обязательное.
Указывает подключение к службе Azure Resource Manager.
serviceBusQueueName
-
Имя очереди служебной шины Azure
string. Обязательное.
Укажите имя очереди, для которой предназначено сообщение.
serviceBusNamespace
-
Пространство имен служебной шины Azure
string. Обязательное.
Укажите пространство имен служебной шины Azure.
текст сообщения messageBody -
string.
Указывает messageBodyJSON.
sessionId
-
идентификатор сеанса
string.
Указывает идентификатор сеанса, с которым публикуется сообщение. Для очередей на основе сеансов публикация завершается ошибкой, если значение не указано. Для очередей, не основанных на сеансах, не требуется указывать значение.
signPayload
-
подписать сообщение
boolean. Значение по умолчанию: false.
Если задано значение true, в сообщение будет добавлен закрытый сертификат.
Переменная сертификата certificateString -
string. Требуется, если signPayload = true.
Указывает секретную переменную, содержащую содержимое сертификата. Это также может быть сертификат, хранящийся в хранилище ключей Azure, который связан с группой переменных, используемой конвейером выпуска.
ключа свойства подписи signatureKey -
string. Необязательно. Используется при signPayload = true. Значение по умолчанию: signature.
В свойствах сообщения указывает ключ, в котором находится подпись. Если осталось пустым, значение по умолчанию signature.
waitForCompletion
-
ожидание завершения задачи
boolean. Значение по умолчанию: false.
Если задано значение true, эта задача ожидает события TaskCompleted для указанного времени ожидания задачи.
useDataContractSerializer
-
Использование сериализатора контрактов данных .NET
boolean. Значение по умолчанию: true.
Задайте для useDataContractSerializer значение false, если вы хотите передать сообщение в виде потока вместо объекта.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Нет.
Замечания
Используйте эту задачу в задании без агента конвейера выпуска для отправки сообщения в служебную шину Azure с помощью подключения службы (без использования агента).
Замечание
Можно использовать только в задании без агента конвейера выпуска.
Доступ к служебной шине Azure из конвейеров с помощью проверки подлинности Entra ID
Теперь вы можете использовать проверку подлинности Entra ID для доступа к служебной шине Azure из Azure Pipelines. Это позволяет использовать федерацию удостоверений рабочих нагрузок для удаления секретов, управление секретами и Azure RBAC для точного контроля доступа.
Удостоверениям, получающим доступ к служебной шине Azure, необходимо предоставить одну из встроенных ролей Azure для служебной шины Azure на служебной шине, к которой осуществляется доступ.
Задачу PublishToAzureServiceBus@2 можно настроить с помощью подключения к службе Azure Resource Manager.
Создайте подключение к службе Azure Resource Manager и заполните serviceBusQueueNameserviceBusNamespace свойства и задачи:
- task: PublishToAzureServiceBus@2
inputs:
azureSubscription: my-azure-service-connection
serviceBusQueueName: my-service-bus-queue
serviceBusNamespace: my-service-bus-namespace
useDataContractSerializer: false
messageBody: |
{
"property": "value"
}
Где должно быть завершение задачи?
Чтобы сигнализировать о завершении, внешняя служба должна отправлять данные о завершении POST в следующую конечную точку REST конвейеров.
{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 автоматически заполняет свойства ServiceBusReceivedMessage.ApplicationProperties.
Дополнительные сведения см. в этом простом приложения cmdline.
Кроме того, вспомогающая библиотека C# доступна для включения динамического ведения журнала и управления состоянием задачи без агента. Дополнительные сведения о задачах без агента Async HTTP.
Требования
| Требование | Описание |
|---|---|
| Типы конвейеров | YAML, классическая сборка, классический выпуск |
| Выполняется в | Сервер |
| Требования | Отсутствует |
| Возможности | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
| ограничения команд | Любое |
| переменные settable | Любое |
| Версия агента | Все поддерживаемые версии агента. |
| Категория задач | Полезность |