【发布时间】:2020-02-23 21:41:44
【问题描述】:
我正在构建一个使用谷歌云 API(例如谷歌云存储)的应用。为了使用 api 对应用程序进行身份验证,我需要将包含身份验证凭据的 keyfile.json 文件的路径传递给 GCloud Api 初始化脚本。
IE。
const storage = new Storage({
keyFilename: path.join(__dirname, '../../keyfile.json'),
});
我将keyfile.json 放入NestJS src 文件夹,但是当我构建应用程序时,该文件没有复制到dist。
在 NestJS 中处理静态文件复制到 dist 的推荐方法是什么?
【问题讨论】:
-
有什么理由没有
root/static或类似的文件?这样src和dist的路径是一样的吗? -
哦...对。完全忘记了静态文件夹。谢谢。我认为现在就可以了
-
或者,您是否排除了使用应用程序(运行时)的服务帐户和应用程序默认凭据?这样可以节省在您的来源旁边分发密钥。
-
@DazWilkin,不确定我是否理解。你能再解释一下你的想法吗?我确实认为我现在的做法并不是真正的方法
-
GCP 上的每个计算运行时都将代码作为服务帐户运行。您的代码可以(非常容易地)使用 App Default Credentials 作为此帐户进行身份验证。然后,只要该账户具有适当的 IAM 权限,您的代码就会被授权进行方法调用。请参阅此链接:cloud.google.com/docs/authentication/production 在所有这些情况下,如果您的代码在 (App|Compute|Kubernetes|Functions) 下运行,它将自动通过服务帐户进行身份验证。
标签: google-cloud-platform static google-cloud-storage gcloud nestjs