我似乎无法在DynamoDB本地环境中启用流支持,它们是否受支持?我能找到的唯一迹象是在本地差异开发人员指南的最后一个要点中:
“如果使用DynamoDB Streams,则创建分片的速率可能会有所不同。在DynamoDB网络服务中,分片创建行为部分受表分区活动的影响。当在本地运行DynamoDB时,没有表分区。在任何情况下,片段都是短暂的,因此您的应用程序不应依赖于片段行为。”
对于dynamodb local,StreamSpecification似乎被忽略了,因此在调用createTable或describeTable时没有LatestStreamArn。
以下代码可在托管dynamodb服务中返回LatestStreamArn,但在dynamodb本地环境中则不行:
“如果使用DynamoDB Streams,则创建分片的速率可能会有所不同。在DynamoDB网络服务中,分片创建行为部分受表分区活动的影响。当在本地运行DynamoDB时,没有表分区。在任何情况下,片段都是短暂的,因此您的应用程序不应依赖于片段行为。”
对于dynamodb local,StreamSpecification似乎被忽略了,因此在调用createTable或describeTable时没有LatestStreamArn。
以下代码可在托管dynamodb服务中返回LatestStreamArn,但在dynamodb本地环境中则不行:
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)
}
})