Qué necesitará para este tutorial
1. Configure una máquina de cliente OpenWhisk
2. Instale, configure y pruebe el cliente OpenWhisk
3. Subir un archivo de acción al servicio OpenWhisk en IBM Cloud
4. Pruebe la acción
Presentando openWhiskLib.py
5. Use openWhiskLib.py para crear acciones
6. Use openWhiskLib.py par invocar acciones
Casos de prueba y código de muestra
Presentando openWhiskLib.py, una diminuta nueva biblioteca Python para simplificar el uso de esta plataforma de cómputo sin servidor
IBM OpenWhisk es un servicio sencillo de código abierto que rápidamente lanza y ejecuta tidbits de código bajo demanda, en respuesta a una solicitud REST entrante. Vea la oferta beta de OpenWhisk en IBM Cloud. En este tutorial primero le mostraré cómo emitir comandos OpenWhisk manualmente. A continuación les mostraré cómo utilizar una biblioteca Python que facilita aún más la emisión de esos comandos.
Yo estaba ansioso por probar OpenWhisk, porque había oído que ofrece dos grandes ventajas: el suministro es realmente fácil y la facturación puede ser más barata que la ejecución de aplicaciones en una máquina fija. Después de que descubrí cómo usar OpenWhisk, creé y publiqué una diminuta biblioteca Python, openWhiskLib.py, para simplificar estas tareas (se muestra en la figura de la izquierda de abajo):
Suministro de acciones de JavaScript en OpenWhisk
Invoque las acciones
Pruebe OpenWhisk en IBM CloudObtenga openWhiskLib.py en GitHub
Aprenda, desarrolle, conecte.
Si todavía no está creando y ejecutando aplicaciones en IBM Cloud, pruébelo. Sus primeros 30 días son gratis, y más allá de eso, muchos servicios de IBM Cloud tienen planes gratuitos.
O, aún mejor, con una membresía de developerWorks Premium , obtiene gratis un año de IBM Cloud y 240 USD en créditos para la nube. Aprenda más acerca de cómo developerWorks Premium le puede dar un impulso para desarrollar en, o migrarse a, la nube.
Una cuenta de IBM Cloud. (Regístrese para su cuenta de pruebas gratuita o inicie sesión en IBM Cloud si ya tiene una cuenta.
Una VM con Ubuntu Linux 14.04. (Los pasos en este tutorial se refieren a una máquina Ubuntu Linux, pero otros sistemas operativos deben ser similares).
Configure una máquina de cliente OpenWhisk
Arranque una VM con Ubuntu Linux 14.04, inicie sesión como raíz, y aplique sus últimas actualizaciones:
obtenga la aplicación y actualice; obtenga la aplicación y actualice dist
Ahora puede usar esta máquina para cargar la aplicación "Hello world" a OpenWhisk tal como se describe en el paso 3 a continuación.
Instale, configure y pruebe el cliente OpenWhisk
Inicie sesión en IBM Cloud y acceda a OpenWhisk CLI. En su pantalla, ahora puede ver tres pasos, con parámetros personalizados para su cuenta IBM Cloud.
Realice los tres pasos en su máquina de cliente OpenWhisk:
Paso 1: Descargue OpenWhisk CLI y el archivo y adicione el ejecutable wsk a su ruta.
Paso 2: wsk property set...
Este comando escribe sus credenciales de IBM Cloud en archivo oculto en su máquina de cliente OpenWhisk. Para mí, ha creado este archivo oculto en mi directorio de inicio: .wskprops
Sugerencia: Guarde este archivo oculto. Vamos a utilizar algunos de los parámetros más adelante en este tutorial para las variables de entorno de la biblioteca de Python.
Paso 3: wsk action invoke...
Este comando se comunica con el servicio en IBM Cloud OpenWhisk para confirmar que sus credenciales funcionan. Después de unos segundos, wsk responde con una estructura JSON que contiene la palabra 'hello'. ¡Éxito!
Como diversión, cambie la cadena de mensaje de 'hello' a otra cosa y repita. La respuesta debe contener su nueva cadena de caracteres.
Hint: Modalidad Verbose
Si añade -v a cualquier wsk , mostrará la solicitud que envió al servidor HTTP. Esta funcionalidad me pareció muy útil para la depuración y para descubrir los parámetros necesarios para emitir las solicitudes REST. (Hay más detalles en esta Intercambio de Desbordamiento de Pila.)
Subir un archivo de acción al servicio OpenWhisk en IBM Cloud
Un sencillo fragmento de JavaScript para un archivo de acción está disponible en el tutorial de OpenWhisk en IBM Cloud.
Emita los wsk mostrados en el tutorial para crear, usar y suprimir el archivo de acción.
Repita los comandos con la opción -v verbose. Esto muestra la solicitud y los parámetros REST necesarios para ejecutar los comandos desde la línea de comandos.
Cree un archivo llamado 'hello.js' en su máquina de cliente OpenWhisk:
Ahora emita el comando wsk para subir hello.js. Aquí está mi comando (con mi nombre de usuario y credenciales ofuscados para obtener privacidad):
El Auth string en el encabezado de solicitud es diferente de la cadena de caracteres que se almacena en .wskprops. (Creo que está codificado con base 64).
El contenido de hello.js está incluido en el cuerpo de la solicitud en código variable como una cadena de caracteres larga.
Pruebe la acción
Después de crear la acción, pruébela emitiendo la acción wsk de invocación comando:
Ahora que ha aprendido a emitir todos los comandos manualmente, intente usar el nuevo script de Python para simplificar la emisión de los comandos.
Hasta la fecha, estas funciones han sido desarrolladas y probadas:
La openWhiskLib está disponible públicamente en GitHub.
Para usar openWhiskLib en su máquina, primero defina tres variables de entorno:
Obtenga este valor de su archivo .wskprops
Obtenga este valor emitiendo cualquier comando verbose wsk, como:
Por ejemplo, en su laptop Linux, usted puede configurar valores como lo hice (mis datos personales están oscurecidos para obtener privacidad):
Por conveniencia, usted puede definir valores en un script bash. Usted puede copiar y editar esta muestra en el proyecto GitHub: bin/setenv.sh
Use openWhiskLib.py para crear acciones
Para crear una acción, primero cree un archivo en su máquina que contenga un fragmento del código JavaScript que desea cargar y ejecutar. Por ejemplo, podría usar un código similar a la misma muestra que enumeré aneriormente: goodday.js:
Posteriormente invoque la función openWhiskLib createAction() desde su intérprete Python. Por ejemplo:
Defina las variables del entorno (con un punto):
Invoque Python
Use openWhiskLib.py par invocar acciones
Y por último, invoque el fragmento de código desde OpenWhisk en IBM Cloud usando openWhiskLib.py:
Los casos de prueba sencillos en el proyecto openWhiskLib en GitHub (tests/openwhisklib.tests.py) demuestran cada función en openWhiskLib.py, mostrando las entradas y las salidas. Puede usarlos para verificar que OpenWhisk funcione con sus credenciales.
Este tutorial le ha brindado una descripción de alto nivel de OpenWhisk, así como muestras para cargar y ejecutar su propio código en IBM Cloud. También ha visto una nueva biblioteca Python para simplificar el acceso y desplegar aplicaciones hacia OpenWhisk. Espero que pueda usar y aprovechar openWhiskLib.py. Tómelo, mejórelo, transfórmelo y hágalo suyo.
Construya una aplicación OpenWhisk de contacto con el usuario con IBM Cloud y Node.js
Free IBM Cloud trial
IBM OpenWhisk on IBM Cloud
ArticleID=1041701
ArticleTitle=Una forma sencilla de suministrar e invocar acciones en IBM OpenWhisk