2016-01-19 4 views
7

Non riesco a far funzionare il supporto del flusso in dynamo db local, sono supportati? L'unica indicazione sono riuscito a trovare che essi sono, è l'ultimo punto in http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.DynamoDBLocal.html#Tools.DynamoDBLocal.DifferencesSupporto streaming per dynamodb locale?

Con DynamoDB locali, sembra che lo StreamSpecification viene ignorata in modo non v'è alcuna LatestStreamArn quando si chiama CreateTable o describeTable

Il codice seguente ritorna LatestStreamArn con il servizio DynamoDB gestito ma non DynamoDB locale:

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

risposta

5

io non sono in grado di riprodurre il problema. Passi che ho preso:

  1. Scarica DynamoDB locale da here
  2. Inizia DynamoDB locale con java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -inMemory -sharedDb
  3. Spostarsi http://localhost:8000/shell/
  4. Incollare il codice qui sotto e fare clic sul pulsante di riproduzione. L'unica differenza tra ciò che ho scritto e il tuo codice sopra è che ho sostituito ddb con dynamodb.

Quando ho fatto questo, ho ottenuto un UltimateStreamArn non nullo e non vuoto di 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) 
    } 
})