3.5. 使用方法


3.5.1. 静态凭证和默认凭证提供程序

您可以通过指定 useDefaultCredentialsProvider 选项并将其设置为 true 来避免使用显式静态凭证。

  • 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 实例配置集凭据。

有关此信息的更多信息,您可以查看 AWS 凭证文档

3.5.2. 由 DDB producer 评估的消息标头

标头类型描述

CamelAwsDdbBatchItems

Map<String, KeysAndAttributes>

表名称和对应项目的映射,由主密钥获取。

CamelAwsDdbTableName

字符串

此操作的表名称。

CamelAwsDdbKey

唯一标识表中的每个项目的主要键。

CamelAwsDdbReturnValues

字符串

如果您要在修改前或之后获取属性 name-value 对(NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW),则使用此参数。

CamelAwsDdbUpdateCondition

Map<String, ExpectedAttributeValue>

为条件修改指定属性。

CamelAwsDdbAttributeNames

collection<String>

如果没有指定属性名称,则返回所有属性。

CamelAwsDdbConsistentRead

布尔值

如果设置为 true,则会发出一致的读取,否则最终会使用一致性。

CamelAwsDdbIndexName

字符串

如果设置将用作查询操作的 Secondary Index。

CamelAwsDdbItem

Map<String, AttributeValue>

项目的属性映射,必须包含定义项目的主要键值。

CamelAwsDdbExactCount

布尔值

如果设置为 true,Amazon DynamoDB 会返回与查询参数匹配的项目总数,而不是匹配的项目及其属性的列表。

CamelAwsDdbKeyConditions

Map<String, Condition>

此标头指定查询的选择条件,并合并两个旧的标头 CamelAwsDdbHashKeyValueCamelAwsDdbScanRangeKeyCondition

CamelAwsDdbStartKey

项目的主密钥,以便从中继续之前的查询。

CamelAwsDdbHashKeyValue

AttributeValue

复合主密钥的 hash 组件的值。

CamelAwsDdbLimit

整数

要返回的项目的最大数量。

CamelAwsDdbScanRangeKeyCondition

状况

用于查询的属性值和比较运算符的容器。

CamelAwsDdbScanIndexForward

布尔值

指定索引的正向和反向遍历。

CamelAwsDdbScanFilter

Map<String, Condition>

评估扫描结果,仅返回所需的值。

CamelAwsDdbUpdateValues

Map<String, AttributeValueUpdate>

将属性名称映射到更新的新值和操作。

3.5.3. 在 BatchGetItems 操作过程中设置的消息标头

标头类型描述

CamelAwsDdbBatchResponse

Map<String,BatchResponse>

表名称以及对应的项目属性。

CamelAwsDdbUnprocessedKeys

Map<String,KeysAndAttributes>

包含表映射及其对应的键,这些键没有使用当前响应进行处理。

3.5.4. 在 DeleteItem 操作过程中设置消息标头

标头类型描述

CamelAwsDdbAttributes

Map<String, AttributeValue>

操作返回的属性列表。

3.5.5. 在 DeleteTable 操作过程中设置消息标头

标头类型描述

CamelAwsDdbProvisionedThroughput

  

ProvisionedThroughputDescription

 

此表的 ProvisionedThroughput 属性的值

CamelAwsDdbCreationDate

Date

此表的创建 DateTime。

CamelAwsDdbTableItemCount

Long

此表的项目数。

CamelAwsDdbKeySchema

KeySchema

标识此表的主键的 KeySchema。在 Camel 2.16.0 中,此标头的类型是 List<KeySchemaElement> 而不是 KeySchema

CamelAwsDdbTableName

字符串

表名称。

CamelAwsDdbTableSize

Long

表大小(以字节为单位)。

CamelAwsDdbTableStatus

字符串

表的状态:CREATING, UPDATING, DELETING, ACTIVE

3.5.6. 在 DescribeTable 操作过程中设置的消息标头

标头类型描述

CamelAwsDdbProvisionedThroughput

\{{ProvisionedThroughputDescription}}

此表的 ProvisionedThroughput 属性的值

CamelAwsDdbCreationDate

Date

此表的创建 DateTime。

CamelAwsDdbTableItemCount

Long

此表的项目数。

CamelAwsDdbKeySchema

\{{KeySchema}}

标识此表的主键的 KeySchema。

CamelAwsDdbTableName

字符串

表名称。

CamelAwsDdbTableSize

Long

表大小(以字节为单位)。

CamelAwsDdbTableStatus

字符串

表的状态:CREATING, UPDATING, DELETING, ACTIVE

CamelAwsDdbReadCapacity

Long

此表的 ReadCapacityUnits 属性。

CamelAwsDdbWriteCapacity

Long

此表的 WriteCapacityUnits 属性。

3.5.7. 在 GetItem 操作过程中设置的消息标头

标头类型描述

CamelAwsDdbAttributes

Map<String, AttributeValue>

操作返回的属性列表。

3.5.8. 在 PutItem 操作过程中设置的消息标头

标头类型描述

CamelAwsDdbAttributes

Map<String, AttributeValue>

操作返回的属性列表。

3.5.9. 在 Query 操作过程中设置消息标头

标头类型描述

CamelAwsDdbItems

List<java.util.Map<String,AttributeValue>>

操作返回的属性列表。

CamelAwsDdbLastEvaluatedKey

查询操作停止的项目的主要键,其中包含上一个结果集。

CamelAwsDdbConsumedCapacity

�

操作期间消耗的表的置备吞吐量数。

CamelAwsDdbCount

整数

响应中的项目数。

3.5.10. 扫描操作期间设置的消息标头

标头类型描述

CamelAwsDdbItems

List<java.util.Map<String,AttributeValue>>

操作返回的属性列表。

CamelAwsDdbLastEvaluatedKey

查询操作停止的项目的主要键,其中包含上一个结果集。

CamelAwsDdbConsumedCapacity

�

操作期间消耗的表的置备吞吐量数。

CamelAwsDdbCount

整数

响应中的项目数。

CamelAwsDdbScannedCount

整数

应用任何过滤器前,完成扫描中的项目数。

3.5.11. 在 UpdateItem 操作过程中设置的消息标头

标头类型描述

CamelAwsDdbAttributes

Map<String, AttributeValue>

操作返回的属性列表。

3.5.12. 高级 AmazonDynamoDB 配置

如果您需要对 AmazonDynamoDB 实例配置进行更多控制,您可以创建自己的实例并从 URI 引用它:

from("direct:start")
.to("aws2-ddb://domainName?amazonDDBClient=#client");

#client 指的是 Registry 中的 DynamoDbClient

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.