【问题标题】:Google cloud function on top of google CDN谷歌CDN之上的谷歌云功能
【发布时间】:2018-12-11 13:18:34
【问题描述】:
我想使用谷歌云 CDN 为我的客户托管图像。我无法事先发现并上传所有图片,我的客户可能会请求尚未存储在 CDN 上的图片。
如何向谷歌云 CDN 添加代码,以便如果资产尚不存在,我可以在发送 HTTP 响应之前生成它,从而不返回 404?
我最好的选择是使用谷歌云功能,但这似乎是不可能的(我没有看到链接到谷歌云 CDN 的触发器)。
【问题讨论】:
标签:
google-cloud-platform
google-cloud-functions
google-cloud-cdn
【解决方案1】:
我认为 Google Cloud Functions 和 Google Cloud CDN 之间没有任何此类集成。
然而,Cloud Functions 和 Firebase Hosting 之间的集成正好适合您的用例类型。由于 Firebase 托管还使用边缘缓存的 CDN,因此结果将是相同的。
流程大致是:
- 客户端请求一个 URL。
- 请求到达最近的 CDN 边缘。
- 边缘没有 URL 数据,因此从源服务器请求它。
- 在源服务器上,您的 Cloud Functions 代码会生成一个响应,其中包含关于该响应有效时长的缓存标头。
- 响应存储在 CDN 边缘。
- 响应从 CDN 边缘发送到客户端。
以后在同一边缘上对同一 URL 的任何调用现在都将跳过步骤 3-5。
有关更多信息,请参阅Firebase Hosting documentation on connecting to Cloud Functions。