Adding support for AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER
Adding support on DynamoDB Streams for AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER ShardIteratorType Change SequenceNumber type to string instead of int to match documentation
This commit is contained in:
parent
69d86cbd54
commit
7091be8eae
4 changed files with 64 additions and 3 deletions
|
|
@ -39,7 +39,7 @@ class ShardIterator(BaseModel):
|
|||
def get(self, limit=1000):
|
||||
items = self.stream_shard.get(self.sequence_number, limit)
|
||||
try:
|
||||
last_sequence_number = max(i['dynamodb']['SequenceNumber'] for i in items)
|
||||
last_sequence_number = max(int(i['dynamodb']['SequenceNumber']) for i in items)
|
||||
new_shard_iterator = ShardIterator(self.streams_backend,
|
||||
self.stream_shard,
|
||||
'AFTER_SEQUENCE_NUMBER',
|
||||
|
|
|
|||
|
|
@ -23,8 +23,13 @@ class DynamoDBStreamsHandler(BaseResponse):
|
|||
arn = self._get_param('StreamArn')
|
||||
shard_id = self._get_param('ShardId')
|
||||
shard_iterator_type = self._get_param('ShardIteratorType')
|
||||
sequence_number = self._get_param('SequenceNumber')
|
||||
#according to documentation sequence_number param should be string
|
||||
if isinstance(sequence_number, str):
|
||||
sequence_number = int(sequence_number)
|
||||
|
||||
return self.backend.get_shard_iterator(arn, shard_id,
|
||||
shard_iterator_type)
|
||||
shard_iterator_type, sequence_number)
|
||||
|
||||
def get_records(self):
|
||||
arn = self._get_param('ShardIterator')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue