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

Criação de uma sessão de Video no AWS Lambda com Python

Publicado em May 5, 2021

Tempo de leitura: 8 minutos

Nesta postagem, você vai implantar um Vonage Video OpenTok session client como um microsserviço no AWS Lambda, escrito em Python. Para isso, você usará este aplicativo em Python disponível no GitHub que utiliza Flaske Serverless.

Este aplicativo de exemplo apresenta os primeiros passos necessários para utilizar a Video API da Vonage. Esse microsserviço permite que aplicativos solicitem uma sessão de chat por vídeo. Ao obter um session, você também recebe um session_id para permitir uma token solicitação. O método de /token método de solicitação neste aplicativo oferece isso.

Pré-requisitos

Instruções de configuração

Clone o nexmo-community/opentok-session-lambda-python do GitHub e acesse o diretório recém-criado para continuar.

Meio ambiente

Renomear .env.default para .env e adicione valores a OPENTOK_API_KEY e OPENTOK_API_SECRET fornecidos pela sua conta das Video APIs do Vonage.

Uso

Para começar, crie um virtualenv na raiz do projeto para abrigar o projeto à medida que você avança. Em seguida, ative-o da seguinte maneira:

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

Em seguida, inicialize npm e siga as instruções para configurá-lo. Na maioria dos casos, você deve selecionar as opções padrão, a menos que deseje alterar alguma delas. Além disso, use npm para instalar algumas dependências necessárias para o desenvolvimento, a fim de habilitar Serverless e Lambda possa trabalhar com o Flask aplicativo. Use os comandos a seguir para concluir esta etapa.

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

Agora você deve usar pip para instalar as dependências necessárias do Python a partir do requirements.txt incluídas no código clonado.

pip install -r requirements.txt

Corrida local

Com a virtualenv configuração pronta, você pode executar o aplicativo localmente e testá-lo antes de implantá-lo no AWS Lambda. Você pode executá-lo com o seguinte comando:

sls wsgi serve

Por padrão, ao executar o aplicativo localmente no seu sistema, ele fica disponível em http://localhost:5000. Ao clicar em Ctrl+c fecha o aplicativo assim que você terminar.

Implantar no Lambda

Depois de concluir com sucesso todas as etapas acima, você pode usar Serverless para implantar o aplicativo no AWS Lambda.

sls deploy

Após a implantação, você receberá a URL necessária para acessar o aplicativo por meio do API Gateway. Anote a URL para a próxima etapa.

IMPORTANTE: O aplicativo de exemplo, da forma como está, não realiza nenhuma autenticação ou verificação. Qualquer pessoa com acesso à URL fornecida após a implantação poderá acessá-lo. Isso pode gerar cobranças inesperadas no seu Account da Vonage. Portanto, proteja o aplicativo se pretender mantê-lo ativo.

Pontos de extremidade disponíveis

Existem 4 pontos de extremidade de URL disponíveis neste cliente:

  • Solicitação GET para /

    • Não executa nenhuma ação, mas oferece uma maneira rápida de testar

  • Solicitação POST para /session

    • /session fornece o ID da sessão.

    • Ao incluir um formulário POST como o a seguir, você pode alterar os parâmetros padrão usados para criar uma sessão: (os valores padrão são exibidos como se você deixasse o corpo do formulário vazio.)

location=None, media_mode=relayed, archive_mode=manual

Observação: Consulte a documentação sobre media_mode e archive_mode .

NOTA: O campo “Localização” deve conter um endereço IP.

  • /token/<session_id>

    • Você pode, então, solicitar uma nova sessão passando o <session_id> ao /token ponto de extremidade.

Exemplos:

Acesse a URL fornecida pelo processo de implantação. Veja a seguir alguns exemplos de como essas solicitações podem ser: (Sua URL pode variar.)

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

O / endpoint retorna a mensagem genérica.

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

O session endpoint retornará o session_id necessário para solicitar um token.

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

O token endpoint retornará o token necessário para interagir com o OpenTok.

Desativando o Virtualenv

Para sair do virtualenv, você pode desativá-lo quando quiser.

deactivate

Próximos passos

Se você tiver alguma dúvida ou encontrar algum problema, entre em contato com @VonageDev no Twitter ou fazer sua pergunta na Comunidade de Desenvolvedores da Vonage no Slack. Boa sorte.

Compartilhar:

https://a.storyblok.com/f/270183/384x384/b3c7ffaf85/adamculp.png
Adam CulpEx-funcionários da Vonage

Adam é um desenvolvedor e consultor que gosta de corridas de ultramaratona, escrever em blogs e gravar vlogs, além de ajudar outras pessoas a dominar a tecnologia para realizar coisas incríveis, movido por um desejo insaciável de orientar e ajudar.