问题标签 [awss3transferutility]

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 投票
1 回答
886 浏览

ios - AWSS3TransferUtility 后台上传 - 禁用蜂窝访问(仅限 Wi-Fi)

哟。我在 iOS 上使用 AWS S3 SDK,需要上传大文件(视频)。

由于它们很大,我需要在应用程序处于后台、暂停或终止时继续上传(AWSS3TransferUtility这里的繁重工作)。

另外,由于它们很大,我想在未连接到 WiFi 时暂停上传,并在重新连接时恢复。我相信这是NSURLSession配置的性质allowsCellularAccess = NO

由于我无法在应用程序处于后台或终止状态时查看可达性并手动暂停/恢复任务,我希望这必须在AWSS3TransferUtility.

有谁知道这是否可能,以及如何实现上述目标?

非常感谢。

--

PS:我正在使用的示例代码是亚马逊的示例项目:https ://github.com/awslabs/aws-sdk-ios-samples/tree/master/S3BackgroundTransfer-Sample

对象-c,iOS 9

0 投票
1 回答
2002 浏览

android - 如何在将对象上传到 Amazon s3 时为其设置 ACL?

我可以将图像从 Android 上传到 Amazon s3。但它们始终是私有的,没有人可以展示它们。我必须在 Amazon s3 管理控制台上公开它。上传图片时无法设置 ACL。

我了解到,有两种方法可以将图像从 Android 上传到 Amazon s3:

  • 使用 PutObjectRequest
  • 使用 TransferUtility.upload()

我都试过了。如果我更喜欢 PutObjectRequest,我必须使用 AsyncTask 或其他线程。因为 PutObjectRequest 在主线程上运行。但我不想使用 AsyncTask 或其他线程。

我想使用 TransferUtility,因为它不在主线程上运行,在服务上工作,所以我不必使用 AsyncTask 或其他线程。我也可以轻松跟踪进度和转移状态。此外,TransferUtility 比 PubObjectRequest 更新。但是问题来了:我不知道如何在将对象上传到 s3 时或之前为其设置 ACL。我试过了:

但它返回“主线程上的网络”错误。所以我需要使用 AsyncTask 或其他线程。但我不想使用 AsyncTask 或其他线程。使用 TransferUtility 上传对象时如何为对象设置 ACL?

0 投票
1 回答
290 浏览

amazon-web-services - S3 功能发布到多个存储桶

我们目前正在将数据发布到 S3 存储桶。我们现在有多个客户端来使用我们存储在存储桶中的这些数据。每个客户都希望拥有自己的存储桶。要求是将数据发布到每个存储桶。

选项 1:让我们的发布者发布到每个 S3 存储桶。缺点:我们的发布应用程序有更多逻辑。根据客户端处理失败/重试。

选项2:使用S3的跨区域复制理由:即使我们可以将对象转移到其他账户,也只能指定一个目的地。如果源存储桶具有服务器端加密,我们无法复制。

选项 3:AWS 兰巴。让 S3 调用 Lamba 并将 Lamba 发布到多个存储桶。困惑:不确定这与选项 1 有何不同。

选项 4:以只读方式限制对我们的 S3 存储桶的访问。让客户从中阅读。但是想知道客户如何知道一个对象是否已经被读取!我不喜欢基于时间的文件夹,我们有多个发布者到这个 S3 存储桶,客户无法确定文件夹是否确实完整。

有什么好的选择可以解决上述问题吗?

0 投票
2 回答
4900 浏览

android - 如何在具有公共权限的情况下将 Android 文件上传到 S3 存储桶

我一直在尝试将文件上传到 s3 存储桶。但是该文件永远不会公开供查看。我必须手动将存储桶中的文件/文件夹公开(每次上传)才能查看。

有没有办法上传具有默认权限的Android文件(位图)以供查看。如果可能的话,我更愿意以编程方式执行此操作。我检查了 s3 文档,找不到任何有用的东西。

0 投票
1 回答
918 浏览

amazon-web-services - 上传子目录 transferutility S3

