Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Odešle zprávu službě Azure Service Bus pomocí připojení služby (nevyžaduje se žádný agent).
Tato verze úlohy podporuje Entra ID a federaci identit úloh prostřednictvím vstupu připojení služby Azure Resource Manager (azureSubscription). Další informace naleznete v následující části Poznámky .
Syntaxe
# 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.
Vstupy
azureSubscription
-
Připojení ke službě Azure Resource Manager
Vstupní alias: connectedServiceName.
string. Povinné.
Určuje připojení služby Azure Resource Manager.
serviceBusQueueName
-
Název fronty služby Azure Service Bus
string. Povinné.
Zadejte název fronty, pro kterou je zpráva určena.
serviceBusNamespace
-
Obor názvů služby Azure Service Bus
string. Povinné.
Zadejte obor názvů služby Azure Service Bus.
textu zprávy messageBody -
string.
Určuje messageBodyJSON .
ID relacesessionId -
string.
Určuje ID relace, se kterou se zpráva publikuje. U front založených na relacích publikování selže, pokud není zadána hodnota. Pro fronty, které nejsou založené na relacích, není nutné zadávat hodnotu.
signPayload
-
podepsat zprávy
boolean. Výchozí hodnota: false.
Pokud je nastavená hodnota true, přidá se do zprávy soukromý certifikát.
certificateString
-
proměnné certifikátu
string. Požadováno při signPayload = true.
Určuje proměnnou tajného kódu, která obsahuje obsah certifikátu. Může to být také certifikát uložený v trezoru klíčů Azure, který je propojený se skupinou proměnných, kterou používá kanál verze.
signatureKey
-
podpisový klíč vlastnosti
string. Volitelný. Používá se při signPayload = true. Výchozí hodnota: signature.
Ve vlastnostech zprávy určuje klíč, ve kterém je podpis. Pokud je tato hodnota prázdná, výchozí hodnota je signature.
waitForCompletion
-
Počkat na dokončení úkolu
boolean. Výchozí hodnota: false.
Pokud je nastavena hodnota true, tato úloha počká na událost TaskCompleted pro zadaný časový limit úkolu.
useDataContractSerializer
-
Použití serializátoru kontraktu dat .NET
boolean. Výchozí hodnota: true.
Pokud chcete zprávu předat jako datový proud místo objektu, nastavte useDataContractSerializer na false.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Žádné.
Poznámky
Tuto úlohu použijte v úloze bez agenta kanálu verze k odeslání zprávy do služby Azure Service Bus pomocí připojení ke službě (bez použití agenta).
Poznámka:
Dá se použít jenom v úloze bez agenta kanálu verze.
Přístup ke službě Azure Service Bus z kanálů pomocí ověřování Entra ID
Nyní můžete používat ověřování Entra ID pro přístup k Azure Service Bus z Azure Pipelines. To vám umožní využít federaci identit úloh k odebrání správy tajných kódů a Azure RBAC pro jemně odstupňované řízení přístupu.
Identitám přistupujícím ke službě Azure Service Bus bude nutné udělit jednu z předdefinovaných rolí Azure pro Azure Service Bus na Service Bus, ke které se přistupuje.
Úlohu PublishToAzureServiceBus@2 je možné nakonfigurovat pomocí připojení služby Azure Resource Manager. Vytvořte připojení služby Azure Resource Manager a naplňte serviceBusQueueNameserviceBusNamespace vlastnosti a úlohy:
- task: PublishToAzureServiceBus@2
inputs:
azureSubscription: my-azure-service-connection
serviceBusQueueName: my-service-bus-queue
serviceBusNamespace: my-service-bus-namespace
useDataContractSerializer: false
messageBody: |
{
"property": "value"
}
Kde by se měl signál úkolu dokončit?
K dokončení signálu by externí služba měla data dokončení POST provést do následujícího koncového bodu REST kanálů.
{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 automaticky naplní ServiceBusReceivedMessage.ApplicationProperties.
Konkrétní informace najdete v této jednoduché aplikace cmdline.
Kromě toho je k dispozici pomocná knihovna jazyka C#, která umožňuje dynamické protokolování a správu stavu úlohy pro úlohy bez agentů. Přečtěte si další informace o asynchronních úlohách bez agentů HTTP.
Požadavky
| Požadavek | Popis |
|---|---|
| Typy kanálů | YAML, klasické sestavení, klasická verze |
| Běží na | počítačový server |
| Požadavky | Žádné |
| možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
| omezení příkazů | Jakýkoliv |
| nastavitelné proměnné | Jakýkoliv |
| Verze agenta | Všechny podporované verze agenta. |
| Kategorie úkolu | Užitnost |