amazon-web-services - 在由 S3 触发的 AWS 中运行 ETL python 脚本
问题描述
我是 AWS 新手,不知道如何执行以下操作。当我在 S3 中放置一个对象时,我想启动一个 python 脚本来进行一些转换并将其返回到 S3 中的另一个路径。我尝试了一个 lambda 函数,但该过程需要 300 多秒。我也尝试过使用 Glue 作业,但是当我将文件放入 S3 时,我不知道如何触发它。
有谁知道该怎么做?也许我使用了错误的 AWS 工具。
解决方案
一种选择是使用SQS:
- 创建 SQS 队列。
- 设置 S3 以在将新对象添加到源存储桶时向 SQS 队列发送通知。请参阅配置 Amazon S3 事件通知。
- 在EC2实例上设置 Python 脚本并在代码中侦听 SQS 队列。
- 脚本完成后,将 Python 脚本的输出上传到目标 S3 存储桶。
你能把 Python 处理分解成更小的步骤吗?如果您可以让您的代码在 Lambda 限制范围内运行,我绝对建议您使用 Lambda 而不是管理 EC2。
推荐阅读
- javascript - 在前端显示存储在数组中的 API 数据
- python - 如何通过openpyxl将垂直和水平误差条添加到散点图中的系列中
- excel - 使用vba提取xml信息
- apache-flink - Apache Flink CEP 中没有事件
- kotlin - Android Flow 错误ReceiveChannel.consumeAsFlow 只能收集一次
- cassandra - 建议停止压实以减少缓慢
- r - 使用索引对 r 中的数据帧执行数学运算
- c# - nlog 通过记录器名称设置全局属性
- javascript - 使用 JavaScript e.target 在元素外部单击不起作用
- excel - 用于连接的 Excel VBA 函数不返回有效的单元格结果(但 debug.print 显示正确的字符串)