Вместо того, чтобы использовать S3 для этого, я думаю, что вы хотите использовать Amazon SimpleDB. Это позволяет хранить данные в формате пары ключ-значение, а также выполнять запросы к данным.
Затем, чтобы сделать то, что вы ищете, я думаю, что вы хотите Простой Savant .
Simple Savant - это инфраструктура сохранения объектов .NET для Amazon SimpleDB, написанная на C #.
С помощью Simple Savant вы можете сохранять такие объекты:
var savant = new SimpleSavant(AwsAccessKeyId, AwsSecretAccessKey);
var customer = new Customer
{Name = "Frank Berry", PhoneNumbers = new List<string> {"770-555-1234", "678-555-5678"} };
savant.Put(customer);
И вы можете получать объекты, как это:
var frankId = new Guid("50a60862-09a2-450a-8b7d-5d585662990b");
Person frank = savant.Get<Person>(frankId); // strong type, no cast!
Надеюсь, это поможет!