https://s3.amazonaws.com/a.storyblok.com/f/270183/10153/433af2b1cb/blog_python-aws-lambda_opentok_1200x600.png

Cómo crear una sesión de Video en AWS Lambda con Python

Publicado el May 5, 2021

Tiempo de lectura: 8 minutos

En este artículo, implementará un Video de Vonage OpenTok session client como microservicio en AWS Lambdaescrito en Python. Lo harás utilizando esta aplicación Python disponible en Github que utiliza Flasky sin servidor.

Esta aplicación de ejemplo proporciona los primeros pasos necesarios para utilizar la API de Video de Vonage. Este microservicio permite a las Applications solicitar una sesión de videochat. Al obtener un sessiontambién se obtiene un session_id para permitir una token solicitud. El método /token de esta aplicación lo permite.

Requisitos previos

Instrucciones de instalación

Clonar el archivo nexmo-community/opentok-session-lambda-python de GitHub y navega hasta el directorio recién creado para continuar.

Medio ambiente

Cambie el nombre de .env.default a .env y añada valores a OPENTOK_API_KEY y OPENTOK_API_SECRET proporcionados por tu cuenta de API de Video de Vonage.

Utilización

Para empezar, cree un virtualenv dentro de la raíz del proyecto para contener el proyecto a medida que avanza. A continuación, activarlo, de la siguiente manera:

virtualenv venv --python=python3 source venv/bin/activate

A continuación, inicialice npm y siga las instrucciones para configurarlo. En la mayoría de los casos, debes seleccionar los valores predeterminados, a menos que desees cambiar alguno de ellos. Además, utilice npm para instalar algunas dependencias necesarias para el desarrollo para habilitar Serverless y Lambda para trabajar con la Flask aplicación. Utilice los siguientes comandos para completar este paso.

npm init npm install --save-dev serverless-wsgi serverless-python-requirements

Ahora deberías usar pip para instalar las dependencias necesarias de Python desde el directorio requirements.txt incluido en el código clonado.

pip install -r requirements.txt

Running Local

Con la virtualenv configurado, puedes ejecutar la aplicación localmente y probar las cosas antes de implementar en AWS Lambda. Puedes servirla con el siguiente comando:

sls wsgi serve

Por defecto, la ejecución local en su sistema sirve la aplicación en http://localhost:5000. Si pulsa Ctrl+c la cierra al terminar.

Despliegue en Lambda

Con todo lo anterior terminado con éxito, puede utilizar Serverless para desplegar la aplicación en AWS Lambda.

sls deploy

Tras la implantación, recibirá la URL necesaria para acceder a la aplicación a través del API Gateway. Anote la URL para el siguiente paso.

IMPORTANTE: La aplicación de ejemplo, tal cual, no realiza ninguna autenticación ni verificación. Cualquiera con acceso a la URL provista luego de la implementación puede acceder a ella. Hacerlo podría causar cargos inesperados en tu Account de Vonage. Por lo tanto, protege la aplicación si piensas dejarla activa.

Puntos finales disponibles

Hay 4 puntos finales de URL disponibles con este cliente:

  • Solicitud GET a /

    • No realiza ninguna acción, pero proporciona una forma rápida de probar

  • Solicitud POST a /session

    • /session proporciona el ID de sesión.

    • Incluyendo un formulario POST como el siguiente, puede cambiar los parámetros por defecto utilizados para crear una sesión: (los valores por defecto se muestran como si dejara el cuerpo vacío).

location=None, media_mode=relayed, archive_mode=manual

Nota: Véase la documentación de modo_medio y modo_archivo opciones.

NOTA: La localización espera una dirección IP.

  • /token/<session_id>

    • A continuación, puede solicitar una nueva sesión pasando el atributo <session_id> al endpoint /token endpoint.

Ejemplos:

Vaya a la URL proporcionada por el proceso de despliegue. A continuación se muestran algunos ejemplos del aspecto que pueden tener las solicitudes: (Su URL variará.)

GET https://7ulasfasdasdfw4.execute-api.us-east-1.amazonaws.com/dev/

El punto final / devuelve el mensaje genérico.

POST https://7ulasfasdasdfw4.execute-api.us-east-1.amazonaws.com/dev/session

El punto final session devolverá el session_id necesario para solicitar un token.

https://7ulasfasdasdfw4.execute-api.us-east-1.amazonaws.com/dev/token/9807adsf0sae89fu0se87r0sf

El punto final token devolverá la información token necesario para interactuar con OpenTok.

Desactivar Virtualenv

Para salir del virtualenvpuede desactivarlo cuando lo desee.

deactivate

Próximos pasos

Si tiene alguna pregunta o se encuentra con problemas, puede ponerse en contacto con @VonageDev en Twitter o consultar en la Comunidad de desarrolladores de Vonage en Slack. Buena suerte.

Compartir:

https://a.storyblok.com/f/270183/384x384/b3c7ffaf85/adamculp.png
Adam CulpAntiguos alumnos de Vonage

Adam es un desarrollador y consultor al que le gusta correr a toda velocidad, bloguear y ayudar a otros a domar la tecnología para conseguir cosas increíbles, con un deseo insaciable de servir de mentor y ayudar.