相关疑难解决方法(0)

有没有办法在DynamoDB中查询多个哈希键?

有没有办法在Amazon的AWS SDK for Java中使用单个查询查询多个哈希键?

这是我的问题; 我有一个项目状态的数据库表.哈希键是项目的状态(即:新建,分配,处理或完成).范围键是一组项目ID.目前,我有一个查询设置,只是简单地找到列为"已分配"状态(哈希)的所有项目,另一个查询设置为查找"处理"状态.有没有办法使用单个查询执行此操作,而不是为我需要查找的每个状态发送多个查询?代码如下:

    DynamoDBMapper mapper = new DynamoDBMapper(new AmazonDynamoDBClient(credentials));
    PStatus assignedStatus = new PStatus();
    assignedStatus.setStatus("assigned");
    PStatus processStatus = new PStatus();
    processStatus.setStatus("processing");

    DynamoDBQueryExpression<PStatus> queryAssigned = new DynamoDBQueryExpression<PStatus>().withHashKeyValues(assignedStatus);
    DynamoDBQueryExpression<PStatus> queryProcessing = new DynamoDBQueryExpression<PStatus>().withHashKeyValues(processStatus);

    List<PStatus> assigned = mapper.query(PStatus.class, queryAssigned);
    List<PStatus> process = mapper.query(PStatus.class, queryProcessing);
Run Code Online (Sandbox Code Playgroud)

所以基本上,我想知道是否有可能消除queryAssignedassigned变量assignedStatusprocessStatus通过相同的查询处理它们process,以查找非新的或完整的项目.

java multivalue amazon-web-services amazon-dynamodb

14
推荐指数
3
解决办法
3万
查看次数

查询多个本地二级索引Dynamodb

我的表中有2个LSI,带有主分区键和主分类键

Org-ID - 主分区密钥

ClientID-主要排序键

性别 - LSI

部分 - LSI

查询具有一个LSI的表没有问题,但是如何在表模式中提及2个LSI.

 var params = {
 TableName:"MyTable",
 IndexNames: ['ClientID-Gender-index','ClientID-Section-index'], 

KeyConditionExpression : '#Key1 = :Value1 and #Key2=:Value2 and #Key3=:Value3', 

ExpressionAttributeNames:{
"#Key1":"Org-ID",
"#Key2":"Gender",
"#Key3":"Section"
},

ExpressionAttributeValues : {
':Value1' :"Microsoft",
':Value2':"Male",
':Value3':"Cloud Computing"
}};
Run Code Online (Sandbox Code Playgroud)

任何人都可以在IndexName(第3行)或KeyConditionExpression(第4行)中解决问题,我不确定.

问题

条件可以是长度1或2

amazon-dynamodb

10
推荐指数
1
解决办法
4920
查看次数

Dynamodb:使用两个以上的属性进行查询

在Dynamodb中,您需要在索引中指定可用于进行查询的属性.

如何使用两个以上的属性进行查询?

使用boto的示例.

Table.create('users', 
        schema=[
            HashKey('id') # defaults to STRING data_type
        ], throughput={
            'read': 5,
            'write': 15,
        }, global_indexes=[
            GlobalAllIndex('FirstnameTimeIndex', parts=[
                HashKey('first_name'),
                RangeKey('creation_date', data_type=NUMBER),
            ],
            throughput={
                'read': 1,
                'write': 1,
            }),
            GlobalAllIndex('LastnameTimeIndex', parts=[
                HashKey('last_name'),
                RangeKey('creation_date', data_type=NUMBER),
            ],
            throughput={
                'read': 1,
                'write': 1,
            })
        ],
        connection=conn)
Run Code Online (Sandbox Code Playgroud)

如何查找姓名为"John",姓氏为"Doe"并使用boto在"3-21-2015"创建的用户?

python boto amazon-web-services nosql amazon-dynamodb

7
推荐指数
1
解决办法
5681
查看次数

为什么在DynamoDB查询中没有**不等于**的比较?

我尝试使用二级索引查询我的表Tinpon,产生一个分区键类别和排序键tinponId.我的目标是排除带有某些tinponIds的物品.我首先想到的是使负比较: keyConditionExpression = "category = :category AND tinponId != :tinponId" 但只有一个等于=对比.然后我尝试了serval其他方法(遗憾的是不存在): keyConditionExpression = "category = :category NOT tinponId = :tinponId" keyConditionExpression = "category = :category AND tinponId <> :tinponId" keyConditionExpression = "category = :category AND tinponId < :tinponId AND tinponId > :tinponId" 遵循AWS指南,没有不相等的比较.为什么这样?有没有办法查询除了id列表之外的DynamoDB,或者是检索一大堆项目并在以后手动过滤它们的唯一选项?

sql database amazon-web-services amazon-dynamodb

3
推荐指数
1
解决办法
9326
查看次数