docker - 使用 Rust 访问 google cloud run (docker) 中的环境变量的适当方法

标签 docker rust macros google-cloud-run

我用 Rust 构建了一个 API,并通过 Google Cloud Run 部署它。在我的 API 中,我访问存储为环境变量的远程数据库的 URI。

当我在本地计算机上运行该程序时,可以使用 env!("MONGODB_URI_2") 访问环境变量。

当我使用标记 --set-env-vars "MONGODB_URI_2", "theurigoeshere" 将程序部署到 gcloud 时,相同的 env 宏找不到变量并出现 panic 。

编辑: 我尝试在发布此内容之前删除键中的下划线并将文本全部小写,但没有帮助..

最佳答案

看起来像--set-env-vars期望 = 作为键和值之间的分隔符,而 , 分隔多个变量:

gcloud run deploy --set-env-vars MONGODB_URI_2=theurigoeshere

另请注意 env!宏为您提供编译时环境变量,因此如果您想要运行时环境变量,请使用 std::env::var 。看起来编译时环境变量在这里可以工作,但这是一个常见的错误,因此记住这一点很重要。

关于docker - 使用 Rust 访问 google cloud run (docker) 中的环境变量的适当方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75881894/

相关文章:

scala - Scala 宏的位置如何?

macros - 如何消除宏中的虚假警告 "value assigned is never read"?

docker - Github : Building a docker image in a repository with multiple Dockerfile

docker - Tensorflow-serving docker 容器添加了 GPU 设备,但 GPU 的利用率为 0%

performance - 为什么我的 for 循环代码比迭代器慢?

rust - 如何推断函数的返回类型?

c++ - 包含函数的 C 宏

docker - -v从docker容器中删除了所有数据

docker-compose 使用指定的网络名称运行

pointers - 何时使用 Box 而不是引用?