in DynamoDB-SDK-Examples/python/WorkingWithScans/scan_parallel.py [0:0]
def scan_table(segment, total_segments):
# Print thread starting info
print('Starting Segment ' + str(segment))
try:
# Initial scan
response = dynamoDbClient.scan(
TableName=table_name,
Segment=segment,
TotalSegments=total_segments
)
# Paginate for each thread, returning 1MB of data each iteration
while 'LastEvaluatedKey' in response:
response = dynamoDbClient.scan(
TableName=table_name,
Segment=segment,
TotalSegments=total_segments,
ExclusiveStartKey=response['LastEvaluatedKey']
)
except ClientError as error:
print("Something went wrong: ")
print(error.response['ResponseMetadata'])