google-cloud-platform - 如何从我的后端服务器远程运行 gcloud SDK 命令以使 Cloud CDN 缓存无效?
问题描述
我需要运行特定的gcloud
SDK 命令。我需要在我的express
服务器上远程完成。这可能吗?
该命令与 Cloud CDN 服务相关,该服务似乎无法npm package
轻松访问其 API。我注意到cloudbuild.yaml
您实际上可以gcloud
在构建过程中运行命令,例如:
cloudbuild.yaml
- name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
entrypoint: gcloud
args:
- "run"
- "deploy"
- "server"
然后我想,如果可以通过 运行gcloud
命令Cloud Build
,是否有某种方法可以创建基本上可以访问和触发gcloud
命令的“云脚本”?
这是我的环境和我想运行的:
- 托管在 Cloud Run 上的 Express 服务器
我想运行一个命令来清除 Cloud CDN 缓存,如下所示:
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
--path "/images/*"
似乎没有用于访问 Cloud CDN 服务的 Node.js 客户端 API。
解决方案
在这里,您有一个 REST POST 端点https://cloud.google.com/compute/docs/reference/rest/v1/urlMaps/invalidateCache
您几乎可以创建一个云函数或从其他地方调用它来使您的缓存无效。
使用 gcloud 命令,您可能必须在 Compute Engine 上创建 VM 并创建一些执行 gcloud 命令的端点,但我建议您使用 REST 端点,因为您可以从您使用的任何环境中调用它。
推荐阅读
- mysql - 如何实现 MySQL 启动事务和回滚
- android - FileObserver 只捕获删除事件
- r - R中的数据整理和创建时间线
- spring - Spring LockRegistryLeaderInitiator 获取领导角色
- heatmap - 将水平颜色条的大小与 Seaborn 中方形热图的宽度相匹配
- jhipster - jhipster:与 jhi-User 的 OneToOne-Relationship - 如何涉及 UserExtraRepository?
- javascript - 如何将一个画布的内容复制到另一个画布
- c# - 全局 KeyBoardHook 取消注册 KeyPress 事件
- vba - Internet Explorer VBA 自动化可在除 1 台计算机之外的所有计算机上运行
- c++ - C++ 创建具有可变项目数的结构的方法