嗨,我正在尝试使用Boto3从DynamoDB表读取数据。我正在尝试运行以下代码,但出现以下错误:
Unknown parameter in input: "KeyConditionExpression", must be one of: TableName, IndexName, AttributesToGet, Limit, Select, ScanFilter, ConditionalOperator, ExclusiveStartKey, ReturnConsumedCapacity, TotalSegments, Segment, ProjectionExpression, FilterExpression, ExpressionAttributeNames, ExpressionAttributeValues, ConsistentRead
我正在尝试运行的Python代码:
client = boto3.client('dynamodb', region_name='eu-west-1')
customers_table = '-customers'
def dump_table(table_name):
results = []
last_evaluated_key = None
while True:
if last_evaluated_key:
response = client.scan(
TableName=table_name,
KeyConditionExpression="sort = :sort_key and deletedDate < :firstIngestionDate",
ExpressionAttributeValues={":sort_key": {"S": "DELETION_EVENT"},
":firstIngestionDate": {"S": "2021-01-27T23:26:58.280Z"}},
ExclusiveStartKey=last_evaluated_key
)
else:
response = client.scan(TableName=table_name,
KeyConditionExpression='sort = :sort_key and deletedDate < :firstIngestionDate',
ExpressionAttributeValues={":sort_key": {"S": "DELETION"},
":firstIngestionDate": {"S": "2021-01-27T23:26:58.280Z"}})
last_evaluated_key = response.get('LastEvaluatedKey')
results.extend(response['Items'])
if not last_evaluated_key:
break
return results
data = dump_table(customers_table)
最后,我用“FilterExpression”替换了“KeyConditionExpression”,这似乎成功了
相关问题 更多 >
编程相关推荐