https://d226lax1qjow5r.cloudfront.net/blog/blogposts/creating-a-video-session-in-aws-lambda-with-python/Blog_Python-AWS-Lambda_OpenTok_1200x600.png

Création d'une session Video dans AWS Lambda avec Python

Publié le May 5, 2021

Temps de lecture : 9 minutes

Dans cet article, vous allez déployer un Video Vonage OpenTok session client en tant que microservice sur AWS Lambdaécrit en Python. Vous le ferez en utilisant cette application Python disponible sur Github qui utilise Flasket Serverless.

Cet exemple d'application fournit les premières étapes nécessaires à l'utilisation de l Video API de Vonage. Ce microservice permet aux Applications de demander une session de chat vidéo. En obtenant une sessionvous obtenez également un session_id pour autoriser une token demande. La méthode /token correspondante dans cette application permet de le faire.

Conditions préalables

Instructions d'installation

Clonez le fichier nexmo-community/opentok-session-lambda-python depuis GitHub, et naviguez dans le répertoire nouvellement créé pour continuer.

Environnement

Renommer .env.default en .env et ajouter des valeurs à OPENTOK_API_KEY et OPENTOK_API_SECRET fournies par votre compte Video API de Vonage.

Utilisation

Pour commencer, créez un fichier virtualenv à la racine du projet pour contenir le projet au fur et à mesure que vous avancez. Activez-le ensuite comme suit :

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

Ensuite, initialisez npm et suivez les instructions pour le configurer. Dans la plupart des cas, vous devriez sélectionner les valeurs par défaut, à moins que vous ne souhaitiez les modifier. Utilisez également npm pour installer certaines dépendances nécessaires au développement afin d'activer Serverless et Lambda de travailler avec l'application Flask et de travailler avec l'application. Utilisez les commandes suivantes pour réaliser cette étape.

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

Vous devez maintenant utiliser pip pour installer les dépendances Python requises à partir du fichier requirements.txt inclus dans le code cloné.

pip install -r requirements.txt

Locaux de course à pied

Une fois l'application virtualenv configuré, vous pouvez exécuter l'application localement et tester les choses avant de la déployer sur AWS Lambda. Vous pouvez la servir avec la commande suivante :

sls wsgi serve

Par défaut, l'exécution locale sur votre système sert l'application à l'adresse http://localhost:5000. En appuyant sur Ctrl+c ferme l'application une fois que vous avez terminé.

Déployer vers Lambda

Une fois toutes les étapes ci-dessus terminées avec succès, vous pouvez utiliser la technologie Serverless pour déployer l'application sur AWS Lambda.

sls deploy

Après le déploiement, vous recevez l'URL nécessaire pour accéder à l'application via la passerelle API. Notez l'URL pour l'étape suivante.

IMPORTANT : L'application d'exemple, telle quelle, n'effectue aucune authentification ou vérification. Toute personne ayant accès à l'URL fournie après le déploiement peut y accéder. Cela pourrait entraîner des frais inattendus sur votre compte Vonage. Par conséquent, veuillez sécuriser l'application si vous avez l'intention de la laisser active.

Critères d'évaluation disponibles

Ce client dispose de 4 points d'extrémité URL :

  • Demande GET à /

    • Il n'effectue aucune action, mais constitue un moyen rapide de tester l'efficacité de l'application.

  • Demande POST à /session

    • /session fournit l'identifiant de la session.

    • En incluant un formulaire POST comme le suivant, vous pouvez modifier les paramètres par défaut utilisés pour créer une session : (les paramètres par défaut sont affichés comme si vous laissiez le corps vide).

location=None, media_mode=relayed, archive_mode=manual

Note : Voir la documentation relative à media_mode et archive_mode .

NOTE : L'emplacement attend une adresse IP.

  • /token/<session_id>

    • Vous pouvez ensuite demander une nouvelle session en passant la commande <session_id> au point de terminaison /token au point de terminaison.

Exemples :

Accédez à l'URL fournie par le processus de déploiement. Vous trouverez ci-dessous quelques exemples de ce à quoi les demandes peuvent ressembler : (Votre URL peut varier.)

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

Le point d'arrivée / renvoie le message générique.

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

Le point de terminaison session renverra le session_id nécessaire pour demander un jeton.

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

Le point de terminaison token renverra les token nécessaire pour interagir avec OpenTok.

Désactivation de Virtualenv

Pour quitter l'option virtualenvvous pouvez la désactiver si vous le souhaitez.

deactivate

Prochaines étapes

Si vous avez des questions ou rencontrez des problèmes, vous pouvez contacter @VonageDev sur Twitter ou vous renseigner dans la Communauté des développeurs de Vonage sur Slack. Bonne chance.

Partager:

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

Adam est un développeur et un consultant qui aime l'ultra-course, les blogs, et qui aide les autres à apprivoiser la technologie pour accomplir des choses étonnantes avec un désir insatiable de mentorat et d'aide.