我正在处理一个要求,我正在将 csv 文件从本地服务器分段上传到 S3 存储桶。
为了使用 AWS Lambda 实现此目的,我创建了一个预签名网址并使用此网址上传 csv 文件。现在,一旦我在 AWS S3 中拥有该文件,我希望将其移动到 AWS RDS Oracle DB。最初,我计划为此使用 AWS Lambda。
因此,一旦我在 S3 中拥有该文件,它就会触发 lambda(s3 事件(,lambda 会将此文件推送到 RDS。但是问题出在文件大小(600 MB(上。
我正在寻找其他方法,每当有文件上传到 S3 时,它都应该触发任何 AWS 服务,该服务会将此 csv 文件推送到 RDS。我已经浏览了 AWS DMS/数据管道,但找不到任何方法来自动执行此迁移
我需要在每次 s3 上传时自动执行此迁移,这也具有成本效益。
设置 S3 集成并构建 SPROCS 以帮助自动加载。详细信息可在此处找到。
更新:
看起来您甚至不需要创建 SPROC。您可以仅使用此处概述的 RDS 过程。然后,您只需创建一个事件驱动的 lambda 函数,该函数在给定的 S3 事件上触发 - 例如在对象 PUT((、POST((、COPY 等上。--传递访问事件对象所需的 S3 元数据。下面是一个简单的 Python 示例,说明了 Lambda 和配置可能是什么样子。然后,您将使用在触发器事件上传递的元数据(如 Python 示例中所述(动态创建过程调用,然后执行该过程。您还可以添加满足要求的后续工作流逻辑,即TASK_ID
获取和操作处理,监控等...--到相同的 lambda 函数或通过添加额外的 lambda 来分离这些问题。希望这有帮助!