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

Erstellen einer Video-Sitzung in AWS Lambda mit Python

Zuletzt aktualisiert am May 5, 2021

Lesedauer: 8 Minuten

In diesem Beitrag werden Sie eine Vonage Video OpenTok session client als Microservice für AWS Lambdabereit, geschrieben in Python. Sie verwenden dazu diese Python-Anwendung, die auf Github verfügbar ist die Folgendes verwendet Flaskund Serverless.

Diese Beispielanwendung bietet die ersten Schritte, die für die Nutzung der Vonage Video API. Dieser Microservice ermöglicht es Applications, eine Video-Chat-Sitzung anzufordern. Durch das Abrufen einer sessionerhalten Sie auch eine session_id um eine token Anfrage. Die entsprechende /token Anfrage-Methode in dieser Anwendung bietet dies.

Voraussetzungen

Anweisungen zur Einrichtung

Klonen Sie die nexmo-community/opentok-session-lambda-python von GitHub, und navigieren Sie in das neu erstellte Verzeichnis, um fortzufahren.

Umwelt

umbenennen .env.default in .env und fügen Sie Werte hinzu zu OPENTOK_API_KEY und OPENTOK_API_SECRET die von Ihrem Vonage Video APIs Account bereitgestellt werden.

Verwendung

Um zu beginnen, erstellen Sie eine virtualenv im Stammverzeichnis des Projekts, das das Projekt enthält, während Sie fortfahren. Aktivieren Sie es dann wie folgt:

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

Als nächstes initialisieren Sie npm und folgen Sie den Anweisungen, um das System einzurichten. In den meisten Fällen sollten Sie die Standardeinstellungen wählen, es sei denn, Sie möchten sie ändern. Verwenden Sie außerdem npm um einige für die Entwicklung benötigte Abhängigkeiten zu installieren, damit Serverless und Lambda die Arbeit mit der Flask Anwendung. Verwenden Sie die folgenden Befehle, um diesen Schritt auszuführen.

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

Nun sollten Sie mit pip die erforderlichen Python-Abhängigkeiten aus der Datei requirements.txt die im geklonten Code enthalten sind.

pip install -r requirements.txt

Lokales Laufen

Mit der virtualenv eingerichtet, können Sie die App lokal ausführen und testen, bevor Sie sie in AWS Lambda bereitstellen. Sie können sie mit dem folgenden Befehl bereitstellen:

sls wsgi serve

Standardmäßig wird die Anwendung bei der lokalen Ausführung auf Ihrem System unter http://localhost:5000. Klicken Sie auf Ctrl+c wird die Anwendung geschlossen, nachdem Sie sie beendet haben.

Auf Lambda bereitstellen

Wenn alle oben genannten Schritte erfolgreich abgeschlossen sind, können Sie die Serverlos verwenden, um die App in AWS Lambda.

sls deploy

Nach der Bereitstellung erhalten Sie die URL, die für den Zugriff auf die Anwendung über das API-Gateway erforderlich ist. Notieren Sie sich die URL für den nächsten Schritt.

WICHTIG! Die Beispielanwendung führt in ihrer jetzigen Form keine Authentifizierung oder Überprüfung durch. Jeder, der nach der Bereitstellung Zugriff auf die bereitgestellte URL hat, kann darauf zugreifen. Dies könnte zu unerwarteten Abbuchungen von Ihrem Vonage Account führen. Sichern Sie daher die Anwendung, wenn Sie sie aktiv lassen möchten.

Verfügbare Endpunkte

Es gibt 4 URL-Endpunkte, die mit diesem Client verfügbar sind:

  • GET-Anfrage an /

    • Führt keine Aktionen aus, bietet aber eine schnelle Möglichkeit zum Testen

  • POST-Anfrage an /session

    • /session liefert die Sitzungs-ID.

    • Indem Sie ein POST-Formular wie das folgende einfügen, können Sie die Standardparameter für die Erstellung einer Sitzung ändern: (die Standardwerte werden so angezeigt, als ob Sie den Textkörper leer lassen würden).

location=None, media_mode=relayed, archive_mode=manual

Hinweis: Siehe Dokumentation zu media_mode und archiv_mode Optionen.

HINWEIS: Der Standort erwartet eine IP-Adresse.

  • /token/<session_id>

    • Sie können dann eine neue Sitzung anfordern, indem Sie die <session_id> an den /token Endpunkt übergeben.

Beispiele:

Rufen Sie die vom Bereitstellungsprozess bereitgestellte URL auf. Im Folgenden finden Sie einige Beispiele dafür, wie Anfragen aussehen können: (Ihre URL wird variieren.)

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

Der / Endpunkt gibt die generische Nachricht zurück.

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

Der session Endpunkt gibt die session_id zurück, die zur Anforderung eines Tokens benötigt wird.

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

Der token Endpunkt gibt die token zurück, die für die Interaktion mit OpenTok benötigt wird.

Deaktivieren von Virtualenv

Zum Verlassen des virtualenvkönnen Sie sie bei Bedarf deaktivieren.

deactivate

Nächste Schritte

Wenn Sie Fragen haben oder Probleme auftreten, können Sie sich an @VonageDev auf Twitter oder in der Vonage Entwickler-Gemeinschaft Slack-Team. Viel Glück!

Teilen Sie:

https://a.storyblok.com/f/270183/384x384/b3c7ffaf85/adamculp.png
Adam CulpVonage Ehemalige

Adam ist ein Entwickler und Berater, der gerne Ultraläufe absolviert, bloggt und anderen dabei hilft, Technologien zu zähmen, um erstaunliche Dinge zu erreichen, und der ein unstillbares Verlangen hat, Mentoren zu sein und zu helfen.