Потоковая поддержка локальных DynamodB?
Кажется, я не могу получить поддержку потока, работающую в динамо-локальной базе данных, они поддерживаются? Единственное указание, что я могу найти, что они есть, это последний пункт в http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.DynamoDBLocal.html
При использовании Dynamodb Local кажется, что StreamSpecification игнорируется, поэтому при вызове createTable или descriptionTable не используется LastStreamArn.
Следующий код возвращает LatestStreamArn с управляемой службой динамодаба, но не локальным динамодебом:
ddb.createTable({
TableName: 'streaming_test',
AttributeDefinitions: [
{ AttributeName: 'id', AttributeType: 'S' }
],
KeySchema: [
{ AttributeName: 'id', KeyType: 'HASH' }
],
ProvisionedThroughput: {
ReadCapacityUnits: 5,
WriteCapacityUnits: 5
},
StreamSpecification: {
StreamEnabled: true,
StreamViewType: 'NEW_AND_OLD_IMAGES'
}
}, function (err, data) {
if (err) {
console.log(err, err.stack)
} else {
// data.TableDescription.StreamSpecification and
// data.TableDescription.LatestStreamArn are undefined
// for dynamodb local
console.log(data)
}
})
1 ответ
Я не могу воспроизвести вашу проблему. Шаги, которые я предпринял:
- Скачайте DynamoDB Local отсюда
- Запустите DynamoDB локально с
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -inMemory -sharedDb
- Перейдите по http://localhost:8000/shell/
- Вставьте приведенный ниже код и нажмите кнопку воспроизведения. Единственная разница между тем, что я написал, и вашим кодом выше, состоит в том, что я заменил
ddb
сdynamodb
,
Когда я сделал это, я получил непустой и непустой LatestStreamArn arn:aws:dynamodb:ddblocal:000000000000:table/streaming_test/stream/2017-02-12T08:39:03.722
,
dynamodb.createTable({
TableName: 'streaming_test',
AttributeDefinitions: [
{ AttributeName: 'id', AttributeType: 'S' }
],
KeySchema: [
{ AttributeName: 'id', KeyType: 'HASH' }
],
ProvisionedThroughput: {
ReadCapacityUnits: 5,
WriteCapacityUnits: 5
},
StreamSpecification: {
StreamEnabled: true,
StreamViewType: 'NEW_AND_OLD_IMAGES'
}
}, function (err, data) {
if (err) {
console.log(err, err.stack)
} else {
// data.TableDescription.StreamSpecification and
// data.TableDescription.LatestStreamArn are undefined
// for dynamodb local
console.log(data)
}
})