Временная метка SimpleDB при вставке - PullRequest
3 голосов
/ 13 марта 2011

Я работаю над игрой на iPhone, которая будет использовать SimpleDB для хранения игровых данных, и я хотел бы иметь возможность тайм-аута некоторых записей в базе данных.

Я полагаю, что у меня будет некоторая работа cron, котораяпросматривает временную метку каждой записи и, если ее дельта больше X, я истечу время этой записи (измените в ней переменную, чтобы она снова была доступна для выбора пользователями).

Моя проблема в том, что яне знаю, как унифицировать временные метки.Что мне делать, если у пользователя испорчены системные часы и они выключены на пару часов или даже дней?Я хотел бы получить системное время от серверов SimpleDB при вставке, но я считаю, что я прочитал, что SimpleDB не предоставляет никакой метки времени.

Моя единственная текущая мысль - это иметь всех клиентовпри запуске получить временную метку из какого-то случайного онлайн-источника, а затем определить временные метки на основе этого времени и системных тиков, но я бы действительно предпочел сохранить эту внутреннюю информацию для своей программы и серверов AWS, поскольку не могу гарантировать, какая временная метка стороннего производителяИсточник будет предоставлен и когда.

Может кто-нибудь предложить решение этой проблемы или предупредить меня о доступной метке времени, которая поддерживается серверами AWS?Я все еще на стадии разработки, поэтому я не проделал большую работу с сообщениями AWS, могут ли их ответные пакеты где-то содержать время?

Спасибо!-Скилер

Ответы [ 2 ]

3 голосов
/ 16 марта 2011

Я бы порекомендовал, чтобы промежуточный веб-сервис (вероятно, в экземпляре EC2) обрабатывал все коммуникации между вашим приложением для iPhone и SimpleDB.

Это решает ваш неотложный вопрос, потому что теперь промежуточный веб-сервер может добавлять согласованную временную метку.

Но ... что более важно, это решает проблему безопасности, связанную с тем, что с вами у вас есть ключи AWS (теперь они живут на сервере, которым вы управляете). Вы действительно не хотите, чтобы они были встроены в ваше приложение для iPhone ...: -)

1 голос
/ 23 марта 2011

Согласитесь со Scrappydog - вам, вероятно, понадобится промежуточное ПО для защиты ваших ключей AWS в любом случае.Взгляните на:

https://github.com/apetresc/awskeyserver

для решения в концепции.Это использует GAE, который также может предоставить вам стабильный источник времени, я уверен.

...