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 будут созданы именно так, как он создавал бы их, и не подходит для сопоставления с существующими таблицами, созданными с различными соглашениями.

Другие вопросы по тегам