Map service BatchSize
defaults/maxes
This commit is contained in:
parent
ccceb70397
commit
210b8b24eb
@ -435,9 +435,28 @@ class EventSourceMapping(BaseModel):
|
|||||||
self.event_source_arn = spec['EventSourceArn']
|
self.event_source_arn = spec['EventSourceArn']
|
||||||
self.uuid = str(uuid.uuid4())
|
self.uuid = str(uuid.uuid4())
|
||||||
self.last_modified = time.mktime(datetime.datetime.utcnow().timetuple())
|
self.last_modified = time.mktime(datetime.datetime.utcnow().timetuple())
|
||||||
|
self.batch_size = '' # Default to blank
|
||||||
|
|
||||||
|
# BatchSize service default/max mapping
|
||||||
|
batch_size_map = {
|
||||||
|
'kinesis': (100, 10000),
|
||||||
|
'dynamodb': (100, 1000),
|
||||||
|
'sqs': (10, 10),
|
||||||
|
}
|
||||||
|
source_type = self.event_source_arn.split(":")[2].lower()
|
||||||
|
batch_size_entry = batch_size_map.get(source_type)
|
||||||
|
if batch_size_entry:
|
||||||
|
# Use service default if not provided
|
||||||
|
batch_size = int(spec.get('BatchSize', batch_size_entry[0]))
|
||||||
|
if batch_size > batch_size_entry[1]:
|
||||||
|
raise ValueError(
|
||||||
|
"InvalidParameterValueException",
|
||||||
|
"BatchSize {} exceeds the max of {}".format(batch_size, batch_size_entry[1]))
|
||||||
|
else:
|
||||||
|
self.batch_size = batch_size
|
||||||
|
|
||||||
# optional
|
# optional
|
||||||
self.starting_position = spec.get('StartingPosition', 'TRIM_HORIZON')
|
self.starting_position = spec.get('StartingPosition', 'TRIM_HORIZON')
|
||||||
self.batch_size = spec.get('BatchSize', 10) # TODO: Add source type-specific defaults
|
|
||||||
self.enabled = spec.get('Enabled', True)
|
self.enabled = spec.get('Enabled', True)
|
||||||
self.starting_position_timestamp = spec.get('StartingPositionTimestamp',
|
self.starting_position_timestamp = spec.get('StartingPositionTimestamp',
|
||||||
None)
|
None)
|
||||||
|
Loading…
Reference in New Issue
Block a user