在使用 AWS CloudFront 服务时,通过 AWS CLI(Command Line Interface)可以方便地管理和更新分发。下面是一份简单的教程,演示如何获取所有分发的 ID,以及如何获取特定分发的 ETag 和对应域名,最后如何更新分发的配置。
获取全部分发的 ID
首先,我们使用以下 AWS CLI 命令获取所有 CloudFront 分发的 ID:
aws cloudfront list-distributions --query "DistributionList.Items[*].{id:Id,origin:Origins.Items[0].Id}[*].id" --output text
这个命令使用 JMESPath 查询语法,提取每个分发的 ID,并以纯文本格式输出。执行此命令后,你将看到列出的 CloudFront 分发的 ID,例如:E1BH4AU5RDJXHH E2T2SYRWSLZXIH
获取 ETag 和对应域名
接下来,我们可以使用以下命令获取特定 CloudFront 分发的 ETag 和对应的域名:
aws cloudfront get-distribution-config --id E123456
执行此命令后,你将获得包含 ETag 和分发配置信息的 JSON 输出。例如:
{ "ETag": "E36GUS6NLWLT5J", "DistributionConfig": { "CallerReference": "a53fc415-6e92-4cec-ab02-e9f6298969d5", "Aliases": { // 其他配置信息... } } }
在这个输出中,”ETag” 字段即为我们所需的 ETag。
获取更新的 JSON 配置
如果你需要更新特定 CloudFront 分发的配置,首先获取当前配置并将其保存为 JSON 文件,可以使用以下命令:
aws cloudfront get-distribution-config --id E19QIR6KW8XWHH | jq '. | .DistributionConfig' > /tmp/disable-distribution-E19QIR6KW8XWHH
这个命令使用 jq
工具从原始输出中提取分发配置信息,并将其保存到指定的文件中。
更新分发的配置
最后,当你对配置文件进行了修改并准备好更新分发时,使用以下命令进行更新
aws cloudfront update-distribution --id E19QIR6KW8XWHH --if-match EA4P4Q04QJ1KD --distribution-config file:///tmp/disable-distribution-E19QIR6KW8XWHH
请确保将 E19QIR6KW8XWHH
替换为你要更新的分发的 ID,EA4P4Q04QJ1KD
替换为分发的当前 ETag,以及 /tmp/disable-distribution-E19QIR6KW8XWHH
替换为保存分发配置的文件路径。
这样,你就成功地更新了特定 CloudFront 分发的配置。
请记得根据实际需求调整命令中的参数,并确保你具有足够的权限执行这些操作。