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]
Copy to Clipboard Toggle word wrap
ストリームは、使用する前に作成する必要があります。URI にクエリーオプションは ?options=value&option2=value&.. の形式で追加できます。

URI オプション

Expand
名前
デフォルト値
コンテキスト
説明
amazonDynamoDbStreamsClient null コンシューマー レジストリーで com.amazonaws.services.kinesis.AmazonDynamoDBStreams への参照。
maxMessagesPerPoll 100 コンシューマー 各ポーリングで AWS API に返される最大結果。シャードイテレーターがコンシューマーに固有であり、他のコンシューマーに影響を与えないことを示します。
iteratorType LATEST コンシューマー trim_horizonlatestafter_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 のインスタンスを作成し、これをレジストリーにバインドする必要があります。
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http://myProxyHost");
clientConfiguration.setProxyPort(8080);

Region region = Region.getRegion(Regions.fromName(region));
region.createClient(AmazonDynamoDBStreamsClient.class, null, clientConfiguration);
// the 'null' here is the AWSCredentialsProvider which defaults to an instance of DefaultAWSCredentialsProviderChain

registry.bind("kinesisClient", client);
Copy to Clipboard Toggle word wrap

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>
Copy to Clipboard Toggle word wrap
ここで、${camel-version} は実際のバージョンの Camel (2.7 以降)に置き換える必要があります。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat