红帽构建的 Apache Camel for Quarkus 的 kamelets 参考
红帽构建的 Apache Camel for Quarkus 的 kamelets 参考
摘要
1.
AWS DynamoDB Sink 复制链接链接已复制到粘贴板!
将数据发送到 Amazon DynamoDB。发送的数据插入、更新或删除指定 AWS DynamoDB 表中的项目。
1.1. AWS DynamoDB Sink Kamelet Description 复制链接链接已复制到粘贴板!
1.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 凭证文档
1.1.2. sink 的预期数据格式 复制链接链接已复制到粘贴板!
此 Kamelet 需要 JSON 格式的正文,它必须包含定义 DynamoDB 项的主键值。JSON 字段和表属性值之间的映射是通过键完成的。例如,对于 '{"username":"oscerd", "city":"Rome"}' 输入, Kamelet 会插入或更新指定 AWS DynamoDB 表中的项目,并设置 'username' 和 'city' 属性的值。
对于 PutItem 操作,Json 正文定义所有项目属性。对于 DeleteItem 操作,Json 正文仅定义标识要删除的项目的主要键属性。对于 UpdateItem 操作,Json 正文定义了两个键属性,用于识别要更新的项目,以及项目上的所有项目属性更新。
给定的 JSON 正文可以使用 操作、key 和 item 作为映射到对应属性值映射的顶级属性。
{
"operation": "PutItem"
"key": {},
"item": {}
}
1.2. 配置选项 复制链接链接已复制到粘贴板!
下表总结了 aws-ddb-sink Kamelet 可用的选项:
| 属性 | 名称 | 描述 | 类型 | 默认 | 示例 |
|---|---|---|---|---|---|
| region * | AWS 区域 | 用于访问的 AWS 区域。 | 字符串 | ||
| table * | 表 | DynamoDB 表的名称。 | 字符串 | ||
| accessKey | 访问密钥 | 从 AWS 获取的访问密钥。 | 字符串 | ||
| operation | 操作 | 要执行的操作。 | 字符串 | PutItem | PutItem |
| overrideEndpoint | 端点覆盖 |
选择这个选项来覆盖端点 URI。要使用这个选项,还必须为 | 布尔值 | False | |
| profileCredentialsName | 配置集凭证名称 | 如果使用配置集凭证供应商,此参数会设置配置集名称。 | 字符串 | ||
| secretKey | 机密密钥 | 从 AWS 获取的 secret 密钥。 | 字符串 | ||
| sessionToken | 会话令牌 | 当用户需要假定 IAM 角色时使用的 Amazon AWS Session Token。 | 字符串 | ||
| uriEndpointOverride | 覆盖 Endpoint URI |
覆盖端点 URI。要使用这个选项,还必须选择 | 字符串 | ||
| useDefaultCredentialsProvider | 默认凭证提供程序 | 如果为 true,则 DynamoDB 客户端通过默认凭据提供程序加载凭据。如果为 false,它将使用基本的身份验证方法(access key 和 secret key)。 | 布尔值 | False | |
| useProfileCredentialsProvider | 配置集凭证供应商 | 设置 DynamoDB 客户端是否应该预期通过配置文件凭据提供程序加载凭据。 | 布尔值 | False | |
| useSessionCredentials | 会话凭证 | 设置 DynamoDB 客户端是否应该预期使用 Session Credentials。这在用户需要假设 IAM 角色在 DynamoDB 中执行操作时非常有用。 | 布尔值 | False |
* = 标记为星号的字段 是必需的。
1.3. 依赖项 复制链接链接已复制到粘贴板!
在运行时,aws-ddb-sink Kamelet 依赖于以下依赖项的存在:
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-aws2-ddb</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-jackson</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>
1.4. kamelets 源文件 复制链接链接已复制到粘贴板!
https://github.com/apache/camel-kamelets/blob/4.14.x/kamelets/aws-ddb-sink.kamelet.yaml