Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengirim pesan ke Azure Service Bus menggunakan koneksi layanan (tidak ada agen yang diperlukan).
Versi tugas ini mendukung ID Entra dan federasi identitas beban kerja melalui input koneksi layanan Azure Resource Manager (azureSubscription). Untuk informasi selengkapnya, lihat bagian Komentar berikut ini.
Sintaksis
# 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.
Masukan
azureSubscription
-
Koneksi layanan Azure Resource Manager
Alias input: connectedServiceName.
string. Dibutuhkan.
Menentukan koneksi layanan Azure Resource Manager.
serviceBusQueueName
-
Nama Antrean Azure Service Bus
string. Dibutuhkan.
Tentukan nama antrean yang ditujukan untuk pesan.
serviceBusNamespace
-
Azure Service Bus Namespace
string. Dibutuhkan.
Tentukan namespace Azure Service Bus Anda.
isi pesan messageBody -
string.
Menentukan JSON messageBody.
Id Sesi sessionId -
string.
Menentukan ID sesi tempat pesan diterbitkan. Untuk antrean berbasis sesi, penerbitan gagal jika nilai tidak ditentukan. Untuk antrean berbasis non sesi, nilai tidak perlu ditentukan.
signPayload
-
Menandatangani Pesan
boolean. Nilai default: false.
Jika diatur ke true, sertifikat privat akan ditambahkan ke pesan.
Variabel Sertifikat certificateString -
string. Diperlukan saat signPayload = true.
Menentukan variabel rahasia yang berisi konten sertifikat. Ini juga dapat menjadi sertifikat yang disimpan dalam brankas kunci Azure yang ditautkan ke grup variabel yang digunakan oleh alur rilis.
Kunci Properti Tanda Tangan signatureKey -
string. Fakultatif. Gunakan saat signPayload = true. Nilai default: signature.
Di Properti Pesan, tentukan kunci tempat tanda tangan berada. Jika dibiarkan kosong, nilai defaultnya adalah signature.
waitForCompletion
-
Tunggu penyelesaian tugas
boolean. Nilai default: false.
Jika diatur ke true, tugas ini akan menunggu peristiwa TaskCompleted untuk batas waktu tugas yang ditentukan.
useDataContractSerializer
-
Menggunakan serializer kontrak data .NET
boolean. Nilai default: true.
Atur useDataContractSerializer ke false jika Anda ingin meneruskan pesan Anda sebagai streaming, bukan objek.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugasnya. Untuk informasi selengkapnya, lihat opsi Kontrol dan properti tugas umum.
Variabel-variabel keluaran
Tidak ada.
Komentar
Gunakan tugas ini dalam pekerjaan tanpa agen alur rilis untuk mengirim pesan ke Azure Service Bus menggunakan koneksi layanan (tanpa menggunakan agen).
Akses Azure Service Bus dari Alur menggunakan autentikasi ID Entra
Anda sekarang dapat menggunakan autentikasi ID Entra untuk mengakses Azure Service Bus dari Azure Pipelines. Hal ini memungkinkan Anda memanfaatkan federasi identitas beban kerja untuk menghapus manajemen rahasia dan Azure RBAC untuk kontrol akses terperinci.
Identitas yang mengakses Azure Service Bus harus diberikan salah satu peran bawaan Azure untuk Azure Service Bus pada Service Bus yang diakses.
Tugas PublishToAzureServiceBus@2 dapat dikonfigurasi menggunakan koneksi layanan Azure Resource Manager. Buat koneksi layanan Azure Resource Manager dan isi serviceBusQueueNameserviceBusNamespace dan properti tugas:
- task: PublishToAzureServiceBus@2
inputs:
azureSubscription: my-azure-service-connection
serviceBusQueueName: my-service-bus-queue
serviceBusNamespace: my-service-bus-namespace
useDataContractSerializer: false
messageBody: |
{
"property": "value"
}
Di mana harus menyelesaikan sinyal tugas?
Untuk penyelesaian sinyal, layanan eksternal harus MEMPOSTING data penyelesaian ke titik akhir REST alur berikut.
{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 secara otomatis mengisi ServiceBusReceivedMessage.ApplicationProperties.
Lihat aplikasi cmdline sederhana ini secara spesifik.
Selain itu, pustaka pembantu C# tersedia untuk mengaktifkan pengelogan langsung dan mengelola status tugas untuk tugas tanpa agen. Pelajari selengkapnya tentang tugas tanpa agen HTTP Asinkron.
Persyaratan
| Persyaratan | Deskripsi |
|---|---|
| Jenis alur | YAML, Build klasik, Rilis klasik |
| Berjalan pada | pelayan |
| Tuntutan | Tidak ada |
| Kemampuan | Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan. |
| pembatasan Perintah |
Apa saja |
| variabel yang Dapat Diatur |
Apa saja |
| Versi agen | Semua versi agen yang didukung. |
| Kategori tugas | Utilitas |