es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Transferir un archivo CSV de una cuenta s3 a otra – boto3

Estoy intentando cargar archivos csv desde un cubo de almacenamiento en la cuenta de origen a otro.
Para acceder a 2 cuentas, he escrito el siguiente script.

import boto3

source_session = boto3.Session(profile_name=’account1′)
source_s3 = source_session.client(‘s3′)

destination_session = boto3.Session(profile_name=’account2’)
destination_s3 = destination_session.client(‘s3’)

Vi que para el método upload_file(), los parámetros son la ubicación del archivo y el nombre del cubo de destino.
¿Cómo debo mencionar la ubicación del archivo para diferentes cuentas?
Algo como esto:

destination_s3.upload_file(source_file_location, des_bucket_name);

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para mencionar la ubicación del archivo para diferentes cuentas, deberá especificar el nombre del bucket de origen y la clave del archivo o el nombre del objeto como se muestra a continuación:

    # especificar el nombre del bucket de origen y el nombre del archivo
    nombre_bucket_origen = 'nombre-bucket-origen'
    clave_archivo_origen = 'ruta/para/archivo.csv'
    ubicacion_archivo_origen = {'Bucket': nombre_bucket_origen, 'Key': clave_archivo_origen}
    
    # especificar el nombre del bucket de destino
    nombre_bucket_destino = 'nombre-bucket-destino'
    
    # subir el archivo al bucket de destino
    destination_s3.upload_file(ubicacion_archivo_origen['Bucket'], ubicacion_archivo_origen['Key'], nombre_bucket_destino)
    

    En el código anterior, primero se define el nombre del bucket de origen y la clave del archivo o el nombre del objeto. Luego se crea un diccionario con los valores Bucket y Key, que representan la ubicación del archivo de origen. Finalmente, se utiliza el método upload_file() del cliente de S3 de destino para copiar el archivo desde el bucket de origen al bucket de destino. Los parámetros para este método son el nombre del bucket de origen, la clave del archivo de origen o el nombre del objeto y el nombre del bucket de destino.

Comments are closed.