【问题标题】:error updating DynamoDB Table: Table already has an enabled stream更新 DynamoDB 表时出错:表已启用流
【发布时间】:2021-12-28 22:04:41
【问题描述】:

我正在定义一个发电机表和触发器,如下所示:

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_enabledstream_view_type 之前,我没有看到此错误。如果我删除这两个属性,我会得到另一个错误,所以我无法删除它们。

【问题讨论】:

  • 您是否通过 AWS 控制台在表上手动启用了 DynamoDB 流?

标签: amazon-web-services aws-lambda amazon-dynamodb terraform terraform-provider-aws


【解决方案1】:

dynamo db Stream 可能从一开始就启用了 stream_view_type已经启用dynamodb流,你不能更改参数,dynamodb文档没有提到它。

我建议您创建一个新表并同时启用 dyanmodb stream_enabled: truestream_view_type:[]

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-04-01
  • 2021-01-24
  • 2019-03-21
  • 1970-01-01
  • 2018-06-18
  • 2023-04-10
  • 1970-01-01
  • 2016-04-08
相关资源
最近更新 更多