3 pasos para convertir un código R en una API

Adrian Gonzalez

Uno de los mayores atractivos de los Robots Slack es que sus aplicaciones complementarias pueden hacer de todo, desde responder preguntas sobre análisis de negocios hasta actualizaciones de proyectos de herramientas.

CIO

Aunque hay docenas de robots Slack preconfigurados de terceros comerciales y desarrolladores de código abierto, no es difícil codificar los propios.

Ya hay tutoriales sobre cómo hacer esto en PHP y Python. Sin embargo, para no perder algunas de las funciones en R que importan fácilmente datos sobre finanzas, información meteorológica, información gubernamental y mucho más,  se debe tomar en cuenta estos tres pasos:

1. Encuentre precios de las acciones con R:  

Conseguir un precio actual en Internet es ridículamente fácil. Para instalar el paquete de quantmod se utiliza  install.packages y luego se vuelve a ejecutar quantmod::getQuote. Por ejemplo, quantmod::getQuote. Los resultados vienen atrás como una trama de datos R.

Es preferible convertir esto en una respuesta de texto por lo que es más fácil para el usuario ver el precio más reciente y el cambio. El primer elemento de la trama de datos de resultados es el tiempo del precio de las acciones que se informa; el segundo elemento es el mayor precio disponible reciente.

Lea también: Panamá gana premio con proyecto de robótica en educación

Junto con la devolución del precio, lo que probablemente desee añadir un poco de comprobación de errores por lo que hay una respuesta legible en caso de un precio no está disponible. Después hay que activar esta función en algo que otro servicio como Slack pueda realizar consultas, en otras palabras, una API que este disponible a través de URL.

2)Establecer un API en R: 

Exitenh en el código R ejecutables desde un URL, como el uso del FastRWeb  o en ejecutables  R a través de PHP y scripts de shell. Sin embargo, no son sencillos. El paquete de R fontanero, puede convertir cualquier función R en un API. Fontanero fue creado por Jeff Allen, un ingeniero de Software Estudio y la cabeza de una startup llamada  Trestle Tecnology, Fontanero es una manera muy fácil y elegante para crear una API con R.

Es sencillo de configurar localmente, solo se instala el paquete con install.packages(“plumber”), y luego se agrega el código siguiente en la línea directamente sobre el inicio de su función: #* @get /stockquote.

Un segundo archivo R debe contener código para poner en marcha el servidor de fontanero y que además, ejecute el archivo stockfunction.R (o lo que se llama el archivo con la función que desea API-ize). Este segundo archivo se carga a la biblioteca fontanero, fontanero crea un objeto a partir del código stockfunction.R con la función de plomada (), y establece el puerto que el servidor va a escuchar. Ese código es el siguiente:

Si se ejecuta todo el código en este segundo archivo, llamado myserver.R, se debe ir al URL http://localhost:8000/stockquote?thesymbol=MSFT en un navegador, para ver el precio de las acciones en su navegador.

3. Alojar la API R remotamente: 

Existen diversas maneras para albergar la API,  esto porque hay para cualquier aplicación basada en la web: Se agregar a un servidor interno existente, subirlo a un servidor externo de su organización, es necesario emplear un servicio en la nube con o sin una máquina virtual, o utilizar un tradicional alojamiento web. 

No se puede cubrir a todos, pero los fundamentos son bastante similares (a menos que se esté usando un servicio de alojamiento web en la que no se tiene acceso de root a la máquina; en ese caso, pueden ser necesarios ajustes adicionales). Se debe tomar en cuenta que si desea implementar esto como una aplicación acoplable, hay una imagen ajustable para el paquete R fontanero.

Más información relevante: Servicio de autogestión de órdenes en comida rápida

El iIngeniero de software y consultor R Dean Attali añadió, excelentes instrucciones paso a paso sobre cómo configurar R en el Ocean digital. Se esboza más de lo que necesita para este proyecto, ya que su objetivo es poner en marcha con el marco R Brillante Web (no es necesario para este proyecto).

 Ls pasos de Attali del 1 al 6:

1 – Registrarse con digitalocean

2 – Crear un nuevo gotita

3- Ingresar a su nuevo servidor

4- Establecer algunos conceptos básicos de seguridad y autenticación

5- Acceder a su gota desde un navegador

6- Instalar R y paquetes necesarios – no se olvide de instalar plomero y quantmod, pero no es necesario devtools o shinyjs, que aparecen en las instrucciones del Attali, a menos que ellos quieren

Con las instrucciones de Allen para registrar el archivo-myserver.R y que corra con PM2 usando pm2 start –interpreter=”Rscript” /path/to/run-myserver.Ry pm2 save, el servidor debe seguir funcionando. Hay que tener pendiente que no se puede ejecutar manualmente el archivo myserver.R con Rscript myserver.Rmás si PM2 se está ejecutando el servidor, ya que sólo un servicio puede ejecutarse en el puerto a la vez.

Estos son los pasos para convertir algo de código R en una API a disposición del público. Hay sólo unos pocos más ajustes para que funcione como un bot Slack , además de una manera de asegurarse de que sólo el canal de Slack lo utilice. 

 

 

Este artículo está clasificado como: , ,

Comentarios

Para poder comentar debe iniciar su sesión:

INGRESAR