r - example - tags$style shiny
Cómo pasar variables de entorno a shinyapps (1)
Quiero pasar parámetros seguros a la implementación de shinyapps.io para que mi aplicación pueda obtenerlos a través de:
Sys.getenv(''PASSWORD_X'')
No puedo encontrar nada para esto en la función deployApp
en el paquete rsconnect
.
Puede usar Renviron.site o .Renviron para almacenar y acceder a datos privados en su aplicación brillante. ( Consulte aquí las recomendaciones e instrucciones de Hadley Wickham, consulte el ejemplo a continuación ).
Solución:
Almacenamiento de claves de autenticación de API / Tokens ( Atribución: Hadley Wickham )
Si su paquete admite un flujo de trabajo de autenticación basado en una clave API o un token, aliente a los usuarios a almacenarlo en una variable de entorno. Ilustramos esto utilizando el paquete github R, que envuelve la API de Github v3. Adapte esta plantilla a su paquete API + e inclúyala en README.md o en una viñeta.
- Cree un token de acceso personal en el área de tokens de acceso personal de su configuración personal de GitHub. Copia token al portapapeles.
- Identifique su directorio de inicio. ¿No es seguro? Ingrese normalizePath ("~ /") en la consola R.
- Crea un nuevo archivo de texto. Si está en RStudio, haga Archivo> Archivo Nuevo> Archivo de texto.
Crea una línea como esta:
GITHUB_PAT = blahblahblahblahblahblahblah
donde el nombre GITHUB_PAT
te recuerda para qué API es y blahblahblahblahblahblah
es tu token de acceso personal, pegado desde el portapapeles.
Asegúrese de que la última línea del archivo esté vacía (si no lo está, R no podrá cargar el archivo de manera silenciosa. Si está utilizando un editor que muestra números de línea, debe haber dos líneas, donde la segunda está vacía).
Guarde en su directorio personal con el nombre de archivo .Renviron. Si se le pregunta, SÍ, desea utilizar un nombre de archivo que comience con un punto.
- Tenga en cuenta que, por defecto, los archivos de puntos suelen estar ocultos. Pero dentro de RStudio, el explorador de archivos hará que .Renviron sea visible y, por lo tanto, fácil de editar en el futuro.
Reinicio R. .Renviron se procesa solo al inicio de una sesión R.
Use Sys.getenv () para acceder a su token. Por ejemplo, aquí le explicamos cómo usar su GITHUB_PAT con el paquete github:
library(github) ctx <- create.github.context(access_token = Sys.getenv("GITHUB_PAT")) # ... proceed to use other package functions to open issues, etc.
Preguntas frecuentes: ¿Por qué definir esta variable de entorno a través de .Renviron en lugar de en .bash_profile o .bashrc?
Porque hay muchas combinaciones de sistemas operativos y formas de ejecutar R donde el enfoque .Renviron "simplemente funciona" y las cosas de bash no. Cuando R es un proceso secundario de, digamos, Emacs o RStudio, no siempre se puede contar con que las variables de entorno se transfieran a R. Póngalas en un archivo de inicio específico de R y ahórrese un poco de dolor.