amazon-web-services - 如何处理 Lambda 在 S3 上添加的文件并能够将数据转储到 redshift
问题描述
我想知道如何在我的 S3 存储桶上拥有可由我的 lambda 函数处理的示例文件,然后能够将数据转储到 redshift 中。
我知道我们可以使用以下 aws 文档中的 COPY 命令将数据从 S3 加载到 Redshift:https ://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-data.html
S3 上的文件在被 Lambda 函数处理后使用 Redshift 的过程是什么?
解决方案
- 配置 S3 存储桶以在上传新文件时触发您的 Lambda 函数。
- Lambda 函数可以将文件从 S3 复制到 Lambda 环境的
/tmp
文件夹,然后执行所需的任何处理。 - 处理完成后,如果您要执行 Redshift
COPY
命令,则 Lambda 函数需要首先将新文件复制到 S3 中的不同位置,可能是完全不同的存储桶,然后将COPY
命令发送到 Redshift 集群。或者,Lambda 函数可以打开与 Redshift 集群的连接并INSERT
直接发出语句。
如果您想进一步解耦该过程,您可以让 Lambda 函数简单地将最终输出复制到另一个 S3 存储桶并退出。COPY
然后让第二个 S3 存储桶触发向 Redshift发出命令的第二个 Lambda 函数。
推荐阅读
- excel - 如何将 Excel 与 IBM Watson 连接起来
- java - 无需手动编辑构建路径的 JavaFX 11 设置
- symfony - 如何在 FOR 循环中更改元素的值
- javascript - 过滤器值的增加和减少在 Camanjs 中无法正常工作
- php - 如何检查在 php 中完成的 bash shell
- dart - 如何根据第一个流中的事件启动第二个流?
- symfony4 - Symfony4 内核找不到自动加载的类
- python-3.x - 如何避免在activex autocad api上的SendCommand期间保存提示
- c - Cppcheck 在每次扫描时返回不同的结果
- json - 使用 PowerShell 嵌套 JSON