23.4. 使用方法


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

标头类型描述

CamelAwsDdbBatchItems

Map<String, KeysAndAttributes>

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

CamelAwsDdbTableName

字符串

此操作的表名称。

CamelAwsDdbKey

唯一标识表中的每个项目的主要键。在 Camel 2.16.0 中,此标头的类型是 Map<String, AttributeValue> 而不是 Key

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 会返回与查询参数匹配的项目总数,而不是匹配的项目及其属性的列表。从 Camel 2.16.0 中,此标头不再存在。

CamelAwsDdbKeyConditions

Map<String, Condition>

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

CamelAwsDdbStartKey

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

CamelAwsDdbHashKeyValue

AttributeValue

复合主密钥的 hash 组件的值。从 Camel 2.16.0 中,此标头不再存在。

CamelAwsDdbLimit

整数

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

CamelAwsDdbScanRangeKeyCondition

状况

用于查询的属性值和比较运算符的容器。从 Camel 2.16.0 中,此标头不再存在。

CamelAwsDdbScanIndexForward

布尔值

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

CamelAwsDdbScanFilter

Map<String, Condition>

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

CamelAwsDdbUpdateValues

Map<String, AttributeValueUpdate>

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

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

标头类型描述

CamelAwsDdbBatchResponse

Map<String,BatchResponse>

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

CamelAwsDdbUnprocessedKeys

Map<String,KeysAndAttributes>

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

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

标头类型描述

CamelAwsDdbAttributes

Map<String, AttributeValue>

操作返回的属性列表。

23.4.4. 在 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

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

标头类型描述

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

CamelAwsDdbReadCapacity

Long

此表的 ReadCapacityUnits 属性。

CamelAwsDdbWriteCapacity

Long

此表的 WriteCapacityUnits 属性。

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

标头类型描述

CamelAwsDdbAttributes

Map<String, AttributeValue>

操作返回的属性列表。

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

标头类型描述

CamelAwsDdbAttributes

Map<String, AttributeValue>

操作返回的属性列表。

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

标头类型描述

CamelAwsDdbItems

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

操作返回的属性列表。

CamelAwsDdbLastEvaluatedKey

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

CamelAwsDdbConsumedCapacity

�

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

CamelAwsDdbCount

整数

响应中的项目数。

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

标头类型描述

CamelAwsDdbItems

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

操作返回的属性列表。

CamelAwsDdbLastEvaluatedKey

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

CamelAwsDdbConsumedCapacity

�

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

CamelAwsDdbCount

整数

响应中的项目数。

CamelAwsDdbScannedCount

整数

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

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

标头类型描述

CamelAwsDdbAttributes

Map<String, AttributeValue>

操作返回的属性列表。

23.4.11. 高级 AmazonDynamoDB 配置

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

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

#client 指的是 Registry 中的 AmazonDynamoDB

例如,如果您的 Camel 应用程序在防火墙后面运行:

AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http://myProxyHost");
clientConfiguration.setProxyPort(8080);

AmazonDynamoDB client = new AmazonDynamoDBClient(awsCredentials, clientConfiguration);

registry.bind("client", client);
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.