小编Sea*_*lla的帖子

使用散列键和带有Boto3的范围键来查询DynamoDB

我在使用AWS Boto3使用推荐的KeyConditionExpression同时使用散列键和范围键查询DynamoDB时遇到问题.我附上了一个示例查询:

import boto3
from boto3 import dynamodb
from boto3.session import Session
dynamodb_session = Session(aws_access_key_id=AWS_KEY,
              aws_secret_access_key=AWS_PASS,
              region_name=DYNAMODB_REGION)
dynamodb = dynamodb_session.resource('dynamodb')
table=dynamodb.Table(TABLE_NAME)
request = {
    'ExpressionAttributeNames': {
        '#n0': 'hash_key',
        '#n1': 'range_key'
    },
    'ExpressionAttributeValues': {
        ':v0': {'S': MY_HASH_KEY},
        ':v1': {'N': GT_RANGE_KEY}
    },
    'KeyConditionExpression': '(#n0 = :v0) AND (#n1 > :v1)',
    'TableName': TABLE_NAME
}
response = table.query(**request)
Run Code Online (Sandbox Code Playgroud)

当我使用以下方案对表执行此操作时:

Table Name: TABLE_NAME
Primary Hash Key: hash_key (String)
Primary Range Key: range_key (Number)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误,我不明白为什么:

ClientError: An error occurred (ValidationException) when calling the Query operation: Invalid …
Run Code Online (Sandbox Code Playgroud)

amazon-dynamodb boto3

17
推荐指数
2
解决办法
2万
查看次数

标签 统计

amazon-dynamodb ×1

boto3 ×1