【问题标题】:AWS S3 bucket - Moving all xmls files form one S3 bucker to Another S3 bucker using Python lamdaAWS S3 存储桶 - 使用 Python lamda 将所有 xmls 文件从一个 S3 存储桶移动到另一个 S3 存储桶
【发布时间】:2020-05-29 21:55:40
【问题描述】:

就我而言,我想从我的 s3bucket/ 解析中读取所有 XML,然后将所有已解析的文件移动到同一个 s3Bucker/

对我来说,解析逻辑工作正常,但我无法移动所有文件。 这是我尝试使用的示例

**s3 = boto3.resource('s3')
src_bucket = s3.Bucket('bucket1')
dest_bucket = s3.Bucket('bucket2')
for obj in src_bucket.objects.all():
    filename= obj.key.split('/')[-1]
    dest_bucket.put_object(Key='sample/' + filename, Body=obj.get()["Body"].read())**

上面的代码根本不适合我(我必须为 s3 文件夹提供完全访问权限,并在给定公共完全访问权限的情况下进行测试)。

谢谢

【问题讨论】:

  • 如果只是一次性的,您可以通过使用“aws s3 sync”命令来使用 aws-cli 而不是 lamdba
  • 不,我的整个解析逻辑都在 lamda 内部,一旦在 IN 文件夹中更新 xml 并解析并将解析后的文件移动到 OUT 文件夹,它将触发。而且这不是一次性的事情,这将针对每一次和基于 Trigger 事件的 bouk 操作。

标签: aws-lambda boto3 awss3transfermanager


【解决方案1】:

Check out this answer. 你可以使用 python endshwith() 函数并将“.xml”传递给它,获取这些文件的列表并将它们复制到目标存储桶,然后从源存储桶中删除它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-02
    • 2020-09-15
    • 1970-01-01
    • 2018-11-22
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多