Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

530
Vistas
¿Crear la función AWS Lambda usando el código Python de Boto3?

Necesito crear una función lambda usando la opción desde cero. Veo que hay 3 opciones en la aplicación de AWS. Revisé el documento de AWS Boto3 pero no pude encontrar la forma de seleccionar 3 formas de seleccionar.

Intenté buscar en Boto3 Doc. Mi código está fallando para la clave S3. ¿Cómo puedo crear una función lambda simple usando el código Boto3?

Mi código:

 lambda_Client = boto3.client('lambda', aws_access_key_id=accessKey, aws_secret_access_key=secretKey,region_name=region) response =lambda_Client.create_function( Code={ 'S3Bucket': 's3bucket', 'S3Key': 'function.zip', #how can i create or fetch this S3Key }, Description='Process image objects from Amazon S3.', FunctionName='function_name', Handler='index.handler', Publish=True, Role='arn:aws:iam::123456789012:role/lambda-role', Runtime='nodejs12.x', ) print(response)

Error: la clave GetObjet S3 no es válida.

¿Cómo puedo crear una clave s3 o hay una forma sencilla de crear una función AWS Lambda sin ninguna dependencia? ¡Por favor guíame!

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Encontré muchos problemas al intentar crear una función lambda con un archivo zip, pero finalmente lo hice y funcionó.

Este código creará una función lambda a partir de un archivo ZIP:

Primero declaramos la ruta del archivo zip. Luego, en la función aws_file , lo convertimos en bytes para que Amazon pueda leerlo. Finalmente, lambda_creator lo cargará y creará la función lambda con los parámetros dados.

 ZIPNAME = "code\\my-deployment-package.zip" def aws_file(): with open(ZIPNAME, 'rb') as file_data: bytes_content = file_data.read() return bytes_content def lambda_creator(name): lambda_client = boto3.client('lambda', aws_access_key_id=ACCESSKEY, aws_secret_access_key=SECRETKEY, region_name=REGION) response = lambda_client.create_function( Code={ 'ZipFile': aws_file() }, Description='Hello World Test.', FunctionName='Test-lambda', Handler='lambda_function.lambda_handler', Publish=True, Role='arn:aws:iam:: 123456789012:role/lambda-rol', Runtime='python3.8', ) return response
over 4 years ago · Santiago Trujillo Denunciar

0

Esta clave provendría de cargar un objeto en Amazon S3, puede hacerlo mediante programación llamando a put_object a través del SDK de Boto3.

Un ejemplo aproximado de cómo utilizarlo sería el siguiente

 import zipfile archive = zipfile.ZipFile('function.zip', 'w') zip.write('index.js', 'path/on/disk/index.js') ....... client.put_object(Body=archive, Bucket='bucket-name', Key='function.zip') lambda_Client = boto3.client('lambda', aws_access_key_id=accessKey, aws_secret_access_key=secretKey,region_name=region) response = lambda_Client.create_function( Code={ 'S3Bucket': 'bucket-name', 'S3Key': 'function.zip', #how can i create or fetch this S3Key }, Description='Process image objects from Amazon S3.', FunctionName='function_name', Handler='index.handler', Publish=True, Role='arn:aws:iam::123456789012:role/lambda-role', Runtime='nodejs12.x', )

Usted especifica la clave cuando carga esto, asegúrese de comprimir su código cuando lo carga.

Alternativamente, use el atributo ZipFile en su lugar, de la documentación de Boto3 se indica lo siguiente.

El contenido codificado en base64 del paquete de implementación. Los clientes de AWS SDK y AWS CLI manejan la codificación por usted.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda