NextShardIterator 密钥的 Aws DynamoDb Stream 作为响应

Aws DynamoDb Stream for NextShardIterator key in response

我正在使用 dynamodbstream 用方法调用 响应 = client.get_records(ShardIterator=shard_iterator, Limit=1)

初始响应包含响应['NextShardIterator']键

但过了一段时间我得到了 KeyError: 'NextShardIterator' 为什么没有响应

而不是像下面这样编写代码:

shard_iterator = response['NextShardIterator']

if not shard_iterator:
    break

改写以下内容:

if 'NextShardIterator' in response:
    shard_iterator = response['NextShardIterator']
else:
    break

或者你可以使用dict.get和默认值,如下:

shard_iterator = response.get('NextShardIterator', None)

if not shard_iterator:
    break