我想将目录中的所有文件/文件夹上传到 S3 存储桶。我想上传包括所有子目录中的所有文件。我想使用 TransferUtility 来做到这一点。尽管此处的链接显示“默认情况下,Amazon S3 仅将文件上传到指定目录的根目录。但是,您可以指定以递归方式上传所有子目录中的文件。但我找不到办法做到这一点。我找不到任何可以提及的属性来包含所有子目录。我尝试使用SearchOption = System.IO.SearchOption.AllDirectoriesandSearchPattern = "*"来实现这一点,但它仍然只上传了最顶层目录中的文件。请帮助我。谢谢。

我正在使用下面的代码,

0 投票
1 回答
1279 浏览

ios - iOS AWS S3 传输实用程序未上传

我已经完全实现了本教程,并且我能够使用 uploadData 方法成功地将图像上传到 s3 存储桶(完成处理程序块以 error=nil 运行)。我的问题是,当我通过 AWS 控制台查看时,我看不到存储桶中的文件,所以我不确定图像是否已成功上传,并且由于权限错误或类似的事情我找不到它或者如果图像没有真正上传。

知道有什么问题吗?

编辑 -

我已在为客户端身份验证目的创建的新 Cognito 池 ID 的角色策略中向 S3 存储桶添加了权限,但仍然没有帮助。

编辑 2 - 我还向所有人开放了存储桶本身的权限。

0 投票
2 回答
985 浏览

android - TransferUtility S3 恢复不起作用

我正在使用 TransferUitlty 类将文件上传到 S3。一切都很好,除了在我暂停上传并恢复它之后。该文件是从头上传,而不是从我暂停的地方上传。

这种恢复方法是为重新启动上传还是从暂停的地方恢复而设计的?

我可以在杀死应用程序后使用 resume 方法恢复上传吗?

代码:

0 投票
2 回答
1046 浏览

android - 如何为 android 文件上传到 aws s3 服务器添加暂停和恢复

我正在开发一个 android 应用程序来将文件上传到亚马逊 s3 服务器。它工作正常。现在,我想在应用程序中添加暂停和恢复功能。我正在使用传输效用函数。是否有任何解决方案或如何通过共享偏好来实现?请帮我。

MainActivity.java

0 投票
0 回答
959 浏览

c# - 将内存流从一个 API 传递到另一个 API

我正在尝试将一些数据导出到 excel 并将该 excel 存储在 AWS S3 中。我们目前的架构是这样的,

  1. 我们从数据库中获取数据并根据需要对其进行操作。这是通过一个 API 调用完成的。

  2. 我们需要将该数据作为流传递给另一个 API(专门设计用于与 AWS S3 交互)

  3. 将该流作为 Excel 文件存储在 AWS S3 中。

到目前为止,我取得的成就是:

我能够从数据库中获取数据并将其转换为内存流。我编写了另一个 API 来接收这个流。但是无法将内存流从一个 API 传递到另一个 API。

第一个 API:

第二个API:

任何帮助都非常感谢!

0 投票
0 回答
341 浏览

amazon-web-services - AWS S3 TransferUtility.UploadDirectoryRequest 和 HTTP PUT 限制

这里有一点背景。我设计了一个 WEB API,它提供了云操作(上传、下载..)的方法。该 API 在内部调用 AWS API 方法来满足这些云操作请求。

WebDev 解决方案 --> WEB API --> AWS API

我正在尝试将目录上传到 AWS S3 云。此目录包含每个超过 5 GB 的大型单个文件。Amazon S3 对单个 PUT 操作的限制为 5 GB。但是他们提供了一种多部分上传机制,使用该机制可以上传高达 5 TB 的文件。

AWS 文档说 TransferUtility.UploadDirectory 方法将使用分段上传机制来上传大文件。所以在我的 WEB API 中,一个 [PUT] UploadDirectoryMethod 方法调用 TransferUtility.UploadDirectory 来上传目录。我收到一条错误消息“Amazon.S3.AmazonS3Exception:您建议的上传超出了允许的最大大小”

  1. TransferUtility.UploadDirectory 不应该负责将较大的对象(大于 5GB)分成几部分,然后通过多个 PUT(?)操作上传它们?
  2. 对于大小超过 5 GB 的对象,分段上传如何在内部工作?它是否在内部创建多个 PUT 请求?