【发布时间】:2020-08-11 15:51:32
【问题描述】:
我有一个 Shiny 应用程序,在本地和容器化时都可以按预期工作。该应用程序接收一些用户输入,查询数据库,并返回一个包含.pdf 和.xlsx 文件的.zip。由于某些原因,我将把它部署到运行 Shiny Server 的服务器上。运行应用程序时,我收到一个错误,指出处理 [filename].knit.md 是不可能的,因为“权限被拒绝:”
在深入了解为什么会出现这种情况后,我认为这是用户 shiny(在 shiny-server.conf 中运行应用程序)没有访问目录/文件的权限的功能。我遇到的麻烦是诊断此错误,因为临时目录和文件似乎不存在于本地目录结构中的任何位置。
在server.R 中,我调用tempfile() 并将该临时文件用作output_file 在render() 命令中的输入。我知道tempfile() 是每个会话临时目录的子目录,那么如何确保用户shiny 可以访问在应用运行期间创建的任何tempdir()?
此外,我是否正确假设上图中的临时目录在应用程序出错时会自动删除?我在服务器的 /tmp 树中的任何地方都找不到该目录。
【问题讨论】:
标签: r shiny shiny-server