#amazon-web-services #amazon-dynamodb #aws-api-gateway
Вопрос:
Я использую прокси-сервер AWS со шлюзом API AWS для взаимодействия с таблицей DynamoDB. У меня есть ресурс API, в котором у меня есть метод GET с приведенной ниже конфигурацией:
API использует Scan
действие, как показано выше, для извлечения всех элементов из таблицы DynamoDB. У меня также есть следующий шаблон сопоставления интеграции запросов;
{
"TableName": tableName
}
Это действительно просто. Но моя проблема в том , что я хотел бы добавить еще один метод GET, чтобы получить каждый элемент по своему id
, который будет указан в URL как a param
. Однако, поскольку я уже настроил один метод GET, я не могу настроить другой для извлечения только одного элемента. Я знаю, что могу использовать шаблоны сопоставления и Scan
, как указано в документах, для условной выборки элементов, если задан параметр, но это означало бы сканирование всей таблицы, что является пустой тратой времени каждый раз, когда я хочу получить один элемент.
Есть ли какой-нибудь другой способ сделать это?
Комментарии:
1. Обычно вы создаете для него новый ресурс, например
/contact
.2. Было бы разумно, чтобы GET ‘/contacts’ извлек список контактов, в то время как GET ‘/contacts/:id’ извлекал бы контакт по его идентификатору. Вам нужно определить другой маршрут вместо встраивания логики маршрутизации в шаблон сопоставления.