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

449
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 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