iphone - Amazon S3 getDate() API 调用?

标签 iphone date amazon-web-services amazon-s3

有没有办法(API 调用)了解 Amazon S3 服务器上的当前时间?

这里有一些背景知识来解释为什么我需要这个:

我有一个 iPhone 应用程序,有时需要从 Amazon AWS S3 帐户上的存储桶下载一组文件。

在两次此类下载之间,服务器文件可能会被 CMS(Web 内容管理系统)修改,也可能不会。

因此,当进行第二次下载时,客户端应用程序会尝试仅下载自上次下载以来在服务器上修改过的文件,以提高效率。

为了实现这一点,应用程序会存储上次下载的日期,当进行新的下载时,它只关注自上次下载日期以来服务器上修改过的文件(使用“修改日期”)使用 SDK listObjects() 函数可访问的属性)。

这样做的问题是手机上的日期和s3服务器上的修改日期可能不兼容。手机用户可能更改了手机日期和时间设置等。

要实现此目的,保存的“上次下载日期”应来自 Amazon S3 API 调用,以确保应用程序逻辑使用的所有日期都是同步的。

有这样的事吗?或者也许是替代方案或解决方法?

最佳答案

您可以使用文件哈希代替修改日期。 Amazon S3Object 有一个 etag 属性,它确实是这种哈希值。您检索此属性的方式与访问日期相同。

让您的客户端设备将此哈希值与文件一起保存。下次连接到服务器时,使用 about 方法请求 etag,并将返回值与本地副本进行比较。

不同的etag值将向客户端表明该文件自上次下载以来已发生更改。这种方法将完全独立于任何日期时间功能。

关于iphone - Amazon S3 getDate() API 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14594499/

相关文章:

iphone - 在完成之前启动动画 UIView?

iphone - 将 NSData 转换回音频文件

amazon-web-services - gitlab ci 中打包程序的 AWS 未授权错误

php - 使用mysql和php打印两个日期之间的差异并打印每天的秒数

amazon-web-services - AWS EC2 t2.micro 实例非常不稳定

android - 没有哈希键条件适用于指定的索引

ios - 每次在 UIImagePickerController() 的 dismiss() 之后调用 viewDidLoad()

iphone - iPad 播放 Youtube 链接

Java:日期范围检查与开放结束日期

java - java.util.GregorianCalendar 在 1976 年 3 月 28 日到 3 月 29 日之间发生了什么?