2

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

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

我有一个 iphone 应用程序,有时必须从 Amazon AWS S3 帐户的存储桶中下载一组文件。

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

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

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

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

为实现此目的,保存的“最后下载日期”应来自 Amazon S3 API 调用,以确保应用逻辑使用的所有日期同步。

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

4

1 回答 1

4

您可以使用文件哈希而不是修改日期。亚马逊S3Object有一个etag确实是这种哈希的属性。您检索此属性的方式与您访问的方式相同date

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

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

于 2013-01-30T00:37:37.797 回答