lifion-kinesis
Advanced tools
Comparing version 1.0.5 to 1.0.6
@@ -10,2 +10,6 @@ ## Changelog | ||
### v1.0.6 (2019-04-29) | ||
- [`#117`](https://github.com/lifion/lifion-kinesis/pull/117): Add shards on update | ||
### v1.0.5 (2019-04-29) | ||
@@ -12,0 +16,0 @@ |
@@ -462,19 +462,35 @@ 'use strict'; | ||
async lockStreamConsumer(consumerName, version) { | ||
const { client, consumerGroup, consumerId, logger, streamName } = internal(this); | ||
const { | ||
client, | ||
consumerGroup, | ||
consumerId, | ||
logger, | ||
streamName, | ||
useAutoShardAssignment | ||
} = internal(this); | ||
try { | ||
await client.update({ | ||
ConditionExpression: `#a.#b.#d = :z`, | ||
ExpressionAttributeNames: { | ||
'#a': 'enhancedConsumers', | ||
'#b': consumerName, | ||
'#c': 'isUsedBy', | ||
'#d': 'version' | ||
}, | ||
ExpressionAttributeValues: { | ||
':x': consumerId, | ||
':y': generate(), | ||
':z': version | ||
}, | ||
ExpressionAttributeNames: Object.assign( | ||
{ | ||
'#a': 'enhancedConsumers', | ||
'#b': consumerName, | ||
'#c': 'isUsedBy', | ||
'#d': 'version' | ||
}, | ||
!useAutoShardAssignment && { '#e': 'shards' } | ||
), | ||
ExpressionAttributeValues: Object.assign( | ||
{ | ||
':x': consumerId, | ||
':y': generate(), | ||
':z': version | ||
}, | ||
!useAutoShardAssignment && { ':e': {} } | ||
), | ||
Key: { consumerGroup, streamName }, | ||
UpdateExpression: `SET #a.#b.#c = :x, #a.#b.#d = :y` | ||
UpdateExpression: `SET #a.#b.#c = :x, #a.#b.#d = :y${ | ||
!useAutoShardAssignment ? ', #a.#b.#e = if_not_exists(#a.#b.#e, :e)' : '' | ||
}` | ||
}); | ||
@@ -481,0 +497,0 @@ return true; |
{ | ||
"name": "lifion-kinesis", | ||
"version": "1.0.5", | ||
"version": "1.0.6", | ||
"description": "Lifion client for Amazon Kinesis Data streams", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
138219
2748