红宝石使 CloudFront 分发失效?



我已经尝试了在Google和Stackoverflow上可以找到的所有gem,它们似乎都已经过时且未维护,那么使Ruby中的CloudFront发行版无效的最简单方法是什么?

以下是我们最终用来使整个缓存失效的小脚本:

require 'aws-sdk-cloudfront'
cf = Aws::CloudFront::Client.new(
access_key_id: ENV['FOG_AWS_ACCESS_KEY_ID'],
secret_access_key: ENV['FOG_AWS_SECRET_ACCESS_KEY'],
region: ENV['FOG_REGION']
)
resp = cf.create_invalidation({
distribution_id: ENV['FOG_DISTRIBUTION_ID'], # required
invalidation_batch: { # required
paths: { # required
quantity: 1, # required
items: ["/*"],
},
caller_reference: DateTime.now.to_s, # required
},
})
if resp.is_a?(Seahorse::Client::Response)
puts "Invalidation #{resp.invalidation.id} has been created. Please wait about 60 seconds for it to finish."
else
puts "ERROR"
end 

> https://rubygems.org/gems/aws-sdk

特别是云前端模块:

https://docs.aws.amazon.com/sdkforruby/api/Aws/CloudFront.html

这应该可以让您完全 CLI 控制您的 cloudfront 资源,前提是您设置了正确的 IAM 角色等。

最新更新