Я пытаюсь использовать функцию netlify для «кэширования» запроса API к Open Street Map. Идея состоит в том, чтобы запросить лямбда-функцию netlify, а затем функция запрашивает API OSM. И мне нравится кэшировать результат на несколько часов. на самом деле это просто для предотвращения слишком большого количества запросов к 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, включая «переданные параметры»? Или как мне справиться с такой «стратегией кэширования», может быть по-другому?