使用数据管道将文件 >5 gig 移动到 AWS S3
Moving files >5 gig to AWS S3 using a Data Pipeline
我们在使用 Java 代码生成的文件时遇到问题,这些文件是在本地编写的,然后由数据管道复制到 S3。错误提到文件大小。
我原以为如果需要分段上传,那么管道会解决这个问题。我想知道是否有一种配置管道的方法,以便它确实使用分段上传。因为否则当前 Java 与 S3 无关的代码必须直接写入 S3 或必须执行它过去的操作然后使用分段上传——事实上,我认为代码会直接写入 S3不用担心上传。
谁能告诉我 Pipelines 是否可以使用分段上传,如果不能,您能否建议正确的方法是让程序直接写入 S3 还是继续写入本地存储,然后也许有一个单独的程序在将进行分段上传的同一管道中调用?
Data Pipeline CopyActivity 不支持大于 4GB 的文件。 http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-copyactivity.html
这低于 S3 对每个文件部分放置施加的 5GB 限制。
您需要编写自己的脚本来包装 AWS CLI 或 S3cmd(较旧)。此脚本可以作为 shell activity.
执行
直接写入 S3 可能是个问题,因为 S3 不支持追加操作 - 除非您可以以某种方式在一个文件夹中写入多个较小的对象。
根据 AWS 支持,答案是确实无法将 5 gig 文件直接上传到 S3。目前没有办法让数据管道说,"You are trying to upload a large file, so I will do something special to handle this."它只是失败了。
这在未来可能会改变。
我们在使用 Java 代码生成的文件时遇到问题,这些文件是在本地编写的,然后由数据管道复制到 S3。错误提到文件大小。
我原以为如果需要分段上传,那么管道会解决这个问题。我想知道是否有一种配置管道的方法,以便它确实使用分段上传。因为否则当前 Java 与 S3 无关的代码必须直接写入 S3 或必须执行它过去的操作然后使用分段上传——事实上,我认为代码会直接写入 S3不用担心上传。
谁能告诉我 Pipelines 是否可以使用分段上传,如果不能,您能否建议正确的方法是让程序直接写入 S3 还是继续写入本地存储,然后也许有一个单独的程序在将进行分段上传的同一管道中调用?
Data Pipeline CopyActivity 不支持大于 4GB 的文件。 http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-copyactivity.html
这低于 S3 对每个文件部分放置施加的 5GB 限制。
您需要编写自己的脚本来包装 AWS CLI 或 S3cmd(较旧)。此脚本可以作为 shell activity.
执行直接写入 S3 可能是个问题,因为 S3 不支持追加操作 - 除非您可以以某种方式在一个文件夹中写入多个较小的对象。
根据 AWS 支持,答案是确实无法将 5 gig 文件直接上传到 S3。目前没有办法让数据管道说,"You are trying to upload a large file, so I will do something special to handle this."它只是失败了。
这在未来可能会改变。