Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.10.4. AWS-DDBSTREAM
DynamoDB ストリームコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.17 以降で利用可能
DynamoDB Stream コンポーネントは、Amazon DynamoDB Stream サービスからメッセージの受信をサポートします。
注記
有効な Amazon Web Services 開発者アカウントがあり、Amazon DynamoDB Streams を使用するようにサインアップする必要があります。詳細は AWS DynamoDBを参照してください。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
aws-ddbstream://table-name[?options]
aws-ddbstream://table-name[?options]
ストリームは、使用する前に作成する必要があります。URI にクエリーオプションは ?options=value&option2=value&.. の形式で追加できます。
URI オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
名前
|
デフォルト値
|
コンテキスト
|
説明
|
---|---|---|---|
amazonDynamoDbStreamsClient |
null
|
コンシューマー |
レジストリーで com.amazonaws.services.kinesis.AmazonDynamoDBStreams への参照。
|
maxMessagesPerPoll |
100
|
コンシューマー | 各ポーリングで AWS API に返される最大結果。シャードイテレーターがコンシューマーに固有であり、他のコンシューマーに影響を与えないことを示します。 |
iteratorType |
LATEST
|
コンシューマー |
trim_horizon 、latest 、after_sequence_number 、または at_sequence_number のいずれか。これら 2 つのイテレータータイプの説明は、http://docs.aws.amazon.com/dynamodbstreams/latest/APIReference/API_GetShardIterator.html を参照してください。
|
sequenceNumberProvider | null | コンシューマー |
org.apache.camel.component.aws.ddbstream.SequenceNumberProvider の実装またはシーケンス番号を表すリテラル文字列への Bean 参照。このロールは、after_sequence_number または at_sequence_number イテレータータイプのいずれかを使用する際にストリームの開始場所を決定することです。
|
注記
プロキシーと関連するクレデンシャルを設定して、レジストリーで amazonDynamoDbStreamsClient を提供する必要があります。
シーケンス番号 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
リテラル文字列をシーケンス番号として指定したり、レジストリーに Bean を指定したりできます。Bean を使用する例は、現在の位置を変更フィードに保存し、Camel の起動時に復元することです。
AWS 呼び出しが HTTP 400 を返す原因となるため、describe-streams の結果で最も大きなシーケンス番号よりも大きいシーケンス番号を提供するのはエラーです。
バッチコンシューマー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このコンポーネントは、Batch Consumer を実装します。
これにより、たとえば、このバッチに存在するメッセージの数を知ることができ、たとえば、Aggregator にこの数のメッセージを集約させることができます。
AmazonDynamoDBStreamsClient configuration リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
AmazonDynamoDBStreamsClient のインスタンスを作成し、これをレジストリーにバインドする必要があります。
AWS 認証情報の指定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
新しい ClientConfiguration インスタンスの作成時にデフォルトである DefaultAWSCredentialsProviderChain を使用して認証情報を取得することが推奨されますが、createClient (...)の呼び出し時に別の AWSCredentialsProvider を指定できます。
Downtime のコッピング リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
- AWS DynamoDB Streams の 24 時間未満の停止
- コンシューマーは( CAMEL-9515に実装されているように)最後に見られたシーケンス番号から再開するため、停止に DynamoDB 自体も含まれていない限り、高速にイベントのフラッディングを受け取る必要があります。
- AWS DynamoDB Streams の 24 時間以上停止
- AWS は 24 時間の変更のみを保持するため、どのような軽減策がある場合でも、変更イベントを見逃すことができます。
Dependencies リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Maven ユーザーは、以下の依存関係を pom.xml に追加する必要があります。
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-aws</artifactId> <version>${camel-version}</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
ここで、
${camel-version
} は実際のバージョンの Camel (2.7 以降)に置き換える必要があります。