Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee wordt een bericht verzonden naar Azure Service Bus met behulp van een serviceverbinding (er is geen agent vereist).
Deze versie van de taak ondersteunt Entra-id en Workload-identiteitsfederatie via de invoer van de Azure Resource Manager-serviceverbinding (azureSubscription). Voor meer informatie, zie het volgende hoofdstuk Opmerkingen .
Syntaxis
# 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.
Invoer
azureSubscription
-
Azure Resource Manager-serviceverbinding
Invoeralias: connectedServiceName.
string. Verplicht.
Hiermee geeft u een Azure Resource Manager-serviceverbinding op.
serviceBusQueueName
-
Naam van de Azure Service Bus-wachtrij
string. Verplicht.
Geef de naam op van de wachtrij waarvoor het bericht is bedoeld.
serviceBusNamespace
-
Azure Service Bus-naamruimte
string. Verplicht.
Geef de naamruimte van uw Azure Service Bus op.
messageBody
-
berichttekst
string.
Hiermee geeft u de JSON-messageBody.
sessionId
-
sessie-id
string.
Hiermee geeft u de sessie-id waarmee het bericht wordt gepubliceerd. Voor wachtrijen op basis van sessies mislukt het publiceren als er geen waarde is opgegeven. Voor wachtrijen die niet op sessies zijn gebaseerd, hoeft geen waarde te worden opgegeven.
signPayload
-
het bericht ondertekenen
boolean. Standaardwaarde: false.
Als dit is ingesteld op true, wordt er een privécertificaat aan het bericht toegevoegd.
certificateString
-
certificaatvariabele
string. Vereist wanneer signPayload = true.
Hiermee geeft u de geheime variabele die de certificaatinhoud bevat. Dit kan ook een certificaat zijn dat is opgeslagen in een Azure-sleutelkluis die is gekoppeld aan een variabelegroep die wordt gebruikt door de release-pijplijn.
signatureKey
-
sleutel van handtekeningeigenschapssleutel
string. Facultatief. Gebruiken wanneer signPayload = true. Standaardwaarde: signature.
In Berichteigenschappen geeft u de sleutel op waar de handtekening zich bevindt. Als deze waarde leeg blijft, wordt de standaardwaarde signature.
waitForCompletion
-
wachten op voltooiing van de taak
boolean. Standaardwaarde: false.
Als deze optie is ingesteld op true, wacht deze taak op de gebeurtenis TaskCompleted voor de opgegeven time-out voor de taak.
useDataContractSerializer
-
Gebruik .NET data contract serializer
boolean. Standaardwaarde: true.
Stel useDataContractSerializer in op false als u uw bericht wilt doorgeven als een stroom in plaats van een object.
Opties voor taakbeheer
Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.
Uitvoervariabelen
Geen.
Opmerkingen
Gebruik deze taak in een taak zonder agent van een release-pijplijn om een bericht te verzenden naar een Azure Service Bus met behulp van een serviceverbinding (zonder een agent).
Opmerking
Kan alleen worden gebruikt in een taak zonder agent van een release-pijplijn.
Toegang tot Azure Service Bus vanuit pijplijnen met behulp van Entra-ID-verificatie
U kunt nu Entra-ID-verificatie gebruiken om toegang te krijgen tot Azure Service Bus vanuit Azure Pipelines. Hierdoor kunt u profiteren van Workload identity federation om geheimenbeheer te verwijderen en Azure RBAC voor fijnmazig toegangsbeheer.
Identiteiten die toegang hebben tot Azure Service Bus, moeten een van de ingebouwde Azure-rollen krijgen voor Azure Service Bus op de Service Bus waartoe toegang wordt verkregen.
De PublishToAzureServiceBus@2 taak kan worden geconfigureerd met behulp van een Azure Resource Manager-serviceverbinding. Maak een Azure Resource Manager-serviceverbinding en vul de serviceBusQueueName eigenschappen serviceBusNamespace en van de taak in:
- task: PublishToAzureServiceBus@2
inputs:
azureSubscription: my-azure-service-connection
serviceBusQueueName: my-service-bus-queue
serviceBusNamespace: my-service-bus-namespace
useDataContractSerializer: false
messageBody: |
{
"property": "value"
}
Waar moet een taaksignaal worden voltooid?
Om de voltooiing te signaleren, moet de externe service POST-voltooiingsgegevens verzenden naar het volgende REST-eindpunt voor pijplijnen.
{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 vult automatisch de ServiceBusReceivedMessage.ApplicationProperties in.
Zie deze eenvoudige cmdlinetoepassing voor specifieke informatie.
Daarnaast is er een C#-helperbibliotheek beschikbaar om livelogboekregistratie in te schakelen en de taakstatus voor taken zonder agent te beheren. Meer informatie over Asynchrone TAKEN zonder HTTP-agent.
Behoeften
| Voorwaarde | Beschrijving |
|---|---|
| Pijplijntypen | YAML, klassieke build, klassieke release |
| Wordt uitgevoerd op | Serverapparaat |
| Eisen | Geen |
| Mogelijkheden | Deze taak voldoet niet aan de vereisten voor volgende taken in de taak. |
| opdrachtbeperkingen | Welke dan ook |
| variabelen instellen | Welke dan ook |
| Agentversie | Alle ondersteunde agentversies. |
| Taakcategorie | Nutsvoorzieningen |