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

PythonでAWS LambdaのVideoセッションを作成する

最終更新日 May 5, 2021

所要時間:6 分

この投稿では Vonageビデオ OpenTok session clientをマイクロサービスとして AWS Lambdaにデプロイします。このデプロイは Githubで利用可能なPythonアプリケーションで公開されている フラスコサーバーレス.

このアプリケーション例では、Vonage Video API を利用するために必要な最初のステップを説明します。 Video API を利用するために必要な最初のステップを提供します。.このマイクロサービスは、アプリケーションが Video チャットセッションをリクエストすることを可能にします。このマイクロサービスにより、アプリケーションはビデオチャットセッションをリクエストできます。 sessionを取得することで session_idを取得し tokenリクエストも取得できます。このアプリの対応する /tokenこのアプリの対応するリクエストメソッドはそれを提供する。

前提条件

セットアップ方法

をクローンする。 GitHubからnexmo-community/opentok-session-lambda-pythonをクローンし、新しく作成したディレクトリに移動します。

環境

名称変更 .env.default.envに変更し、値を OPENTOK_API_KEYおよび OPENTOK_API_SECRETに値を追加します。

使用方法

まず、プロジェクト・ルート内に virtualenvをプロジェクト・ルートに作成する。次に、以下のようにアクティベートする:

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

次に npmを実行し、プロンプトに従ってセットアップを行う。ほとんどの場合、デフォルトを選択してください。また npmを使用して、開発に必要な依存関係をいくつかインストールしてください。 ServerlessLambdaを有効にし Flaskアプリで動作するようにする。このステップを完了するには、以下のコマンドを使用する。

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

ここで pipから必要なPythonの依存関係をインストールします。 requirements.txtからインストールする必要があります。

pip install -r requirements.txt

ランニング・ローカル

これで virtualenvをセットアップすれば、AWS Lambdaにデプロイする前にローカルでアプリを実行し、テストすることができる。以下のコマンドでアプリを提供できる:

sls wsgi serve

デフォルトでは、システム上でローカルに実行すると、アプリは http://localhost:5000.を押すとアプリが終了する。 Ctrl+cを押すと終了します。

ラムダへのデプロイ

上記がすべて正常に終了すると サーバーレスを使ってアプリを AWS Lambda.

sls deploy

デプロイ後、API Gateway経由でアプリケーションにアクセスするために必要なURLを受け取ります。次のステップのためにURLをメモしておいてください。

重要重要: サンプルアプリケーションは、そのままでは認証や検証を行いません。配備後に提供される URL にアクセスできる人なら誰でもアクセスできます。これを行うと、Vonageアカウントに予期しない請求が発生する可能性があります。そのため、アプリをアクティブにしたままにする場合は、アプリを保護してください。

利用可能なエンドポイント

このクライアントでは、4つのURLエンドポイントが利用可能です:

  • へのGETリクエスト /

    • 何のアクションも実行しないが、素早くテストする方法を提供する。

  • へのPOSTリクエスト /session

    • /sessionはセッションIDを提供する。

    • 以下のようなフォームPOSTを含めることで、セッションの作成に使用されるデフォルトのパラメータを変更することができます。

location=None, media_mode=relayed, archive_mode=manual

メディアモードアーカイブモードオプションを参照してください。

注:ロケーションにはIPアドレスが必要です。

  • /token/<session_id>

    • 新しいセッションをリクエストするには <session_id>エンドポイントに /tokenエンドポイントに渡します。

例を挙げよう:

デプロイプロセスが提供するURLにアクセスする。以下に、リクエストの例をいくつか示します:(あなたのURLは異なります)。

ゲット https://7ulasfasdasdfw4.execute-api.us-east-1.amazonaws.com/dev/

エンドポイントは /エンドポイントは一般的なメッセージを返します。

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

エンドポイントは sessionエンドポイントは session_idを返します。

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

エンドポイントは tokenエンドポイントは tokenを返します。

Virtualenvの停止

を終了するには virtualenvを終了するには、必要なときに解除することができます。

deactivate

次のステップ

何か質問があったり、問題が発生した場合は、以下までご連絡ください。 までご連絡ください。に連絡するか Vonage開発者コミュニティSlack チームにお問い合わせください。頑張ってください。

シェア:

https://a.storyblok.com/f/270183/384x384/b3c7ffaf85/adamculp.png
Adam Culpヴォネージの卒業生

アダムは開発者兼コンサルタントで、ウルトラランニング、ブログ、そして指導と支援への飽くなき欲求を持ちながら、他の人々が素晴らしいことを成し遂げるためにテクノロジーを手なずけるのを助けることを楽しんでいる。