问题标签 [awss3transfermanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
852 浏览

amazon-s3 - AWS S3 文件上传 - 1 GB 文件

我正在尝试使用 java sdk 上传大文件(小于 5 GB,因此不是分段上传,正常上传)。较小的文件会立即上传。但大于 1 MB 的文件不会上传。我的代码卡在实际上传发生的地方。我尝试使用传输管理器 (TransferManager.upload) 函数,当我检查传输的字节数时,它一直传输超过 1 MB 并一直运行,直到我强制停止我的 java 应用程序。可能是什么原因,我哪里出错了。相同的代码适用于较小的文件。问题仅在于较大的文件。

DefaultAWSCredentialsProviderChain credentialProviderChain = new DefaultAWSCredentialsProviderChain(); TransferManager tx = new TransferManager(credentialProviderChain.getCredentials()); 上传 myUpload = tx.upload(S3bucket,fileKey, file);


s3Client.upload(new PutObjectRequest(S3bucket,fileKey, file));

尝试了传输管理器上传和 putobject 方法。两者的问题相同。

TIA。

0 投票
1 回答
1252 浏览

amazon-s3 - AWS S3 TransferManger 与 TransferUtility

不久前,我偶然发现了 AWS 的 S3 iOS SDK,并在我的项目中忠实地使用它。

最近一个项目要求我实现一个我以前从未做过的新功能,将媒体上传到 S3 并继续上传,即使应用程序被移到后台也是如此。

经过一番研究,建议使用 AWS S3 Transfer Utility。在查看文档后,我相信这是正确的方法,但是,我已经使用 TransferManager 一段时间了,我不太了解应用程序时继续数据传输能力的 2 OUTSIDE 之间的区别在后台。

我的问题: TransferMangerTransferUtility之间的功能差异是什么?

0 投票
1 回答
136 浏览

python - 如果使用 HTTP/1.1,模拟 S3 服务器会停止

我正在编写一个测试,其中使用http.server.HTTPServer/在测试环境中加载了一个简单的模拟 S3 http.server.BaseHTTPRequestHandler,以测试涉及 Boto 的 S3Transfer 的多部分下载行为。

它工作正常,除非我指定服务器使用HTTP/1.1. 在这种情况下,它将下载一个 100mb 文件的 2 个 8mb 部分,然后挂起。我希望使用模拟服务器, HTTP/1.1因为这是真正的 S3 使用的(我相信)。

下面是测试的简化版本,可以由...运行


请注意,这Writable是故意不可搜索的:在我的真实代码中,我使用的是不可搜索的类似文件的对象。

是的,moto 可以用来制作模拟 S3,我这样做是为了其他测试,但是对于这个特定的测试,我想要“真实”的服务器。涉及到自定义文件对象,并希望确保 S3Transfer 以及与此问题无关的其他代码按我预期的方式一起运行。

如何设置一个使用HTTP/1.1S3Transfer 并且可以从中下载的模拟 S3 服务器?

0 投票
2 回答
3072 浏览

java - 如何从 S3 存储桶的各个文件夹中下载与文件名具有相同前缀的多个文件?

假设我有一个名为bucketSample.

而且我有不同的文件夹,例如abc,defxyz.

现在我hij_在上述所有文件夹中有多个带有前缀的文件。

我想下载所有带有前缀的文件hij_。(例如,,,hij_qwe.txthij_rty.pdf

我经历了各种方式,但GetObject我必须提供特定的对象名称,而且我只知道前缀。

并且使用 TransferManager 我可以下载文件夹的所有文件,abc但不能下载具有特定前缀的文件。

那么有什么方法可以让我只下载所有带前缀的文件hij_吗?

0 投票
0 回答
265 浏览

java - Transfer Manager 上的 Amazon SDK 自定义标头问题

我们正在尝试使用 TransferManager 从 Amazon S3 下载文件。但是 TransferManager 在 doDownload 函数中多次使用 getObjectMetadata 服务。并通过从我提供的初始请求中复制普通成员来调用这些服务来创建请求。

问题是我添加了一些自定义标头,包括授权标头。getObjectMetadata 需要该标头。所以我必须修改一些 sdk 类。

AmazonS3Client.java

RequestCopyUtils.java

对我来说,这似乎是一个错误。但是有什么合适的解决办法吗?

问候

0 投票
1 回答
1344 浏览

java - AWS TransferManager uploadFileList 在 S3 中截断文件名

我正在尝试使用 TranferManager 在 S3 中批量上传几个文件。下面是我的代码:

在这里,如您所见,我将文件名指定为“1234.webp”,但保存在 S3 中的文件名是“34.webp”。我尝试了一个更大的名称,例如“1234567.webp”,前两位数字再次被截断,文件名为“34567.webp”。我做错了什么?

请注意,在我粘贴在这里的示例中,我只是上传一个文件,但在我的实际代码中,我确实上传了多个文件,但在这两种情况下,无论如何,名称都会被截断。

0 投票
1 回答
714 浏览

java - AWS SDK Java TransferManager 限制下载大小

我目前正在通过以下代码片段将名称与prefix_匹配的 S3 文件夹下载到本地TMP_FOLDER :

问题是我的机器磁盘空间不足,因为我尝试下载的那些文件夹很大(它们包含许多微小的文本文件,但每个文件夹的总大小高达几个 GiB)。

所以,我的问题是,有没有办法限制TransferManagerMultipleFileDownload只下载特定大小的数据?

理想情况下,它应该一个一个地下载小文件,检查下一个文件是否超过了预定义的限制,如果超过则停止(这将避免最后有任何不完整的文件)

(当然我假设没有一个文本文件本身会比所建立的限制更大)

0 投票
1 回答
615 浏览

amazon-web-services - S3 传输管理器需要大量时间来上传

我正在通过传输管理器将我的应用程序对象上传到 s3。它工作正常,除了极少数情况下,300 KB 的对象大小需要 15 分钟。我只是在探索引入重试逻辑,以便在 30 秒后中止当前上传并重新提交。下面是我的代码

我们能否有一些东西可以让我在 30 秒后让这个上传请求超时,以便我可以重试。waitForUploadResult 方法是一个阻塞调用,所以不能对它做任何事情,只能等待它完成。

提前致谢!

0 投票
1 回答
728 浏览

java - AWS Java SDK 传输管理器仅下载文件夹结构

当我尝试使用 KeyPrefix 从 S3 下载特定文件夹的所有文件时,它只下载目录结构而不是其中的文件。

下面是代码 TransferManager xfer_mgr = TransferManagerBuilder.standard().build();

我是否遗漏了代码中的任何内容,或者必须添加任何权限?任何建议都会非常有帮助。

0 投票
2 回答
13289 浏览

amazon-web-services - 如何使用 golang 从 AWS S3 下载

我正在编写一个 go 函数来从 AWS S3 存储桶下载文件。

但是,我收到一条要求提供凭据的错误消息。

NoCredentialProviders:链中没有有效的提供者。已弃用。有关详细消息,请参阅 aws.Config.CredentialsChainVerboseErrors

该文档没有具体说明如何设置凭据。(访问密钥 ID,秘密访问密钥)

任何想法?