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

447
Views
¿Cómo podría usar aws lambda para escribir un archivo en s3 (python)?

Intenté usar la función lambda para escribir un archivo en S3, luego la prueba muestra que "tuvo éxito", pero no apareció nada en mi depósito S3. ¿Qué sucedió? ¿Alguien puede darme algún consejo o solución? Muchas gracias. Aquí está mi código.

 import json import boto3 def lambda_handler(event, context): string = "dfghj" file_name = "hello.txt" lambda_path = "/tmp/" + file_name s3_path = "/100001/20180223/" + file_name with open(lambda_path, 'w+') as file: file.write(string) file.close() s3 = boto3.resource('s3') s3.meta.client.upload_file(lambda_path, 's3bucket', s3_path)
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

He tenido éxito en la transmisión de datos a S3, tiene que estar codificado para hacer esto:

 import boto3 def lambda_handler(event, context): string = "dfghj" encoded_string = string.encode("utf-8") bucket_name = "s3bucket" file_name = "hello.txt" s3_path = "100001/20180223/" + file_name s3 = boto3.resource("s3") s3.Bucket(bucket_name).put_object(Key=s3_path, Body=encoded_string)

Si los datos están en un archivo, puede leer este archivo y enviarlo:

 with open(filename) as f: string = f.read() encoded_string = string.encode("utf-8")
over 4 years ago · Santiago Trujillo Report

0

Mi respuesta es muy similar a la de Tim B, pero la parte más importante es

1. Vaya al depósito S3 y cree un depósito en el que desee escribir

2.Siga los pasos a continuación ; de lo contrario, la lambda fallará debido al permiso/acceso. He copiado y pegado el contenido del enlace aquí para usted también en caso de que cambien la URL o la muevan a otra página.

una. Abra la página de funciones en la consola de IAM.

b. Elija Crear rol.

C. Cree un rol con las siguientes propiedades.

-Entidad de confianza: AWS Lambda.

-Permisos: AWSLambdaExecute.

-Nombre de la función: lambda-s3-role.

La política AWSLambdaExecute tiene los permisos que la función necesita para administrar objetos en Amazon S3 y escribir registros en CloudWatch Logs.

  1. Copie y pegue esto en su función Lambda python

     import json, boto3,os, sys, uuid from urllib.parse import unquote_plus s3_client = boto3.client('s3') def lambda_handler(event, context): some_text = "test" #put the bucket name you create in step 1 bucket_name = "my_buck_name" file_name = "my_test_file.csv" lambda_path = "/tmp/" + file_name s3_path = "output/" + file_name os.system('echo testing... >'+lambda_path) s3 = boto3.resource("s3") s3.meta.client.upload_file(lambda_path, bucket_name, file_name) return { 'statusCode': 200, 'body': json.dumps('file is created in:'+s3_path) }
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!