Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

535
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!