ServiceBusMessage クラス

  • java.lang.Object
    • com.azure.messaging.servicebus.ServiceBusMessage

public class ServiceBusMessage

Service Bus に送信されるメッセージをカプセル化するデータ構造。 メッセージ構造については、 製品ドキュメントで詳しく説明します。

コンストラクターの概要

コンストラクター 説明
ServiceBusMessage(byte[] body)

指定されたバイト配列本体を持つ を ServiceBusMessage 作成します。

ServiceBusMessage(AmqpMessageBody amqpMessageBody)

このコンストラクターを使用すると、AMQP データ型SEQUENCEVALUEとしてメッセージ本文を簡単に作成ServiceBusMessageできます。

ServiceBusMessage(BinaryData body)

ServiceBusMessage 含む を作成します body。には BinaryData 、バイト配列を表すさまざまな便利な API が用意されています。

ServiceBusMessage(ServiceBusReceivedMessage receivedMessage)

から receivedMessageプロパティを使用して をServiceBusMessage作成します。

ServiceBusMessage(String body)

ServiceBusMessageエンコードされた本文を使用して をUTF-8作成します。

メソッドの概要

修飾子と型 メソッドと説明
ServiceBusMessage addContext(String key, Object value)

Message の既存のコンテキストに新しいキー値ペアを追加します。

Map<String,Object> getApplicationProperties()

Service Bus 操作中に に関連付けられているメタデータを渡すために使用できる自由形式 ServiceBusMessage のプロパティのセットを ServiceBusMessage 取得します。

BinaryData getBody()

によってラップされた実際のペイロードを取得します ServiceBusMessage

String getContentType()

メッセージのコンテンツ タイプを取得します。

String getCorrelationId()

関連付け識別子を取得します。

String getMessageId()

メッセージ ID を取得します。

String getPartitionKey()

パーティション分割されたエンティティにメッセージを送信するためのパーティション キーを取得します。

AmqpAnnotatedMessage getRawAmqpMessage()

AmqpAnnotatedMessage を取得します。

String getReplyTo()

返信を送信するエンティティのアドレスを取得します。

String getReplyToSessionId()

アドレスを拡張するセッション識別子を getReplyTo() 取得または設定します。

OffsetDateTime getScheduledEnqueueTime()

このメッセージのスケジュールされたエンキュー時間を取得します。

String getSessionId()

セッション対応エンティティのセッション識別子を取得します。

String getSubject()

メッセージの件名を取得します。

Duration getTimeToLive()

このメッセージの有効期限が切れるまでの期間を取得します。

String getTo()

"to" アドレスを取得します。

ServiceBusMessage setContentType(String contentType)

のコンテンツ タイプを設定します ServiceBusMessage

ServiceBusMessage setCorrelationId(String correlationId)

関連付け識別子を設定します。

ServiceBusMessage setMessageId(String messageId)

メッセージ ID を設定します。

ServiceBusMessage setPartitionKey(String partitionKey)

パーティション分割されたエンティティにメッセージを送信するためのパーティション キーを設定します

ServiceBusMessage setReplyTo(String replyTo)

返信を送信するエンティティのアドレスを設定します。

ServiceBusMessage setReplyToSessionId(String replyToSessionId)

アドレスを拡張するセッション識別子を getReplyTo() 取得または設定します。

ServiceBusMessage setScheduledEnqueueTime(OffsetDateTime scheduledEnqueueTime)

このメッセージのスケジュールされたエンキュー時間を設定します。

ServiceBusMessage setSessionId(String sessionId)

セッション対応エンティティのセッション識別子を設定します。

ServiceBusMessage setSubject(String subject)

メッセージの件名を設定します。

ServiceBusMessage setTimeToLive(Duration timeToLive)

このメッセージの有効期限が切れるまでの時間を設定します。

ServiceBusMessage setTo(String to)

"to" アドレスを設定します。

メソッドの継承元: java.lang.Object

コンストラクターの詳細

ServiceBusMessage

public ServiceBusMessage(byte[] body)

指定されたバイト配列本体を持つ を ServiceBusMessage 作成します。

Parameters:

body - Service Bus メッセージの内容。

ServiceBusMessage

public ServiceBusMessage(AmqpMessageBody amqpMessageBody)

このコンストラクターを使用すると、AMQP データ型SEQUENCEVALUEとしてメッセージ本文を簡単に作成ServiceBusMessageできます。 の場合、 SEQUENCEtt では現在、1 つの AMQP シーケンスの送受信のみがサポートされます。 1 バイト配列または文字列データを含むメッセージを送信する場合は、他のコンストラクターを使用することもできます。

Parameters:

amqpMessageBody - amqp メッセージ本文。

ServiceBusMessage

public ServiceBusMessage(BinaryData body)

ServiceBusMessage 含む を作成します body。には BinaryData 、バイト配列を表すさまざまな便利な API が用意されています。 また、 にシリアル化ObjectBinaryDataする方法も提供します。

Parameters:

body - この ServiceBusMessageに設定するデータ。

ServiceBusMessage

public ServiceBusMessage(ServiceBusReceivedMessage receivedMessage)

