7.8. 消息标头
| Name | 描述 |
|---|---|
| CamelAwsKinesisSequenceNumber (common) constant: SEQUENCE_NUMBER | PutRecord 语法 中定义的记录的序列号。 |
| CamelAwsKinesisApproximateArrivalTimestamp (common) constant: APPROX_ARRIVAL_TIME | 为记录的 arrival 时间分配的时间 AWS。 |
| CamelAwsKinesisPartitionKey (common) 恒定: PARTITION_KEY | 标识数据记录的流中分配给的分片。 |
| CamelMessageTimestamp (common) | 消息的时间戳。 |
| CamelAwsKinesisShardId (common) 常量: SHARD_ID | 数据记录的分片 ID |
7.8.1. AmazonKinesis 配置 复制链接链接已复制到粘贴板!
然后,您必须在 amazon URI 选项中引用 KinesisClientClient。
KinesisClient
from("aws2-kinesis://mykinesisstream?amazonKinesisClient=#kinesisClient")
.to("log:out?showAll=true");
from("aws2-kinesis://mykinesisstream?amazonKinesisClient=#kinesisClient")
.to("log:out?showAll=true");
7.8.2. 提供 AWS 凭证 复制链接链接已复制到粘贴板!
建议使用 DefaultAWSCredentialsProviderChain 获取凭证,这是创建新 ClientConfiguration 实例时的默认设置,但在调用 createClient (…)时可以指定不同的 AWSCredentialsProvider。
7.8.3. AWS Kinesis KCL Consumer 复制链接链接已复制到粘贴板!
组件还支持 KCL (Kinesis Client Library),用于从 Kinesis Data Stream 中使用。要启用此功能,请在端点中设置两个不同的参数:
from("aws2-kinesis://mykinesisstream?asyncClient=true&useDefaultCredentialsProvider=true&useKclConsumers=true")
.to("log:out?showAll=true");
from("aws2-kinesis://mykinesisstream?asyncClient=true&useDefaultCredentialsProvider=true&useKclConsumers=true")
.to("log:out?showAll=true");
此功能通过组合使用 KCL、DynamoDB Table 和 CloudWatch 警报来自动检查点 Shard Iterations。这可以通过使用 AWS 凭证来开箱即用。
带有 KCL 的 AWS Kinesis 使用者需要大约 60-70 秒才能启动。