7.7. 使用方法
7.7.1. バッチコンシューマー リンクのコピーリンクがクリップボードにコピーされました!
このコンポーネントは、Batch Consumer を実装します。これにより、たとえば、このバッチに存在するメッセージの数を知ることができ、たとえば、Aggregator にこの数のメッセージを集約させることができます。
コンシューマーは、Amazon Kinesis の特定の単一シャードまたは利用可能なすべてのシャード (複数のシャードの消費) を消費できます。したがって、DSL 設定の 'shardId' プロパティーを空のままにしておくと、使用可能なすべてのシャードが消費されます。そうでない場合は、shardId に対応する指定されたシャードのみが消費されます。
7.7.2. Batch Producer リンクのコピーリンクがクリップボードにコピーされました!
このコンポーネントは Batch Producer を実装します。これにより、Amazon Kinesis への単一のリクエストで複数のメッセージを送信できるようになります。バッチサイズが 500 を超えるメッセージが許可されます。Producer はそれらを複数のリクエストに分割します。
バッチタイプでは Iterable インターフェイスを実装する必要があります。たとえば、List、Set、またはその他のコレクションタイプにすることができます。メッセージタイプは、byte[]、ByteBuffer、UTF-8 String、または InputStream の 1 つ以上のタイプになります。その他のタイプはサポートされていません。
7.7.3. 静的認証情報、デフォルト認証情報プロバイダー、プロファイル認証情報プロバイダー リンクのコピーリンクがクリップボードにコピーされました!
useDefaultCredentialsProvider オプションを指定し、これを true に設定することにより、明示的な静的認証情報の使用を回避することが可能です。
デフォルトの認証情報プロバイダーの評価順序は次のとおりです。
-
Java システムプロパティー -
aws.accessKeyIdおよびaws.secretAccessKey -
環境変数:
AWS_ACCESS_KEY_IDおよびAWS_SECRET_ACCESS_KEY。 - AWS STS の Web ID トークン。
- 共有認証情報および設定ファイル。
-
Amazon ECS コンテナー認証情報 - 環境変数
AWS_CONTAINER_CREDENTIALS_RELATIVE_URIが設定されている場合は、Amazon ECS からロードされます。 - Amazon EC2 インスタンスプロファイルの認証情報。
useProfileCredentialsProvider オプションを true に指定し、profileCredentialsName をプロファイル名に指定することで、プロファイル認証情報プロバイダーを使用することもできます。
同時に使用できるのは、静的、デフォルト、およびプロファイルの認証情報のうち 1 つだけです。
詳細は、AWS 認証情報のドキュメント を参照してください。
7.7.4. AmazonKinesis の設定 リンクのコピーリンクがクリップボードにコピーされました!
次に amazonKinesisClient URI オプションで KinesisClient を参照する必要があります。
from("aws2-kinesis://mykinesisstream?amazonKinesisClient=#kinesisClient")
.to("log:out?showAll=true");
7.7.5. AWS 認証情報の指定 リンクのコピーリンクがクリップボードにコピーされました!
新しい ClientConfiguration インスタンスを作成するときのデフォルトである DefaultAWSCredentialsProviderChain を使用して認証情報を取得することを推奨しますが、createClient (…) を呼び出すときに別の AWSCredentialsProvider を指定できます。
7.7.6. AWS Kinesis KCL コンシューマー リンクのコピーリンクがクリップボードにコピーされました!
このコンポーネントは、Kinesis Data Stream から消費するための KCL (Kinesis クライアントライブラリー) もサポートします。この機能を有効にするには、エンドポイントで 3 つの異なるパラメーターを設定し、リージョンを設定します。
from("aws2-kinesis://mykinesisstream?asyncClient=true&useDefaultCredentialsProvider=true&useKclConsumers=true®ion=myregion")
.to("log:out?showAll=true");
この機能により、KCL、DynamoDB テーブル、CloudWatch アラームを組み合わせて使用して、シャードイテレーションのチェックポイントを自動的に作成できるようになります。これは、AWS 認証情報を使用するだけですぐに使用できます。
KCL を使用した AWS Kinesis コンシューマーでは、シャードのリスト表示、Dynamo DB でのリーステーブルの作成/クエリーなど、すべてを準備するために起動に約 60 - 70 秒かかります。