このタスクを使用して、サービス接続を使用して Azure Service Bus にメッセージを送信します (エージェントは必要ありません)。
構文
# Publish To Azure Service Bus v1
# Sends a message to Azure Service Bus using a service connection (no agent is required).
- task: PublishToAzureServiceBus@1
inputs:
azureSubscription: # string. Alias: connectedServiceName. Required. Azure Service Bus service connection.
#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.
# Publish To Azure Service Bus v1
# Sends a message to Azure Service Bus using a service connection (no agent is required).
- task: PublishToAzureServiceBus@1
inputs:
azureSubscription: # string. Alias: connectedServiceName. Required. Azure Service Bus service connection.
#messageBody: # string. Message body.
#waitForCompletion: false # boolean. Wait for task completion. Default: false.
# 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.
入力
Azure Service Bus サービス接続を azureSubscription
- する
入力エイリアス: connectedServiceName
。
string
. 必須。
Azure Service Bus サービス接続 を指定します。
messageBody
-
メッセージ本文の
string
.
JSON messageBody
を指定します。
sessionId
-
セッション ID
string
.
メッセージのパブリッシュに使用するセッション ID を指定します。 セッション ベースのキューの場合、値が指定されていない場合、発行は失敗します。 非セッション ベースのキューの場合、値を指定する必要はありません。
メッセージに署名する signPayload
-
boolean
. 既定値: false
.
true
に設定すると、プライベート証明書がメッセージに追加されます。
証明書変数の certificateString
-
string
.
signPayload = true
する場合に必要です。
証明書の内容を含むシークレット変数を指定します。 これは、リリース パイプラインで使用される変数グループにリンクされた 、Azure キー コンテナーに格納されている証明書にすることもできます。
signatureKey
-
Signature プロパティ キーの
string
. 任意
signPayload = true
するときに使用します。 既定値: signature
.
[メッセージのプロパティ] で、署名があるキーを指定します。 空のままにした場合、既定値は signature
です。
waitForCompletion
-
タスクの完了 を待つ
boolean
. 既定値: false
.
true
に設定すると、このタスクは TaskCompleted イベントが指定されたタスク タイムアウトを待機します。
useDataContractSerializer
-
.NET データ コントラクト シリアライザーを使用します。
boolean
. 既定値: true
.
メッセージをオブジェクトではなくストリームとして渡す場合は、useDataContractSerializer
を false
に設定します。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
なし。
注釈
リリース パイプラインの エージェントレス ジョブ でこのタスクを使用して、(エージェントを使用せずに) サービス接続を使用して Azure Service Bus にメッセージを送信します。
注
リリース パイプラインの エージェントレス ジョブ でのみ使用できます。
タスクが完了を通知する必要がある場所
完了を通知するには、外部サービスが完了データを次のパイプライン REST エンドポイントに POST する必要があります。
{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" }
詳細については、この単純なコマンドライン アプリケーション を参照してください。
さらに、C# ヘルパー ライブラリを使用して、エージェントレス タスクのライブ ログ記録とタスクの状態の管理を有効にすることができます。 非同期 HTTP エージェントレス タスク の詳細について説明します。