Merge pull request #2343 from danguer/support-iterator-type-at-after-sequence
Adding support for AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER
This commit is contained in:
commit
13c4f2e794
4 changed files with 65 additions and 3 deletions
|
|
@ -363,7 +363,7 @@ class StreamRecord(BaseModel):
|
|||
'dynamodb': {
|
||||
'StreamViewType': stream_type,
|
||||
'ApproximateCreationDateTime': datetime.datetime.utcnow().isoformat(),
|
||||
'SequenceNumber': seq,
|
||||
'SequenceNumber': str(seq),
|
||||
'SizeBytes': 1,
|
||||
'Keys': keys
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ from __future__ import unicode_literals
|
|||
from moto.core.responses import BaseResponse
|
||||
|
||||
from .models import dynamodbstreams_backends
|
||||
from six import string_types
|
||||
|
||||
|
||||
class DynamoDBStreamsHandler(BaseResponse):
|
||||
|
|
@ -23,8 +24,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, string_types):
|
||||
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