![](/img/trans.png)
[英]How to programmatically get 'distribution-id' to invalidate cloudfront cache?
[英]How can I invalidate AWS CloudFront Distribution cache using Terraform?
aws_cloudfront_distribution
或aws_cloudfront_cache_policy
資源中沒有針對緩存失效的內置支持。
作為最后的手段,可以使用local_exec
配置器。
通常,根據我的經驗,緩存在 CI/CD 管道中使用 AWS CLI create-invalidation
命令create-invalidation
。
但是,如果這必須在 Terraform 中完成,您可以在創建/更新資源后使用local-exec
配置程序在運行 Terraform 的本地計算機上運行命令。
我們可以使用它來運行上面的 CLI 失效命令來使分發緩存失效。
使用self
對象訪問所有 CloudFront 分配的屬性,包括self.id
以引用 CloudFront 分配 ID 以進行失效
例子:
resource "aws_cloudfront_distribution" "s3_distribution" {
# ...
provisioner "local-exec" {
command = "aws cloudfront create-invalidation --distribution-id ${self.id} --paths '...'"
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.