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.

¿Podemos copiar los archivos y colocarlos en la raíz del cubo de S3 utilizando boto3 y Python?

Necesito copiar un archivo desde una carpeta a la raíz del cubo S3. ¿Existe un método común en el que pueda proporcionar una clave de destino vacía? ¿O debo seguir el enfoque de copiar y eliminar como se indica a continuación?

import boto3
s3_resource = boto3.resource('s3')

Copiar el objeto A como objeto B

s3_resource.Object("nombre_del_cubo", "nuevocamino/hacia/objeto_B.txt").copy_from(
 CopySource="ruta/hacia/tu/objeto_A.txt")

Eliminar el antiguo objeto A

s3_resource.Object("nombre_del_cubo", "ruta/hacia/tu/objeto_A.txt").delete()
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes usar una cadena vacía como clave de destino para copiar un archivo a la raíz de un cubo de S3 utilizando boto3. La sintaxis sería:

    import boto3
    
    s3_resource = boto3.resource('s3')
    source_key = 'ruta/a/tu/archivo_origen.txt'
    bucket_name = 'nombre_de_tu_cubo'
    destination_key = ''
    
    s3_resource.Object(bucket_name, destination_key).copy_from(CopySource={'Bucket': bucket_name, 'Key': source_key})
    

    Esto copiará el archivo ubicado en ruta/a/tu/archivo_origen.txt a la raíz del cubo de S3 nombre_de_tu_cubo. Si no especificas una clave de destino, se utilizará la raíz del cubo de forma predeterminada.

    Sin embargo, el enfoque de copiar y eliminar que has mencionado también funcionará si prefieres utilizarlo en su lugar.

Comments are closed.