我想将安全参数传递给shinyapps.io部署,以便我的应用程序可以通过以下方式获取它们:
Sys.getenv('PASSWORD_X')
我deployApp在rsconnect包中找不到任何功能.
Tec*_*e01 13
您可以使用Renviron.site或.Renviron将私有数据存储和访问闪亮的应用程序.(请参阅此处了解Hadley Wickham的建议和说明 - 参见下面的示例).
如果您的程序包支持基于API密钥或令牌的身份验证工作流,请鼓励用户将其存储在环境变量中.我们使用github R包来说明这一点,它包装了Github v3 API.将此模板定制到您的API +包并包含在README.md或插图中.
创建一个这样的行:
GITHUB_PAT = blahblahblahblahblahblah
名称会GITHUB_PAT提醒您这是哪个API,并且blahblahblahblahblahblah是从剪贴板粘贴的个人访问令牌.
确保文件中的最后一行是空的(如果不是R将无声地加载文件.如果您使用的是显示行号的编辑器,则应该有两行,其中第二行为空.
使用文件名.Renviron保存在主目录中.如果被质疑,是的,你确实想要使用以点开头的文件名.
重新启动R. .Renviron仅在R会话开始时处理.
使用Sys.getenv()访问您的令牌.例如,以下是如何将GITHUB_PAT与github包一起使用:
library(github)
ctx <- create.github.context(access_token = Sys.getenv("GITHUB_PAT"))
# ... proceed to use other package functions to open issues, etc.
Run Code Online (Sandbox Code Playgroud)FAQ:为什么要通过.Renviron而不是.bash_profile或.bashrc来定义这个环境变量?
因为有很多OS的组合和运行R的方式,其中.Renviron方法"正常工作"而bash的东西没有.当R是Emacs或RStudio的子进程时,你不能总是指望传递给R的环境变量.将它们放在一个特定于R的启动文件中并为自己省去一些悲伤.
| 归档时间: |
|
| 查看次数: |
3284 次 |
| 最近记录: |