から receivedMessageプロパティを使用して をServiceBusMessage作成します。 これは通常、 を別の ServiceBusReceivedMessage エンティティに送信する必要がある場合に使用されます。

Parameters:

receivedMessage - 新しいメッセージを作成する受信メッセージ。

ServiceBusMessage

public ServiceBusMessage(String body)

ServiceBusMessageエンコードされた本文を使用して をUTF-8作成します。

Parameters:

body - Service Bus メッセージの内容。

メソッドの詳細

addContext

public ServiceBusMessage addContext(String key, Object value)

Message の既存のコンテキストに新しいキー値ペアを追加します。

Parameters:

key - このコンテキスト オブジェクトのキー
value - このコンテキスト オブジェクトの値。

Returns:

更新された ServiceBusMessage

getApplicationProperties

public Map getApplicationProperties()

Service Bus 操作中に に関連付けられているメタデータを渡すために使用できる自由形式 ServiceBusMessage のプロパティのセットを ServiceBusMessage 取得します。 の一般的なユース ケース getApplicationProperties() は、 のシリアル化ヒント getBody() を、バイナリ データの逆シリアル化を希望するコンシューマーに支援として関連付ける方法です。

Returns:

この ServiceBusMessageに関連付けられているアプリケーション プロパティ。

getBody

public BinaryData getBody()

によってラップされた実際のペイロードを取得します ServiceBusMessage

BinaryData バイト配列をラップし、さまざまな表現方法に対する抽象化です。 オブジェクトをシリアル化/逆シリアル化するための便利な API が提供されます。

生データを逆シリアル化する手段がコンシューマーに明らかでない場合、一般的な手法は、イベントの getApplicationProperties() 作成時に を利用して、バイナリ データを逆シリアル化するコンシューマーの支援としてシリアル化ヒントを関連付ける方法です。

Returns:

ペイロードを表すバイナリ データ。

getContentType

public String getContentType()

メッセージのコンテンツ タイプを取得します。

必要に応じて、メッセージのペイロードを記述します。記述子は、"application/json" など、RFC2045セクション 5 の形式に従います。

Returns:

ServiceBusMessage のコンテンツ タイプ。

getCorrelationId

public String getCorrelationId()

関連付け識別子を取得します。

相関関係のために、アプリケーションがメッセージのコンテキストを指定できるようにします (たとえば、応答されるメッセージの MessageId を示すなど)。

Returns:

このメッセージの関連付け ID。

getMessageId

public String getMessageId()

メッセージ ID を取得します。

メッセージ識別子は、アプリケーションによって定義される、メッセージとそのペイロードを一意に識別する値です。 この識別子は自由形式の文字列で、GUID またはアプリケーションのコンテキストから派生した識別子を反映することができます。 有効にした場合、 重複検出 機能は、同じ messageIdを持つメッセージの 2 番目以降の送信を識別して削除します。

Returns:

getPartitionKey

public String getPartitionKey()

パーティション分割されたエンティティにメッセージを送信するためのパーティション キーを取得します。

パーティション分割されたエンティティの場合、この値を設定すると、関連するメッセージを同じ内部パーティションに割り当てて、送信順序が正しく記録されるようにできます。 パーティションはハッシュ関数でこの値を介して選択され、直接選択することはできません。 セッション対応エンティティの場合、 プロパティはこの getSessionId() 値をオーバーライドします。

Returns:

このメッセージのパーティション キー。

getRawAmqpMessage

public AmqpAnnotatedMessage getRawAmqpMessage()

AmqpAnnotatedMessage を取得します。

Returns:

生の AMQP メッセージ。

getReplyTo

public String getReplyTo()

返信を送信するエンティティのアドレスを取得します。

これはアプリケーションによって定義される省略可能な値であり、メッセージの受信者への応答パスを表す標準的な方法です。 応答が必要な場合、送信者は、この値を応答の送信先にするキューまたはトピックの絶対または相対パスに設定します。

Returns:

このメッセージの ReplyTo プロパティ値

getReplyToSessionId

public String getReplyToSessionId()

アドレスを拡張するセッション識別子を getReplyTo() 取得または設定します。

この値は情報を getReplyTo() 拡張し、応答エンティティに送信するときに応答に設定する sessionId 必要がある値を指定します。

Returns:

getReplyToGroupIdこのメッセージのプロパティ値。

getScheduledEnqueueTime

public OffsetDateTime getScheduledEnqueueTime()

このメッセージのスケジュールされたエンキュー時間を取得します。

この値は、遅延メッセージの可用性に使用されます。 メッセージはキューに安全に追加されますが、アクティブとは見なされないため、スケジュールされたエンキュー時間まで取得できません。 指定された日時にメッセージがアクティブ化 (エンキュー) されないことに注意してください。実際のアクティブ化時間は、キューのワークロードとその状態によって異なります。

Returns:

Azure Service Busでメッセージがエンキューされる日時

getSessionId

public String getSessionId()

セッション対応エンティティのセッション識別子を取得します。

