Отметка времени SimpleDB при вставке

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

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

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

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

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

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


person Skyler    schedule 12.03.2011    source источник


Ответы (2)


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

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

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

person Scrappydog    schedule 16.03.2011
comment
Крысы, я надеялся избежать этого, но я задумался о защите ключа AWS, так что думаю, это к лучшему;) - person Skyler; 24.03.2011

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

https://github.com/apetresc/awskeyserver

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

person Ryan    schedule 23.03.2011