google-api - 从后端使 Google Cloud CDN 缓存无效

标签 google-api invalidation google-cloud-cdn

经过几天的研究和阅读文档,我几乎可以肯定这几乎是不可能的,但我仍然想问:

目标是在不使用该 CDN 的第 3 方后端按需(由于 header 更改)使 GCloud CDN 中的所有缓存内容无效。使用 gsuite它可以通过使用以下命令来实现:

gcloud compute url-maps invalidate-cdn-cache web --path '/*' --async

但问题是这个命令要求我们使用客户端的凭据通过浏览器登录谷歌帐户,这使得它完全没有值(value)。

可悲的是,Google 似乎为其其他服务提供了非常丰富的 API,但对于 CDN 却没有 API :(

这个想法是接受用户的凭据并使用它们使缓存无效。甚至有可能吗?

最佳答案

所以,我错了 impossibility .我找到了相应的 REST API 方法( https://cloud.google.com/compute/docs/reference/rest/v1/urlMaps/invalidateCache ):

POST https://www.googleapis.com/compute/v1/projects/{project}/global/urlMaps/{resourceId}/invalidateCache

这是使用 official gem 使用它的示例 Ruby 代码。 :
require 'google/apis/compute_v1'

service = Google::Apis::ComputeV1::ComputeService.new
service.authorization =
  Google::Auth::ServiceAccountCredentials
    .make_creds(
      json_key_io: File.open('/path/to/credentials.json'),
      scope:       [Google::Apis::ComputeV1::AUTH_COMPUTE]
    )
service.invalidate_url_map_cache(
   'some-gcloud-project-id',
   'some-url-map',
   nil,
   request_id: SecureRandom.uuid
)

关于google-api - 从后端使 Google Cloud CDN 缓存无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49715710/

相关文章:

google-api - 使用 Google 文档列表数据 API v3.0 重命名文件夹/集合

node.js - googleapis 在 apirequest.js 中抛出 'undefined' 错误

google-cloud-platform - 谷歌云 CDN 卡在 0% 缓存命中率

c++ - 对成员的 const 引用是否安全

firebase - 我可以为 Google Cloud CDN URL 实现 Firebase 授权吗?

google-cloud-storage - 适用于 Google Cloud Storage Bucket 的 Cloudflare CDN

ios - 使用用户的用户名和密码访问 google api

go - 如何让其他人使用 googleapi 阅读和编辑 google 表格(未与他们共享),而无需他们下载凭据?

vector - 在迭代向量时推送到向量时,Rust 会保护我免受迭代器失效吗?

java - 是在声明 session 的 servlet 中使 session 无效还是在使用其值的 jsp 页面中使 session 无效更好?