2016-01-19 17 views
7

Ich kann nicht scheinen, Stream Support in Dynamo db lokalen arbeiten, werden sie unterstützt? Der einzige Hinweis ich finden konnte, dass sie sind, ist der letzte Aufzählungspunkt in http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.DynamoDBLocal.html#Tools.DynamoDBLocal.DifferencesStream-Unterstützung für lokale Dynamodb?

Mit DynamoDB lokalen, es scheint, dass die StreamSpecification ignoriert wird, so dass kein LatestStreamArn ist, wenn create oder describeTable

Aufruf

Der folgende Code returns LatestStreamArn mit dem managed dynamodb-Service aber nicht dynamodb local:

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) 
    } 
}) 

Antwort

5

Ich bin nicht in der Lage, Ihr Problem zu reproduzieren. Schritte, die ich nahm:

  1. Herunterladen DynamoDB Lokale von here
  2. starten DynamoDB lokale mit java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -inMemory -sharedDb
  3. Navigieren Sie zu http://localhost:8000/shell/
  4. fügen Sie den Code unten ein und klicken Sie auf die Play-Taste. Der einzige Unterschied zwischen dem, was ich geschrieben habe, und dem obigen Code ist, dass ich durch dynamodb ersetzte.

Als ich das tat, bekam ich eine Nicht-Null und nicht leer LatestStreamArn von 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) 
    } 
})