[英]How to read all Linux environment variables into R in a Docker container?
我正在尝试使 R-Shiny Web 应用程序安全地从代码中获取我的所有数据库凭据。 我将 Azure Webapps 用于容器,在运行时我通过 Azure Keyvault 安全地设置环境变量。
但是,当我使用 Sys.getenv()
Sys.getenv("AzureSQL_Prod")
...没有出现指定的环境变量。 那么问题是为什么? 以及如何让 R 了解我需要访问此环境变量?
R 环境变量是从 .Renviron 文件生成的 - 有关更多详细信息,请参阅此 Rstudio 链接( https://support.rstudio.com/hc/en-us/articles/360047157094-Managing-R-with-Rprofile-Renviron-Rprofile -site-Renviron-site-rsession-conf-and-repos-conf )。
当您调用Sys.getenv()
时,R 进程会搜索 R 环境变量,而不是系统环境变量。
解决此问题的一种方法是创建一个.Renviron
文件 - 有关详细信息,请参阅上面的链接。
另一种方法是从 R 代码中显式检索系统环境变量。 我的方法如下:
system("printenv MY_ENV_VARIABLE", intern = TRUE)
这应该输出与您的系统变量对应的字符串。 intern = TRUE
允许您将输出保存为 R 环境中的变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.