PocoDynamo - использовать существующую таблицу
Предположим, у меня уже есть таблица в DynamoDB, как мне зарегистрировать ее в PocoDynamo
Тип SomeTable указывает на разные таблицы в средах prod и stg. Есть ли способ зарегистрировать тип с именем таблицы или задать имя таблицы другим способом.
_pocoClient.PutItem<SomeTable>(item)
Есть ли способ использовать существующую таблицу с PocoDynamo?
Примечание: я создаю таблицы с помощью terraform, не хочу использовать PocoDynamo для создания инфраструктуры.
1 ответ
В PocoDynamo вам просто нужно позвонитьRegisterTable
чтобы "зарегистрировать" таблицу и ее схему в PocoDynamo, то есть:
db.RegisterTable<SomeTable>();
Вы можете программно изменить имя таблицы (при запуске перед вызовом InitSchema()), зарегистрировав таблицу с помощью:
var metadata = DynamoMetadata.RegisterTable<SomeTable>();
metadata.Name = "DbTableName";
После регистрации и настройки таблиц вызов InitSchema
создаст только те таблицы, которые еще не существуют:
db.InitSchema();
Если вы хотите, чтобы таблица DynamoDB имела имя, отличное от имени типа.NET, вы можете использовать атрибут Alias, например:
[Alias("DbTableName")]
public class SomeTable
{
//..
}
Примечание. PocoDynamo - это типизированный клиент.NET с первым кодом, что означает, что он ожидает, что таблицы DynamoDB будут созданы именно так, как он создавал бы их, и не подходит для сопоставления с существующими таблицами, созданными с различными соглашениями.