gpt4 book ai didi

amazon-web-services - 是否可以使用s3 java sdk通过流写入s3

转载 作者:行者123 更新时间:2023-12-04 08:14:57 25 4
gpt4 key购买 nike

通常,当文件必须上传到 s3 时,必须先将其写入磁盘,然后再使用 TransferManager api 之类的东西上传到云。如果上传没有按时完成,这会导致数据丢失(应用程序关闭并在不同的服务器上重新启动等)。所以我想知道是否可以直接通过网络将所需的云位置作为接收器写入流。

最佳答案

您没有说明您使用的是哪种语言,但我会根据您的大小写假设使用 Java。在这种情况下,答案是肯定的:TransferManager有一个 upload()采用 PutObjectRequest 的方法,并且您可以围绕流构造该对象。

但是,有两个重要的警告。第一个在 PutObjectRequest 的文档中:

When uploading directly from an input stream, content length must be specified before data can be uploaded to Amazon S3



因此,在开始之前,您必须知道要上传多少数据。如果您收到来自网络的上传文件并且有 Content-Length header ,然后您可以从中获取大小。如果您只是读取任意长度的数据流,那么您必须先将其写入文件(或者 SDK 会这样做)。

第二个警告是,这确实不能防止数据丢失:您的程序仍然可能在读取数据的过程中崩溃。它会阻止的一件事是在将数据存储到 S3 之前向用户返回成功代码,但无论如何您都可以使用文件来执行此操作。

关于amazon-web-services - 是否可以使用s3 java sdk通过流写入s3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51245535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com