Потоковая поддержка локальных 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 ответ

Я не могу воспроизвести вашу проблему. Шаги, которые я предпринял:

  1. Скачайте DynamoDB Local отсюда
  2. Запустите DynamoDB локально с java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -inMemory -sharedDb
  3. Перейдите по http://localhost:8000/shell/
  4. Вставьте приведенный ниже код и нажмите кнопку воспроизведения. Единственная разница между тем, что я написал, и вашим кодом выше, состоит в том, что я заменил 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)
  }
})
Другие вопросы по тегам