Sdílet prostřednictvím


PublishToAzureServiceBus@2 – Úloha publikování do služby Azure Service Bus v2

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