27.6. producer エンドポイント
producer エンドポイントは、PubSub の個別のエクスチェンジとグループ化されたエクスチェンジを同様に受け入れて配信できます。グループ化された取引所には、Exchange.GROUPED_EXCHANGE
プロパティーセットがあります。
Google PubSub は、ペイロードが byte[] 配列であることを想定しており、producer エンドポイントは次を送信します。
- UTF-8 としてエンコードされた byte[] としての String ボディー
- byte[] ボディそのまま
- それ以外はすべて byte[] 配列にシリアル化される
メッセージヘッダー GooglePubsubConstants.ATTRIBUTES
として設定されたマップは、PubSub 属性として送信されます。
Google PubSub は、順序付けられたメッセージ配信をサポートしています。
このセットを有効にするには、オプション messageOrderingEnabled を true に設定し、pubsubEndpoint を GCP リージョンに設定します。
メッセージを生成するときに、メッセージヘッダー GooglePubsubConstants.ORDERING_KEY
を設定します。これは、メッセージの PubSub ordersKey として設定されます。
詳細は、メッセージの注文 を参照してください。
エクスチェンジが PubSub に配信されると、PubSub メッセージ ID がヘッダー GooglePubsubConstants.MESSAGE_ID
に割り当てられます。