Используйте функцию Netlify для кеширования запроса API
Я пытаюсь использовать функцию netlify для "кеширования" запроса API к Open Street Map. Идея состоит в том, чтобы запросить лямбда-функцию netlify, а затем функция запрашивает OSM API. И я люблю кешировать результат на несколько часов. это действительно просто, чтобы предотвратить слишком много запросов к OSM.
export async function handler(event, context) {
const osmId = event.queryStringParameters.osmId;
const result = await axios.get('OSM API...', {
params: {
data: `...osmId...`,
},
});
return {
statusCode: result.status,
body: result.status === 200 ? JSON.stringify(result.data) : '',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
'Cache-Control': 'public, s-maxage=7200',
}
};
}
Это нормально работает, но кэшируется независимо от параметра "osmId", который я отправляю функции. По сути, это означает, что каждый запрос функции возвращает один и тот же кешированный результат, что, конечно, не имеет смысла.
http://localhost:8888/.netlify/functions/osm-restaurant?osmId=1234 -> Тот же результат
http://localhost:8888/.netlify/functions/osm-restaurant?osmId=5678 -> Тот же результат
Как я могу кэшировать функцию netlify, включая "переданные параметры"? Или как мне поступить с такой "стратегией кеширования", может быть, иначе?