Flex Gateway新着情報
Governance新着情報
Monitoring API Managerポーリング動作のグローバルおよびローカルでの制御、プライマリノードのみでのメッセージの受信、FIFO キューの作成、大容量のペイロードの管理などの追加機能を設定します。
バージョン 5.9 以降、Receive Messages ソースと Read 操作のデフォルトの動作では、ロングポーリングが使用されます。
ロングポーリングでは、メッセージが存在する場合、SQS Connector はできるだけ早くクエリ結果を返します。
それ以外の場合、SQS Connector は指定された秒数待機してから、空の応答を返します。
ショートポーリングでは、空の応答を返す場合でも、SQS Connector は常にできるだけ早くクエリ結果を返します。
ロングポーリングは、スループットに影響することなくネットワーク要求の数を減らすことができます。
ポーリング動作は、グローバルに、または個々のソースおよび操作レベルで制御できます。
ポーリング動作をグローバルに制御するには、Receive Messages ソースか Read 操作、またはその両方で、グローバル要素設定画面の [Advanced (詳細)] タブにある [Default Wait Time (デフォルトの待機時間)] 項目を使用します。
ロングポーリングを使用するには、この項目を 1
~ 20
の値に設定します。ロングポーリングでは、すぐに使用できるメッセージがある場合、コネクタはクエリ結果をすぐに返します。それ以外の場合、コネクタはメッセージが追加されるまで指定された秒数待機してから、空の応答を返します。
ショートポーリングを使用するには、この項目を 0
に設定します。ショートポーリングでは、空の応答を返す場合でも、コネクタは常にできるだけ早くクエリ結果を返します。
次のスクリーンショットでは、[Default Wait Time (デフォルトの待機時間)] 項目が 20
に設定されています。この値は、ロングポーリングを使用し、空の応答を返す前に 20 秒待機するようにコネクタに指示します。
Receive Messages ソースのデフォルトの動作は、クラスターモードで実行しているときにすべてのノードでメッセージを受信することです。
アプリケーションがプライマリノードのみでメッセージを受信するようにする場合は、次の手順を実行します。
Studio で、フローの [Receive Messages] ソースを選択します。
[Receive messages] タブの [Advanced (詳細)] サブタブで、[Primary node only (プライマリノードのみ)] チェックボックスをオンにします。
複数ノードクラスターの動作は、選択した SQS キュー種別によって異なります。標準キューを使用している場合、SQS はメッセージが少なくとも 1 回配信されることを保証します。ただし、重複するメッセージがキューに追加される可能性があります。キュー内のメッセージの重複を回避するため、FIFO (先入れ先出し) キューを使用して、メッセージが 1 回のみ配信され、コンシューマーがメッセージを処理して削除するまで使用可能にすることができます。
キュー種別についての詳細は、 「AWS SQS 標準キュー」と 「AWS SQS FIFO (先入れ先出し) キュー」を参照してください。
FIFO キューは、メッセージを送信時と同じ順序で配信します。
FIFO キューを作成するには、コネクタで Create queue 操作を使用して、FifoQueue および ContentBasedDeduplication 項目値を true
に設定します。
[queue name (キュー名)] 値の最後を .fifo
拡張子にします。例:
MyTestFIFOQueue.fifo
。
FIFO キューの作成時に、Amazon でサポートされている 15 リージョンのいずれかを選択します。
Amazon SQS Connector を使用してメッセージを FIFO キューに送信するときは、FIFO キューの作成時に使用したキュー URL とリージョン名を使用します。また、メッセージの送信時にコネクタ設定の message group id
属性に値を指定する必要もあります。
Amazon SQS Connector で大容量のメッセージペイロードを管理するためのサポートを有効にする手順は、次のとおりです。
Studio で、キャンバスの下部にある [Global Elements (グローバル要素)] タブをクリックします。
以前に作成した [Amazon SQS Configuration (Amazon SQS 設定)] を選択して、[Edit (編集)] をクリックします。
[Connection (接続)] セクションで、[Advanced (詳細)] タブをクリックします。
[Large Payload Support (大容量のペイロードサポート)] 項目で、次のいずれかを選択します。
Expression or Bean Reference (式または bean 参照)
Edit Inline (インライン編集)
パラメーターを次のように設定します。
項目 | 説明 |
---|---|
Bucket (バケット) |
大容量のメッセージペイロードを保存するために使用するバケットの名前。バケットは、AWS S3 ですでに作成および設定されている必要があります。この機能を有効にすると、AWS S3 の使用で追加料金が発生します。 |
Message Size Threshold (メッセージサイズしきい値) |
AWS S3 バケットにメッセージペイロードを保存するためのメッセージサイズしきい値。メッセージサイズしきい値のデフォルト値は 256 KB で、最大しきい値サイズの値は 256 KB です。最大メッセージサイズは 2 GB です。 |
Message Size Threshold Unit (メッセージサイズしきい値単位) |
メッセージサイズしきい値のデータ単位を表します。 |
これらの項目の値を指定すると、Amazon SQS Connector は大容量のペイロードメッセージを管理し、メッセージサイズしきい値を超えたときに指定された AWS S3 バケットに自動的に保存できます。
大容量のペイロードメッセージを含むメッセージの送受信の例については、「大きなメッセージの送受信例」を参照してください。
FIFO キューを作成したら、「Amazon SQS Connector の例」を試すことができます。