5. AWS Kinesis Source
从 AWS Kinesis 接收数据。
5.1. AWS Kinesis Source Kamelet Description 复制链接链接已复制到粘贴板!
5.1.1. 身份验证方法 复制链接链接已复制到粘贴板!
在这个 Kamelet 中,您可以通过指定 useDefaultCredentialsProvider 选项并将其设置为 true 来避免使用显式静态凭证。
以下为 Default Credentials Provider 评估顺序如下:
-
Java 系统属性 -
aws.accessKeyId和aws.secretKey. -
环境变量 -
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。 - AWS STS 的 Web Identity Token。
- 共享凭证和配置文件。
-
Amazon ECS 容器凭据 - 如果设置了环境变量
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI,则从 Amazon ECS 加载。 - Amazon EC2 实例配置集凭据。
您还可以通过将 useProfileCredentialsProvider 选项设置为 true,将 profileCredentialsName 设置为配置集名称来使用 Profile Credentials Provider。
只能使用其中一个 access key/secret 密钥或默认凭证提供程序
如需更多信息,请参阅 AWS 凭证文档
5.1.2. 普通消费者的使用示例 复制链接链接已复制到粘贴板!
您可以直接使用流内容
- route:
from:
uri: "kamelet:aws-kinesis-source"
parameters:
useDefaultCredentialsProvider: true
region: "eu-west-1"
stream: "kamelets"
steps:
- to:
uri: "kamelet:log-sink"
5.1.3. KCL Consumer 的使用示例 复制链接链接已复制到粘贴板!
您可以使用 KCL 支持来使用流内容
- route:
from:
uri: "kamelet:aws-kinesis-source"
parameters:
stream: "kamelets"
useDefaultCredentialsProvider: true
region: "eu-west-1"
asyncClient: true
useKclConsumers: true
steps:
- to:
uri: "kamelet:log-sink"
parameters:
showHeaders: true
启用 useKclConsumers 后,您不必直接处理分片迭代。所有功能都由 AWS Kinesis 客户端库和 KCL 层管理。
作为一端注意,您需要记住 KCL 使用者需要访问 AWS 的 DynamoDB 和 Cloudwatch 服务,因此它将在 hood 下创建客户端到这些服务,并使用它们。
5.2. 配置选项 复制链接链接已复制到粘贴板!
下表总结了 aws-kinesis-source Kamelet 可用的选项:
| 属性 | 名称 | 描述 | 类型 | 默认 | 示例 |
|---|---|---|---|---|---|
| region * | AWS 区域 | 用于访问的 AWS 区域。 | 字符串 | ||
| stream * | 流名称 | 您要访问的 Kinesis 流。您指定的 Kinesis 流必须已经存在。 | 字符串 | ||
| accessKey | 访问密钥 | 从 AWS 获取的访问密钥。 | 字符串 | ||
| asyncClient | async Client | 如果我们希望 KinesisAsyncClient 实例设为 true。 | 布尔值 | False | |
| delay | delay | 下一次轮询所选流前的毫秒数。 | 整数 | 500 | |
| kclDisableCloudwatchMetricsExport | KCL 禁用 Cloudwatch 指标导出 | 定义是否要使用 KCL Consumer,并禁用 CloudWatch Metrics Export | 布尔值 | False | |
| overrideEndpoint | 端点覆盖 |
选择这个选项来覆盖端点 URI。要使用这个选项,还必须为 | 布尔值 | False | |
| profileCredentialsName | 配置集凭证名称 | 如果使用配置集凭证供应商,此参数会设置配置集名称。 | 字符串 | ||
| secretKey | 机密密钥 | 从 AWS 获取的 secret 密钥。 | 字符串 | ||
| sessionToken | 会话令牌 | 当用户需要假定 IAM 角色时使用的 Amazon AWS Session Token。 | 字符串 | ||
| uriEndpointOverride | 覆盖 Endpoint URI |
覆盖端点 URI。要使用这个选项,还必须选择 | 字符串 | ||
| useDefaultCredentialsProvider | 默认凭证提供程序 | 如果为 true,则 Kinesis 客户端通过默认凭证供应商加载凭证。如果为 false,它将使用基本的身份验证方法(access key 和 secret key)。 | 布尔值 | False | |
| useKclConsumers | KCL Consumer | 如果要把 KCL Consumer 设置为 true | 布尔值 | False | |
| useProfileCredentialsProvider | 配置集凭证供应商 | 设置 Kinesis 客户端是否应该预期通过配置集凭证供应商加载凭证。 | 布尔值 | False | |
| useSessionCredentials | 会话凭证 | 设置 Kinesis 客户端是否应该预期使用 Session 凭证。这在用户需要假设 IAM 角色在 Kinesis 中执行操作时非常有用。 | 布尔值 | False |
* = 标记为星号的字段 是必需的。
5.3. 依赖项 复制链接链接已复制到粘贴板!
在运行时,aws-kinesis-source Kamelet 依赖于以下依赖项:
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-aws2-kinesis</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-core</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-kamelet</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.kamelets</groupId>
<artifact>camel-kamelets-utils</artifact>
<version>{kamelets-utils-version}</version>
</dependency>
</dependencies>
5.4. kamelets 源文件 复制链接链接已复制到粘贴板!
https://github.com/apache/camel-kamelets/blob/4.14.x/kamelets/aws-kinesis-source.kamelet.yaml