小编Nac*_*ris的帖子

使用 Lambda 查询没有主键的 DynamoDB

我想使用运行 python 的 lambda 函数查询我的 DynamoDB。

DynamoDB 表(名称:测试表):

  • user_id(字符串)主键
  • 状态(字符串)
  • 目的地(字符串)

我想查询我的代码中的表。我希望 lambda 函数返回所有状态属性为activeuser_id

table = dynamodb.Table('Testing-Table')
def lambda_handler(event, context):

response = table.query (
    KeyConditionExpression=Key('status').eq('active')
)

for i in response['Items']:
    print(i['user_id'],":",i['status'])

#return 'listing results'
Run Code Online (Sandbox Code Playgroud)

我还添加了一个新索引: 索引

我尝试创建一个以状态为主键的表,并且我的代码有效...但主键必须是唯一的,因此当我尝试在表中创建新项目时,我无法再次将状态设置为活动状态。

如果有必要,我会在问题中添加更多信息。我会感谢您的一点帮助。

--编辑--状态是我的表的主键时,我的代码才有效。

我的问题是:我可以使用状态PartitionKey 而不是 PrimaryKeyused_id查询我的 DynamoDB 表吗?最重要的是......它是如何完成的?

python amazon-web-services amazon-dynamodb aws-lambda

6
推荐指数
1
解决办法
4540
查看次数