ピーク/ロック メッセージ (非破壊読み取り)
この操作は、処理を待っているキューまたはサブスクリプションからのメッセージをアトミックに取得およびロックします。 キュー/サブスクリプションの説明で指定されているロック期間中、このメッセージが他の受信者 (同一のキューまたはサブスクリプション上のみ) に配信されないことを保証します。 ロックの期限が切れると、他の受信者もこのメッセージを使用できるようになります。 メッセージの処理を完了するには、受信者がこの操作により受信したロック ID を指定して delete コマンドを発行する必要があります。 メッセージの処理を破棄し、他の受信者のロックを解除するには、 メッセージのロック解除 コマンドを発行する必要があります。そうしないと、ロック期間が切れる可能性があります。
この操作は、At-Least-Once の配信確実性を必要とするアプリケーションで使用する必要があります。 処理が成功する前に受信側がメッセージを削除しない場合、この操作により、ロック期間の経過後に別の受信側が処理を試行できるようになります。
Request
Method | 要求 URI | HTTP バージョン |
---|---|---|
POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath}/messages/head または http{s}://{serviceNamespace}.servicebus.windows.net/{topicPath}/subscriptions/{subscriptionName}/messages/head|HTTP/1.1 |
要求ヘッダー
必須要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。 ヘッダーには、記載されているプロパティに加えて、カスタム プロパティが含まれる場合があります。 例を参照してください。
要求ヘッダー | 説明 |
---|---|
承認 | 次のいずれかのトークン値を指定します。
|
要求本文
なし。
[応答]
応答には HTTP ステータス コード、一連の応答ヘッダー、および応答の本文が含まれます。
応答コード
コード | 説明 |
---|---|
201 | メッセージが正常に取得およびロックされました。 |
204 | 指定されたタイムアウト期間内に使用可能なメッセージはありません。 |
400 | 無効な要求です。 |
401 | 認証エラー。 |
410 | 指定されたキューまたはサブスクリプションが存在しません。 |
500 | 内部エラーです。 |
状態コードの詳細については、「 状態コードとエラー コード」を参照してください。
レスポンス ヘッダー
この操作の応答には、次のヘッダーが含まれています。 応答に追加の標準 HTTP ヘッダーが含まれる場合もあります。 すべての標準ヘッダーは 、HTTP/1.1 プロトコル仕様に準拠しています。
応答ヘッダー | 説明 |
---|---|
Content-Type |
application/atom+xml;type=entry;charset=utf-8 を設定します。 |
Location |
ロックされたメッセージの URI。 この URI を使用して、メッセージをロック解除または削除できます。 |
BrokerProperties |
受信したメッセージの JSON エンコード BrokerProperties 。 プロパティは LockToken 、返されたメッセージのロック ID を表します。 プロパティは SequenceNumber 、返されるメッセージのシーケンス番号を表します。 |
応答本文
応答本文は、取得されたメッセージのメッセージ本文です。
例
次の HTTP 要求は、キューのメッセージをロックして返します。
POST https://your-namespace.servicebus.windows.net/HttpClientSampleQueue/messages/head?timeout=60 HTTP/1.1
Authorization: SharedAccessSignature sr=your-namespace&sig=Fg8yUyR4MOmXfHfj55f5hY4jGb8x2Yc%2b3%2fULKZYxKZk%3d&se=1404256819&skn=RootManageSharedAccessKey
Host: your-namespace.servicebus.windows.net
Content-Length: 0
Service Bus は、次の応答を返します。 このメッセージにはカスタム プロパティ Priority
および Customer
が含まれます。
HTTP/1.1 201 Created
Transfer-Encoding: chunked
Content-Type: application/atom+xml;type=entry;charset=utf-8
Location: https://your-namespace.servicebus.windows.net/httpclientsamplequeue/messages/2/7da9cfd5-40d5-4bb1-8d64-ec5a52e1c547
Server: Microsoft-HTTPAPI/2.0
BrokerProperties: {"DeliveryCount":1,"EnqueuedSequenceNumber":0,"EnqueuedTimeUtc":"Wed, 02 Jul 2014 01:32:27 GMT","Label":"M1","LockToken":"7da9cfd5-40d5-4bb1-8d64-ec5a52e1c547","LockedUntilUtc":"Wed, 02 Jul 2014 01:33:27 GMT","MessageId":"31907572164743c38741631acd554d6f","SequenceNumber":2,"State":"Active","TimeToLive":10}
Priority: "High"
Customer: "12345,ABC"
Date: Wed, 02 Jul 2014 01:32:27 GMT
12
This is a message.
0