Amazon AWS - Lambda¶
Nada puede ser más sencillo que interactuar con las funciones Lambda que con el complemento BotCity para AWS Lambda.
Administra invocaciones síncronas y asíncronas de funciones lambda.
Instalación¶
Importación del complemento¶
Después de instalar este paquete, el siguiente paso es importar el paquete en tu código y comenzar a usar las funciones.
Configuración de la conexión¶
Note
Hay dos formas diferentes de autenticación.
1. Creando la carpeta .aws
en el directorio principal, debes crear dos archivos.
# ~/.aws/credentials
[default]
aws_access_key_id=<your_aws_access_key_id>
aws_secret_access_key=<your_aws_secret_access_key>
2. Pasando las credenciales en el constructor de la clase.
# Using the `.aws` folder
lambda_funtion = BotAWSLambdaPlugin()
# Alternative using the credentials as constructor arguments
lambda_funtion = 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>'
)
Operaciones de Lambda¶
Listar todas las funciones¶
Obtener información de la función¶
Info
El parámetro nombre de la función
puede ser solo el nombre o el nombre con alias.
mi-funcion
(solo nombre), mi-funcion:v1
(con alias).
Invocación de Lambda¶
Invocación síncrona¶
Valor del parámetro nombre de la función
El parámetro nombre de la función
puede ser solo el nombre o el nombre con alias.
mi-funcion
(solo nombre), mi-funcion:v1
(con alias).
InvocationType
Puedes usar el parámetro InvocationType='Event'
para invocar lambda de forma asíncrona,
pero no recibirás el valor de respuesta.
Invocación asíncrona¶
Tipo de retorno
La función future_invoke_function
devuelve una instancia de concurrent.futures.Future.
import time
from botcity.plugins.aws.lambda_functions import BotAWSLambdaPlugin
aws = BotAWSLambdaPlugin()
future_result = aws.future_invoke_function(function_name='<lambda_name>', payload={'name': 'Botcity'})
while not future_result.done():
print('waiting...')
time.sleep(1)
print('Invoke (result): ', future_result.result())
Operación de alias¶
Listar alias¶
Info
El parámetro nombre de la función
es solo el nombre.