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

Tad*_*aff 2 macros rust docker google-cloud-run

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

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

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

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

dre*_*ato 5

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

gcloud run deploy --set-env-vars MONGODB_URI_2=theurigoeshere
Run Code Online (Sandbox Code Playgroud)

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