有没有办法(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/