gpt4 book ai didi

python - AWS DynamoDB ExclusiveStartKey 默认值

转载 作者:太空宇宙 更新时间:2023-11-03 21:35:40 25 4
gpt4 key购买 nike

我正在尝试对 DynamoDB 进行查询,如果返回 LastEvaluatedKey(意味着查询超过 1 MB),我想进行其他查询,以便从表,使用 LastEvaluatedKey 作为下一个查询的 ExclusiveStartKey。这是我现在的代码:

query_response = table.query(
KeyConditionExpression=Key('brand').eq(brand)
)

pagination_key = None

if 'LastEvaluatedKey' in query_response:
pagination_key = query_response['LastEvaluatedKey']

while pagination_key:
next_query_response = table.query(
KeyConditionExpression=Key('brand').eq(brand),
ExclusiveStartKey=pagination_key
)

但是,我想通过将查询提取到方法中并将其 pagination_key 作为参数传递来重构此代码。为此,我必须能够将 ExclusiveStartKey 设置为 FalseNone 或第一次调用的其他默认值,但是我没有找到任何相关内容,或者我必须能够完全排除 ExclusiveStartKey ,但我也不知道该怎么做。

最佳答案

使用关键字参数**kwargs它可能看起来像这样。还,我之前设置了查询,并且每次只更新 ExclusiveStartKey

query = { "KeyConditionExpression": Key('brand').eq(brand) }


ExclusiveStartKey = None
while True:
if ExclusiveStartKey is not None:
query['ExclusiveStartKey'] = ExclusiveStartKey
query_response = table.query(**query)

if 'LastEvaluatedKey' in query_response:
ExclusiveStartKey = query_response['LastEvaluatedKey']
else:
break

关于python - AWS DynamoDB ExclusiveStartKey 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53264490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com