如何解决如何将Google Pub / Sub服务密钥文件路径放置在配置文件中而不是环境变量中?
我正在浏览Google Cloud Pub / Sub的文档,发现密钥文件必须存储在环境变量中。 https://cloud.google.com/pubsub/docs/quickstart-client-libraries我存储是想将其存储在config.js文件中,这样我在云运行上部署它时就不必再使用环境变量了。我该怎么办?
解决方法
我的答案并不完全是您所期望的!实际上,如果您在Cloud Run上运行容器,则不需要服务帐户密钥文件。
- 首先,它不安全
- 然后,您几乎可以使用ADC (Application Default Credential)
但是有一些限制。 I wrote an article on this。另一篇文章正在审查中,以再次缩小这些限制。
因此,当您部署Cloud Run修订版时,请使用config.js
参数指定要使用的服务帐户电子邮件,仅此而已!
因此,要真正回答您的问题,如果您在const {auth} = require('google-auth-library');
const keys = JSON.parse("YOUR CONTENT");
const client = auth.fromJSON(keys);
中设置了文件,则可以手动加载文件内容并将其传递给lib
std::variant
,
如果您在本地Windows计算机上运行,则可以转到环境变量并创建名为-GOOGLE_APPLICATION_CREDENTIALS的环境变量,并设置服务帐户密钥json文件的完整路径,例如-C:/keyfolder/sakey.json。 或者,您可以使用链接示例中给出的命令行。
要获取服务帐户密钥文件,可以转到GCP控制台中的服务帐户并创建服务帐户。如果您已经拥有服务帐户,只需在“服务帐户”的“操作”列中单击“ ...”即可下载密钥json文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。