【问题标题】:Upload file in S3 using boto3 with Dynamic Foldername使用带有动态文件夹名的 boto3 在 S3 中上传文件
【发布时间】:2019-01-07 07:14:32
【问题描述】:

我有 4 个 S3 存储桶: SourceBucket\folder1\file1 和 DestinationBucket1-folder1, SourceBucket\folder2\file1 和 DestinationBucket2-folder2。 当我上传文件夹时,我希望代码检查文件夹 'DestinationBucket1-folder1' 如果存在,然后上传 folder1 和该文件夹下的文件。

我正在为 S3 KEY 苦苦挣扎。如何解析 S3 KEY 并检查特定文件夹是否存在,然后上传 SourceBucket 下的第一个文件夹?

【问题讨论】:

    标签: python amazon-s3 amazon-ec2 boto3


    【解决方案1】:

    以下代码在不存在时创建文件夹并上传文件:

    s3 = boto3.resource('s3', region_name='us-east-2', aws_access_key_id=access_id, aws_secret_access_key=access_key)
    s3.meta.client.upload_file(filePath, backet-name, str(foldername) + "/" + str(sub-foldername) + "/" + filename)
    

    【讨论】:

    • 谢谢亚嘉娜。如果 s3.lookup(DestinationBucket1-folder1) 为无,则 'DestinationBucket' + "-" str (foldername) 将引发正则表达式错误:bucket=s3.create_bucket(DestinationBucket1-folder1) # Bucket Don't Exist else: bucket = s3. get_bucket(DestinationBucket1-folder1) #Bucket存在
    • 您可以提供代码示例
    猜你喜欢
    • 2017-01-09
    • 1970-01-01
    • 2021-10-15
    • 2018-02-14
    • 1970-01-01
    • 2021-07-13
    • 2017-08-06
    • 2018-07-24
    • 1970-01-01
    相关资源
    最近更新 更多