У меня есть несколько API-путей, настроенных в тестовой настройке API-шлюза с простым этапом «API». Я использую AWS Lambda и хочу кэшировать результаты лямбда-вызова.
Существует три тестовых пути (без аутентификации)
/a/{thing} (GET Caching turned on in stage)
/b/{thing} (GET Caching turned off in stage)
/c/{thing} (GET Caching turned off in stage)
Все они соответствуют одной и той же лямбда-функции. Лямбда-функция возвращает текущее время и значение {thing}.
Если я запрашиваю /a/0000
- /a/1000
, я получаю тот же результат для функции, которая выполнялась для вещи = 0000.
Если я запрашиваю /b/0000
- /b/1000
(или /c/
), я получаю результаты без кэширования.
вещь выбрана как «кеш» в ресурсах /a/{thing}
. Ничего другого не установлено "кеш".
Насколько я понимаю, выбор «кэша» рядом с элементом пути, элементом запроса или заголовком создаст ключ кэша - возможно, хеш ключа многоключевого кэша. Это было бы идеально!
В идеале /a/0000
и /a/1234
вернут кешированную версию с ключом {thing}.
Что я сделал не так, неправильно прочитал или перешагнул? Я сталкиваюсь с ошибкой, когда дело доходит до AWS Lambda? Кэшируется ли ключ к авторизации - эти URL общедоступны и не аутентифицированы. Я просто использую curl для запроса этих данных, и, конечно, на стороне клиента ничего не кэшируется.
Честно. Я также попытался использовать аргумент запроса в качестве единственного ключа кеша и дал кешу очиститься, и подождал 30 минут, чтобы попытаться повторить попытку. Я все еще не дал результатов, которых я ожидал.