将嵌套的 Amazon S3 文件夹复制到扁平文件夹中

马克·罗布森

长话短说,我们存储了这样的文件/accounts/account-abc/docs/uuid.pdf,这是非常多余的。我们想要的基本上是docs/uuid.pdf. 还有很多其他关于复制的帖子,但它们都是单个目录。我需要这样的东西(这显然是错误的):

aws s3 cp s3://accounts/*/docs s3://docs/  --recursive ---include "*"

我是否需要编写自定义脚本才能完成上述操作?

约翰·罗滕斯坦

这是一个 Python 脚本,它将文件从给定复制SOURCE_PATH到 a TARGET_PATH,删除所有子文件夹:

import boto3

SOURCE_BUCKET = 'source-bucket'
SOURCE_PATH = 'accounts/'

TARGET_BUCKET = 'target-bucket'
TARGET_PATH = 'docs/'

s3_resource = boto3.resource('s3')

bucket = s3_resource.Bucket(SOURCE_BUCKET)

for object in bucket.objects.filter(Prefix=SOURCE_PATH):
    target_key = object.key[object.key.rfind('/')+1:]
    print('Copying', target_key)
    s3_resource.Object(TARGET_BUCKET, TARGET_PATH + target_key).copy({'Bucket':SOURCE_BUCKET, 'Key': object.key})
    # Optional, to delete source object:
    # object.delete()

如果您只想从SOURCE_PATH还包含docs(根据您的示例)的子目录的 a复制,您可能需要修改它

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将文件复制到S3中的文件夹最终位于父文件夹

将文件从Box文件夹复制到AWS s3存储桶

将充满文件的文件夹上载到Amazon S3中的特定文件夹

我无法将主文件夹复制到 s3 存储桶

如何将整个文件夹从 s3 存储桶复制到 ec2 实例

复制S3存储桶中嵌套文件夹中的文件

将 AWS S3 存储桶根目录内容复制到子文件夹中的同一个存储桶

在aws s3中将文件夹从一个复制到另一个

如何为 .sh 文件编写 crontab 脚本以将文件从 AWS s3 文件夹复制到我的本地 ec2 文件夹?

如何将整个文件夹从Amazon EC2 Linux实例复制到本地Linux机器?

如何使用python和boto3将Amazon S3文件下载到文件夹中的本地机器上?

如何将文件夹中的文件复制到多个文件夹中

将文件复制到文件夹和所有子文件夹中

s3复制对象将一个文件夹的内容复制到另一个

使用 AWS Code Deploy 将子文件夹内容移动到 Amazon S3 存储桶

如何授予对Amazon S3中文件夹的所有子文件夹的访问权限?

如何使用xcopy将子文件夹复制到子文件夹中?

如何从Amazon S3存储桶中的文件夹中获取所有文件?

删除位于Amazon S3上存储桶中的子文件夹中的文件

Laravel 5:如何将本地文件复制到Amazon S3?

使用NodeJS将文件不完整地复制到Amazon S3

C#如何将文件从Raspberry Pi 3B +复制到Windows本地文件夹

命令行:将DIR / S列出的文件复制到另一个文件夹

如何在Amazon S3中重命名文件和文件夹?

文件中“属于”用户的文件夹的 Amazon S3 事件

Amazon S3如何在“文件夹”中列出文件

使用API在Amazon S3存储桶中创建文件夹/上传文件

在 Laravel 中压缩和下载 Amazon S3 存储桶文件和文件夹

Amazon S3同步到本地文件夹-Java