この値はアプリケーションによって定義され、セッションを認識するエンティティの場合に、メッセージのセッションへの所属を指定します。 同じセッション識別子を持つメッセージがまとめてロックされ、正確な順序での処理と多重化が可能になります。 セッションを認識しないエンティティの場合、この値は無視されます。 「メッセージ セッション」を参照してください。

Returns:

のセッション ID ServiceBusMessage

getSubject

public String getSubject()

メッセージの件名を取得します。

このプロパティを使用すると、アプリケーションは、電子メールの件名行と同様に標準化された方法でメッセージの目的を受信者に示すことができます。 マップされた AMQP プロパティは "subject" です。

Returns:

メッセージの件名。

getTimeToLive

public Duration getTimeToLive()

このメッセージの有効期限が切れるまでの期間を取得します。

この値は、 でキャプチャ getScheduledEnqueueTime()されたメッセージがブローカーによって受け入れられ、格納された瞬間から、メッセージの有効期限が切れるまでの相対的な期間です。 明示的に設定しない場合、想定される値は、それぞれのキューまたはトピックに設定された DefaultTimeToLive です。 メッセージレベルの TimeToLive 値をエンティティの DefaultTimeToLive の設定より長くすることはできません。長くした場合、自動的に調整されます。

Returns:

このメッセージの有効期間

getTo

public String getTo()

"to" アドレスを取得します。

このプロパティはルーティング シナリオでの将来の使用のために予約されており、現在はブローカー自体で無視されます。 アプリケーションは、ルール駆動型 の自動順方向チェーン シナリオでこの値を使用して、メッセージの目的の論理宛先を示すことができます。

Returns:

このメッセージの "To" プロパティ値

setContentType

public ServiceBusMessage setContentType(String contentType)

のコンテンツ タイプを設定します ServiceBusMessage

必要に応じて、メッセージのペイロードを記述します。記述子は、"application/json" など、RFC2045セクション 5 の形式に従います。

Parameters:

contentType - メッセージの Content-Type 記述子をRFC2045します。

Returns:

更新された ServiceBusMessage

setCorrelationId

public ServiceBusMessage setCorrelationId(String correlationId)

関連付け識別子を設定します。

Parameters:

correlationId - このメッセージの関連付け ID

Returns:

更新された ServiceBusMessage

setMessageId

public ServiceBusMessage setMessageId(String messageId)

メッセージ ID を設定します。

Parameters:

messageId - 設定するメッセージ ID。

Returns:

更新された ServiceBusMessage

setPartitionKey

public ServiceBusMessage setPartitionKey(String partitionKey)

パーティション分割されたエンティティにメッセージを送信するためのパーティション キーを設定します

Parameters:

partitionKey - このメッセージのパーティション キー。

Returns:

更新された ServiceBusMessage

setReplyTo

public ServiceBusMessage setReplyTo(String replyTo)

返信を送信するエンティティのアドレスを設定します。

Parameters:

replyTo - このメッセージの ReplyTo プロパティ値

Returns:

更新された ServiceBusMessage

setReplyToSessionId

public ServiceBusMessage setReplyToSessionId(String replyToSessionId)

アドレスを拡張するセッション識別子を getReplyTo() 取得または設定します。

Parameters:

replyToSessionId - このメッセージの ReplyToGroupId プロパティ値。

Returns:

更新された ServiceBusMessage

setScheduledEnqueueTime

public ServiceBusMessage setScheduledEnqueueTime(OffsetDateTime scheduledEnqueueTime)

このメッセージのスケジュールされたエンキュー時間を設定します。 は null 設定されません。 この値を設定解除する必要がある場合は、キー AmqpMessageConstant#SCHEDULED_ENQUEUE_UTC_TIME_NAMEを使用して からAmqpAnnotatedMessage#getMessageAnnotations()値を削除することで行うことができます。

Parameters:

scheduledEnqueueTime - Azure Service Busでこのメッセージをエンキューする日時。

Returns:

更新された ServiceBusMessage

setSessionId

public ServiceBusMessage setSessionId(String sessionId)

セッション対応エンティティのセッション識別子を設定します。

Parameters:

sessionId - 設定するセッション識別子。

Returns:

更新された ServiceBusMessage

setSubject

public ServiceBusMessage setSubject(String subject)

メッセージの件名を設定します。

Parameters:

subject - アプリケーション固有のサブジェクト。

Returns:

更新後の ServiceBusMessage オブジェクト。

setTimeToLive

public ServiceBusMessage setTimeToLive(Duration timeToLive)

このメッセージの有効期限が切れるまでの時間を設定します。

Parameters:

timeToLive - このメッセージの有効期間

Returns:

更新された ServiceBusMessage

setTo

public ServiceBusMessage setTo(String to)

"to" アドレスを設定します。

このプロパティはルーティング シナリオでの将来の使用のために予約されており、現在はブローカー自体で無視されます。 アプリケーションは、ルール駆動型 の自動順方向チェーン シナリオでこの値を使用して、メッセージの目的の論理宛先を示すことができます。

Parameters:

to - このメッセージのプロパティ値。

Returns:

更新された ServiceBusMessage

適用対象