如何从云 运行 上的 Angular 访问云存储文件

How to Access Cloud Storage files from Angular on Cloud Run

我正在使用 nginx 在云 运行 上部署一个 Angular 应用程序。应用程序需要访问不是 public 的 Cloud Storage 存储桶。当我添加 @google-cloud/storage npm 包时,它不能很好地与 ng build 一起使用,所以我不能使用客户端库。

这感觉应该是一个已解决的问题,但我似乎无法在文档中找到任何相关内容。使用任何 JSON API 端点只会给出 403 forbidden。

感谢任何帮助,因为我力不从心。

即使您从云端 运行(通过 NGINX)提供 Angular 应用程序,angular 应用程序也能在用户的本地浏览器上有效地 运行,而不是在云端 运行。因此,访问是从用户浏览器生成的。

实现这一目标的最佳方法是创建一个后端来验证用户,然后提供文件(或生成签名 URL)。如果文件访问受限,则此身份验证集是强制性的。否则你可以设置 bucket public 并忘记身份验证部分,直接访问 GCS 中的文件。