插入时的SimpleDB时间戳

时间:2011-03-12 21:24:20

标签: timestamp amazon-web-services amazon-simpledb

我正在开发一款iPhone游戏,它将使用SimpleDB进行游戏数据存储,我希望能够超时一些数据库条目。

我想我会有一些cron作业查看每个条目的时间戳,如果它的delta大于X,我将超时该条目(更改其中的var以便再次可供选择用户)。

我的问题是我不知道如何统一时间戳。如果用户的系统时钟已经拧紧并且几小时甚至几天都关闭,我该怎么办?我想要的是在插入时从SimpleDB服务器获取系统时间,但我相信我读到SimpleDB不提供任何类型的时间戳。

我目前唯一想到的是让所有客户在启动时从一些随机在线源获取时间戳,然后根据该时间和系统滴答确定时间戳,但我真的更喜欢将其内部保留在我的程序和AWS中服务器,因为我无法保证第三方时间戳源将提供什么以及何时提供。

有人可以建议解决此问题,或者提醒我注意AWS服务器维护的可访问时间戳吗?我还处于设计阶段,所以我没有对AWS消息做过多少工作,他们的响应数据包可能包含某个地方的时间吗?

谢谢! -Skyler

2 个答案:

答案 0 :(得分:3)

我的建议是让一个中间web服务(可能坐在EC2实例上)处理你的iPhone应用程序和SimpleDB之间的所有通信。

这解决了您的问题,因为现在中间Web服务器可以添加一致的时间戳。

但是......更重要的是,这解决了AWS密钥(现在它们生活在您控制的服务器上)的安全问题。你真的不想把它们嵌入你的iPhone应用程序......: - )

答案 1 :(得分:1)

同意Scrappydog - 无论如何,您可能需要使用中间件来保护您的AWS密钥。看看:

https://github.com/apetresc/awskeyserver

用于概念验证解决方案。这使用GAE,它也可以为您提供稳定的时间源。