Amazon AWS - Lambda¶
Nada pode ser mais simples de interagir com as funções Lambda do que o plugin Botcity para a AWS Lambda.
Gerencie invocações síncronas e assíncronas das funções lambda.
Instalação¶
Importando o plugin¶
Depois de instalar este pacote, a próxima etapa é importar o pacote para o seu código e começar a usar as funções.
Configurando a conexão¶
Observação
Existem duas maneiras diferentes de autenticar.
1.Criando a pasta .aws
no diretório inicial, você precisa criar dois arquivos.
# ~/.aws/credentials
[default]
aws_access_key_id=<your_aws_access_key_id>
aws_secret_access_key=<your_aws_secret_access_key>
2. Passando credenciais no construtor da classe.
# Usando a pasta `.aws`
funcao_lambda = BotAWSLambdaPlugin()
# Alternativa usando as credenciais como argumentos construtores
funcao_lambda = BotAWSLambdaPlugin(
use_credentials_file=False,
access_key_id='<your_aws_access_key_id>',
secret_access_key='<your_aws_secret_access_key>',
region_name='<region_code>'
)
Operações lambda¶
Liste todas as funções¶
Obter informações da função¶
Info
O parâmetro function name
pode ser somente de nome ou nome com alias.
my-function
(name-only), my-function:v1
(com alias).
Invocação do lambda¶
Invocação síncrona¶
O valor do parâmetro function name
O parâmetro Nome da função
pode ser somente de nome ou nome com alias.
`my-function
(somente nome), my-function:v1
(com alias).
Tipo de Invocação
Você pode usar o parâmetro InvocationType = 'Event'
para invocar Lambda de forma assíncrona, mas você não recebe o valor da resposta
Invocação assíncrona¶
Tipo de retorno
A função future_invoke_function
retorna uma instância de concurrent.futures.future.
import time
from botcity.plugins.aws.lambda_functions import BotAWSLambdaPlugin
aws = BotAWSLambdaPlugin()
resultado_futuro = aws.future_invoke_function(function_name='<nome_lambda>', payload={'name': 'Botcity'})
while not resultado_futuro.done():
print('aguradando...')
time.sleep(1)
print('Invocar (resultado): ', resultado_futuro.result())
Operação de alias¶
Lista de alias¶
Info
O parâmetro function name
é somente de nome.