更新 DynamoDB 时出错 Table:Table 已经有启用的流
error updating DynamoDB Table: Table already has an enabled stream
我正在定义发电机 table 并像这样触发:
resource "aws_dynamodb_table" "filenames" {
name = local.dynamodb_table_filenames
billing_mode = "PROVISIONED"
read_capacity = 1000
write_capacity = 1000
hash_key = "filename"
stream_enabled = true
stream_view_type = "NEW_IMAGE"
#range_key = ""
attribute {
name = "filename"
type = "S"
}
tags = var.tags
}
resource "aws_lambda_event_source_mapping" "allow_dynamodb_table_to_trigger_lambda" {
event_source_arn = aws_dynamodb_table.filenames.stream_arn
function_name = aws_lambda_function.trigger_stepfunction_lambda.arn
starting_position = "LATEST"
}
运行 terraform apply
后,我收到以下错误:
error updating DynamoDB Table (xzy): ValidationException: Table already has an enabled stream: TableName: 4 xzy
我在添加 stream_enabled
和 stream_view_type
之前没有看到这个错误。如果我删除这两个属性,我将收到另一个错误,因此我无法删除它们。
dynamo db Stream 可能从一开始就启用了
您不能更改 stream_view_type
已经启用的 dynamodb 流的参数,dynamodb 文档没有提到它。
我建议您创建一个新的 table 并同时启用 dyanmodb stream_enabled: true
和 stream_view_type:[]
。
我正在定义发电机 table 并像这样触发:
resource "aws_dynamodb_table" "filenames" {
name = local.dynamodb_table_filenames
billing_mode = "PROVISIONED"
read_capacity = 1000
write_capacity = 1000
hash_key = "filename"
stream_enabled = true
stream_view_type = "NEW_IMAGE"
#range_key = ""
attribute {
name = "filename"
type = "S"
}
tags = var.tags
}
resource "aws_lambda_event_source_mapping" "allow_dynamodb_table_to_trigger_lambda" {
event_source_arn = aws_dynamodb_table.filenames.stream_arn
function_name = aws_lambda_function.trigger_stepfunction_lambda.arn
starting_position = "LATEST"
}
运行 terraform apply
后,我收到以下错误:
error updating DynamoDB Table (xzy): ValidationException: Table already has an enabled stream: TableName: 4 xzy
我在添加 stream_enabled
和 stream_view_type
之前没有看到这个错误。如果我删除这两个属性,我将收到另一个错误,因此我无法删除它们。
dynamo db Stream 可能从一开始就启用了
您不能更改 stream_view_type
已经启用的 dynamodb 流的参数,dynamodb 文档没有提到它。
我建议您创建一个新的 table 并同时启用 dyanmodb stream_enabled: true
和 stream_view_type:[]
。