Ваш код выглядит нормально, с одним предупреждением: условия сканирования для неключевых атрибутов .
Я собираюсь выйти на конечность и предположить, что Id
является ключом раздела (или, возможно, ключом сортировки) вашей таблицы. Если это правда, то поэтому вы не можете использовать его в условиях сканирования. Можно добавить несколько условий сканирования, но все они должны быть для неключевых атрибутов.
Чтобы указать ключевые условия, вы должны использовать операцию Запрос , а не Сканирование .
Если ваша таблица имеет только первичный ключ и не имеет ключа сортировки, тогда приведенный ниже пример должен работать. Однако, если в таблице также есть ключ сортировки, ваш запрос также должен включать его, поэтому приведенный ниже пример необходимо будет немного изменить.
var creds = new BasicAWSCredentials(awsId, awsPassword);
var dynamoClient = new AmazonDynamoDBClient(creds, awsDynamoDbRegion);
var context = new DynamoDBContext(dynamoClient);
var opConfig = new DynamoDBOperationConfig();
opConfig.QueryFilter = new List<ScanCondition>();
opConfig.QueryFilter.Add(new ScanCondition("name", ScanOperator.Equal, myName));
var response = await context.QueryAsync<Data>(myId, opConfig).GetRemainingAsync();
return response;