Terraform中无法为AWS DynamoDB表启用TTL的问题排查
排查Terraform未检测到DynamoDB TTL配置变更的问题
以下是几个常见的排查方向和解决方法:
确认Terraform AWS Provider版本
aws_dynamodb_table的ttl配置块是在AWS Provider v2.31.0版本中引入的,如果你的provider版本低于这个,配置不会被识别。可以在provider "aws"块中指定足够新的版本:provider "aws" { region = "你的区域" version = ">= 3.0" # 或更高稳定版本 }执行
terraform init -upgrade升级provider后,重新运行plan命令。检查Terraform状态文件的现有配置
运行terraform state show aws_dynamodb_table.vehicle_id_table,查看输出中是否已经包含ttl相关配置。如果状态里的ttl参数和你当前配置完全一致,Terraform会判定无变更,自然不会显示待应用项。验证目标资源指定是否正确
确认-target参数中的资源名和tf文件中定义的aws_dynamodb_table资源名完全匹配,排除拼写错误导致的目标资源不匹配问题。排查是否存在配置覆盖
检查是否有其他tf文件、模块或者变量对该DynamoDB表的ttl配置进行了隐性覆盖,导致当前的ttl块未被Terraform识别。
内容的提问来源于stack exchange,提问作者Vicky
相关产品推荐
相关产品推荐

