1

我正在处理一个需求,我正在将 csv 文件从 prem 服务器上多部分上传到 S3 Bucket。

为了使用 AWS Lambda 实现这一点,我创建了一个预签名的 url,并使用这个 url 上传 csv 文件。现在,一旦我在 AWS S3 中有文件,我希望将它移动到 AWS RDS Oracle DB。最初我打算为此使用 AWS Lambda。

因此,一旦我在 S3 中拥有该文件,它就会触发 lambda(s3 事件),并且 lambda 会将这个文件推送到 RDS。但是这个问题在于文件大小(600 MB)。

我正在寻找其他方式,只要有文件上传到 S3,它就会触发任何 AWS 服务,并且该服务会将这个 csv 文件推送到 RDS。我已经通过 AWS DMS/Data Pipeline,但无法找到任何方法来自动执行此迁移

我需要在每次 s3 上传时自动执行此迁移,这也具有成本效益。

4

1 回答 1

2

设置 S3 集成并构建 SPROCS 以帮助自动加载。详情可在此处找到。

更新:

看起来您甚至不需要创建 SPROC。您可以只使用此处概述的 RDS 过程。然后,您只需创建一个事件驱动的 lambda 函数,该函数在给定的 S3 事件上触发——例如在对象 PUT()、POST()、COPY 等上——它传递访问事件对象所需的 S3 元数据. 是一个简单的 Python 示例,说明 Lambda 和配置可能是什么样子。然后,您将使用在触发事件上传递的元数据(如 Python 示例中所述)来动态创建过程调用,然后执行该过程。您还可以添加满足您要求的后续工作流逻辑-即TASK_ID获取和操作处理、监控等...-到相同的 lambda 函数或通过添加额外的 lambda 来分离这些问题。希望这可以帮助!

于 2020-06-10T09:18:12.207 回答