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

199
Vistas
Cómo copiar de un cubo a otro cubo en s3 de cierto sufijo

Tengo 3 cubos 1.commonfolder 2.jsonfolder 3.csvfolder .

  • La carpeta común tendrá archivos json y csv

  • necesita copiar todos los archivos csv a csvfolder

  • necesita copiar todos los archivos json a la carpeta json

El código está debajo para obtener todos los archivos de la commonfolder Cómo copiar después de eso

 import boto3 s3 = boto3.client('s3') def lambda_handler(event, context): #List all the bucket names response = s3.list_buckets() for bucket in response['Buckets']: print (bucket) print(f'{bucket["Name"]}') #Get the files of particular bucket if bucket["Name"] == 'tests3json': resp = s3.list_objects_v2(Bucket='commonfolder') for obj in resp['Contents']: files = obj['Key'] print(files) if(filename.split('.')[1].lower()=='json'): copyjson(bucket,filename) #copyjson(jsonfolder,filename) elif(filename.split('.')[1].lower()=='csv'): copycsv(bucket, filename) #copycsv(csvfolder,filename)
  • necesita crear una nueva función copyjson,copycsv para hacer este trabajo

  • Necesita copiar de common-bucket a csv-bucket o json-bucket dependiendo de la extensión del archivo

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

0

Puedes comprobar el siguiente código:

 import boto3 s3 = boto3.resource('s3') def lambda_handler(event, context): source_bucket = s3.Bucket('01-commonfolder-231') json_bucket = s3.Bucket('02-jsonfolder-3435') csv_bucket = s3.Bucket('03-csvfolder-4552') for object in source_bucket.objects.all(): #print(object) if object.key.endswith('.json'): print(f"{object.key} to json bucket") copy_object = json_bucket.Object(object.key) copy_object.copy({'Bucket': object.bucket_name, 'Key': object.key}) elif object.key.endswith('.csv'): print(f"{object.key} to csv bucket") copy_object = csv_bucket.Object(object.key) copy_object.copy({'Bucket': object.bucket_name, 'Key': object.key})

Probé esto usando mis propios cubos de muestra con archivos de prueba:

 aaa.json to json bucket bbbbb.csv to csv bucket bbbbb.json to json bucket hhhh.csv to csv bucket
over 4 years ago · Santiago Trujillo Denunciar

0

Puedes usar el método move() de shutil :

 from shutil import move from glob import glob common_folder = 'C:\\Users\\User\\Desktop\\commonfolder\\' csv_folder = 'C:\\Users\\User\\Desktop\\csvfolder\\' json_folder = 'C:\\Users\\User\\Desktop\\jsonfolder\\' for csv in glob(common_folder+"*.csv"): move(csv, csv_folder) for json in glob(common_folder+"*.json"): move(json, json_folder)
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