我用 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/