【问题标题】:Pushing S3 data from one AWS account to another S3 bucket using Lambda使用 Lambda 将 S3 数据从一个 AWS 账户推送到另一个 S3 存储桶
【发布时间】:2019-10-25 10:30:15
【问题描述】:

我的用例是将数据从一个 AWS 账户 S3 存储桶连续推送到另一个 AWS 账户 S3 存储桶。跨账户推送。

我正在使用 lambda 来完成这项工作。

假设在 AWS 账户 A 中,数据经常从某个来源登陆到 S3 存储桶。我需要创建一个 S3 触发器,它将调用 AWS 账户 A 中的 Lambda 函数并将账户 A S3 存储桶数据推送到 AWS 账户 B 中的另一个 S3 存储桶。

这可能吗?

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda


    【解决方案1】:

    是的!

    首先,如果存储桶位于不同的区域,您可以使用跨区域复制,Amazon S3 会自动为您完成这一切。

    如果不是,那么您提出的计划看起来不错。这将涉及:

    • 一个 Amazon S3 事件,用于在创建新对象时触发 Lambda 函数
    • Lambda 函数接收新对象的 Bucket Name 和 Key
    • 然后 Lambda 函数应调用 CopyObject()将对象复制到另一个存储桶(在另一个账户中)

    最重要的元素是授予Account-A 中运行的Lambda 函数 写入Account-B 中的存储桶的权限。这可以通过以下方式完成:

    • Account-A 中创建一个供 Lambda 函数使用的 IAM 角色 (Role-A)
    • Account-B 中的存储桶添加存储桶策略,以允许来自Role-APutObject(通过指定Role-A 的ARN)

    【讨论】:

    • 感谢您的时间和回应约翰。将尝试您建议的方法并在此处更新
    猜你喜欢
    • 2019-06-28
    • 2019-01-15
    • 2017-07-21
    • 2020-07-05
    • 1970-01-01
    • 2020-01-03
    • 2016-02-27
    • 1970-01-01
    • 2016-08-12
    相关资源
    最近更新 更多