Проблема с ключами кэширования API AWS - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть несколько 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 минут, чтобы попытаться повторить попытку. Я все еще не дал результатов, которых я ожидал.

1 Ответ

0 голосов
/ 05 апреля 2019

Pro Совет:

При настройке ключей кэша вам все равно придется развертываться от ресурсов к этапу.Это, конечно, имеет смысл, но было бы хорошо, если бы консоль управления показала больше о параметрах метода, чем она делает.

Я использую Chalice ... именно поэтому я не развертывал в обычном режиме.

...