amazon-web-services - 是否可以通过 AWS CLI 从 Origin 找到云端分发?
问题描述
我有多个指向单个 S3 存储桶的 Cloudfront 发行版来创建不同的 URL。现在,当我部署时,很难一一手动清除所有存储桶的缓存。所以我认为应该有一个选项,我可以从中找到所有 id 并清除缓存,但我能找到的只是
aws cloudfront get-distribution-config
--id <value>
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
其中 id 获取我想找出的 cloudfront 发行版本身的 id。
我不能使用它,也不想清除所有发行版的缓存
aws cloudfront list-distributions
[--max-items <value>]
[--cli-input-json <value>]
[--starting-token <value>]
[--page-size <value>]
[--generate-cli-skeleton <value>]
我试图找到类似的东西,但到目前为止这似乎不是正确的方法
aws cloudfront --origing <value>
解决方案
https://stackoverflow.com/a/64264887/5773416
虽然这个解决方案并不完全是我想要的,但它帮助我找到了确切的答案。我正在发布我的答案,最终帮助我实现了这一目标。
aws cloudfront list-distributions --query "DistributionList.Items[*].{id:Id,origin:Origins.Items[0].Id}[?origin=='S3-BUCKET_NAME'].id" --output text
这将给出这样的结果
EXXXXXXXXXXX1 EXXXXXXXXXXX2
并且为了清除多个分布的缓存
for id in $(aws cloudfront list-distributions --query "DistributionList.Items[*].{id:Id,origin:Origins.Items[0].Id}[?origin=='S3-BUCKET_NAME'].id" --output text);do aws cloudfront create-invalidation --distribution-id $id --paths "/*";done;
推荐阅读
- firebase - firebase-messaging - 致命:找不到回调
- html - 将 p 标签对齐到 div 的长度
- weblogic - 用于 Weblogic 安全领域角色创建和添加条件的 wlst 命令
- javascript - 为什么这段代码没有按应有的方式运行。请解释
- c - 三元组问题:解决它并消除错误
- firebase - 规则 Firestore,从父级获取资源?
- flutter - 具有命名参数的构造函数设置私有变量后验证
- c++ - 调试时如何在 VS Code 的集成终端中查看 C 程序的输出
- jquery - 未捕获的类型错误:this._addClass 不是产品添加/编辑页面中的函数
- java - Android Apk 中暴露的 Google Geo location Api 密钥