无法在 Terraform 中启用 AWS DynamoDB 表的生存时间 (TTL)

问题描述 投票:0回答:1

我正在尝试使用 Terraform 在 AWS DynamoDB 表上启用 TTL(生存时间)。根据文档,aws_dynamodb_table 资源应该支持 TTL,但是当我运行 terraform plan 命令时,它没有检测到任何更改。我希望它能够找到 TTL 语法并显示要应用的一项更改。

但是,运行 plan 命令时似乎没有检测到 TTL 配置。我在设置或使用中遗漏了什么吗?

Terraform 代码

resource "aws_dynamodb_table" "vehicle_id_table" {
  name         = var.dynamodb_vehicle_id_table_name
  hash_key     = "id"
  billing_mode = "PAY_PER_REQUEST"

  point_in_time_recovery {
    enabled = true
  }

  attribute {
    name = "id"
    type = "S"
  }

  ttl {
    enabled        = true
    attribute_name = "ttl"
  }
}

我尝试了什么? 我将 ttl 块添加到 aws_dynamodb_table 资源中,以便为 DynamoDB 表中的 ttl 属性启用生存时间 (TTL)。

地形命令

terraform plan -var-file="tfvars/dev.tfvars" -target=aws_dynamodb_table.vehicle_id_table

我在期待什么? 我希望 Terraform 能够检测 TTL 配置中的更改并显示为 DynamoDB 表启用它的计划。具体来说,terraform plan 应该识别资源中的 ttl 块。

amazon-web-services terraform amazon-dynamodb ttl
1个回答
0
投票

您使用的是哪个 terraform 版本?

我使用了 terraform v1.5.6,并且应用了相同的配置,但没有

ttl
,然后我添加了 ttl 对象,并且计划检测到它没有任何问题:enter image description here

尝试检查状态文件中的配置,看看是否配置了ttl:

terraform state show aws_dynamodb_table.vehicle_id_table

并确保 Terraform 状态反映 TTL 设置。

© www.soinside.com 2019 - 2024. All rights reserved.