Разбивка на страницы с AWS API Gateway + DynamoDB - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть конечная точка API Gateway GET, которая сканирует таблицу DynamoDB и получает результаты в соответствии с параметром Limit:

requestTemplates:
          application/json: >-
            {
              "TableName": "employee",
              "Limit": 2
            }

Он работает правильно, и ответ на этот запрос при отправке limit = 2 is:

{
   "Count":2,
   "Items":[
      {
         "id":{
            "S":"18"
         },
         "department":{
            "S":"sales"
         },
         "name":{
            "S":"Roger"
         }
      },
      {
         "id":{
            "S":"16"
         },
         "department":{
            "S":"technology"
         },
         "name":{
            "S":"Petterson"
         }
      }
   ],
   "LastEvaluatedKey":{
      "id":{
         "S":"16"
      }
   },
   "ScannedCount":2
}

Проблема в том, что в этой таблице хранится 20 записей, а значения ScannedCount и Count равны 2.

Мне действительно нужночтобы узнать общее количество записей, которые я сохранил, чтобы заставить компонент внешнего интерфейса разбиваться на страницы.

Я просмотрел документацию и увидел, что ожидаемый результат для этого запроса будет ScannedCount = 2 и Count = 20.

Есть ли способ получить его? Большое спасибо.

1 Ответ

0 голосов
/ 30 сентября 2019

Если у вас есть только прямая интеграция api-gw <-> DynamodB Integration, проверьте описание - https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeTable.html и выполните два вызова, чтобы получить нужные данные.

Но я рекомендую использовать лямбду между Api Gateway и DynamoDB, что облегчит нумерацию страниц.

...