使用Lambda将文件从S3移动到我们的Redshift。
使用UNLOAD命令直接从数据提供程序的Redshift将数据放入S3。它有10个不同的部分,由于并行运行,有时在不同的时间完成。
我希望Lambda触发器等到所有数据完全上传后再触发触发器以将数据导入我的Redshift。
Lambda中有一个名为“完成分段上传”的事件选项。 UNLOAD功能是否算作Lambda中的分段上传?或者,在提供商完全上传所有部分之前,简单的“POST”事件是否会触发?
没有明确的文档确认Redshift的UNLOAD命令计为分段上传,或者确认在数据提供程序的整个上传完成之前触发器不会触发。
答案 0 :(得分:2)
对于Amazon S3,多部分上传是单个文件,以多个部分上传到S3。上传完所有部分后,客户端会调用CompleteMultipartUpload
。只有在客户端调用CompleteMultipartUpload
后,文件才会显示在S3中。
只有在文件完成后才会触发Lambda函数。你不会为每个部分获得Lambda触发器。
如果您的UNLOAD
操作在S3中生成多个对象/文件,则它不是S3"多部分上传"。