Сеансы Shiny Server R создают tempdir (), к которому у него нет прав доступа - PullRequest
2 голосов
/ 28 апреля 2020

У меня есть приложение Shiny, которое работает как положено как локально, так и в контейнерах. Приложение получает некоторый пользовательский ввод, запрашивает базу данных и возвращает .zip, содержащий файлы .pdf и .xlsx. По причинам, я буду развертывать его на сервере под управлением Shiny Server. При запуске приложения я получаю сообщение об ошибке, что обработка [filename].knit.md невозможна, так как «Отказано в доступе:»

enter image description here

После выяснения причин, по которым это может в таком случае, я думаю, что функция пользователя shiny (запускающего приложение в shiny-server.conf) не имеет прав доступа к файлу dir /. Проблема, с которой я столкнулся, это диагностика этой ошибки, потому что временный каталог и файл не существуют нигде в структуре локального каталога.

В server.R я вызываю tempfile() и использую этот временный файл в качестве ввода для output_file в команде render(). Я знаю, что tempfile() является подкаталогом временного каталога для сеанса, так как я могу гарантировать, что пользователь shiny может получить доступ к любому tempdir(), созданному во время работы приложения?

Далее, я правильно предполагаю, что временный каталог на изображении выше автоматически удаляется при выходе из приложения? Я не могу найти этот каталог в дереве /tmp сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...