红帽构建的 Apache Camel for Quarkus 的 kamelets 参考


Red Hat build of Apache Camel 4.14

红帽构建的 Apache Camel for Quarkus 的 kamelets 参考

摘要

Kamelets 提供了应用程序集成的替代方法。您可以配置 Kamelets (基于路由模板)来创建连接,而不是直接使用 Camel 组件。

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.accessKeyIdaws.secretKey.
  • 环境变量 - AWS_ACCESS_KEY_IDAWS_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 正文可以使用 操作keyitem 作为映射到对应属性值映射的顶级属性。

      {
        "operation": "PutItem"
        "key": {},
        "item": {}
      }

1.2. 配置选项

下表总结了 aws-ddb-sink Kamelet 可用的选项:

Expand
属性名称描述类型默认示例

region *

AWS 区域

用于访问的 AWS 区域。

字符串

  

table *

DynamoDB 表的名称。

字符串

  

accessKey

访问密钥

从 AWS 获取的访问密钥。

字符串

  

operation

操作

要执行的操作。

字符串

PutItem

PutItem

overrideEndpoint

端点覆盖

选择这个选项来覆盖端点 URI。要使用这个选项,还必须为 uriEndpointOverride 选项提供 URI。

布尔值

False

 

profileCredentialsName

配置集凭证名称

如果使用配置集凭证供应商,此参数会设置配置集名称。

字符串

  

secretKey

机密密钥

从 AWS 获取的 secret 密钥。

字符串

  

sessionToken

会话令牌

当用户需要假定 IAM 角色时使用的 Amazon AWS Session Token。

字符串

  

uriEndpointOverride

覆盖 Endpoint URI

覆盖端点 URI。要使用这个选项,还必须选择 overrideEndpoint 选项。

字符串

  

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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部