рекурсивный вызов в резолвере Dynamodb AWS AppSync

Я хочу написать рекурсивный вызов с помощью Dynamodb-resolver. Допустим, всякий раз, когда я достигал лимита Dynamodb

  1. Пакетные операции DynamoDB - необработанный ключ
  2. ограничение запроса 1 МБ со следующим токеном
  3. ограничение на сканирование 1 Мб со следующим токеном

Я должен иметь возможность сделать рекурсивный вызов всякий раз, когда "context.result" содержит указанные выше значения. Я решил эту проблему с помощью преобразователя Lambda.

var processItemsCallback = function(err, data) {
  if (err) { 
     //fail
  } else {
    var params = {};
    params.RequestItems = data.UnprocessedItems;
    if(Object.keys(params.RequestItems).length != 0) {
      db.batchWriteItem(params, processItemsCallback);
    }
  }
};

db.batchWriteItem(/*initial params*/, processItemsCallback);

Мне любопытно узнать, могу ли я сделать что-то подобное лямбда-выражению, используя Резолверы DynamoDB

. Основываясь на моем анализе, я думаю, что не могу добиться чего-то подобного, используя конвейер.


person Kshitiz Jaiswal    schedule 26.07.2019    source источник


Ответы (1)


Если вам нужно выполнить пейджинг, я предлагаю вам обработать эту логику в клиенте, вернув следующий токен, или вы реализуете эту логику в преобразователе Lambda.

person Tinou    schedule 01.08.2019