Мы пытаемся написать лямбда-функцию @ edge для запуска на viewer-request. Мне удалось найти множество примеров использования JavaScript.
например
'use strict';
exports.handler = (event, context, callback) => {
console.info('Event: ', JSON.stringify(event, null, 2));
console.info('Context: ', JSON.stringify(context, null, 2));
const request = event.Records[0].cf.request;
// You can also store and read the redirect map
// in DynamoDB or S3, for example.
const redirects = {
'/r/music': '/card/bcbd2481',
'/r/tree': '/card/da8398f4',
};
if (redirects[request.uri]) {
return callback(null, {
status: '302',
statusDescription: 'Found',
headers: {
'location': [{
key: 'Location',
value: redirects[request.uri] }]
}
});
}
callback(null, request);
};
Приведенный выше код будет перенаправлять запросы, соответствующие определенному пути. Может ли кто-нибудь посоветовать, как перенести похожий код на Python? или поделитесь ресурсами / информацией о развертывании функций python lambda @ edge.
Спасибо






Lambda @ Edge раньше разрешает только Node.js, поэтому в то время, когда этот вопрос был первоначально задан, было невозможно создать функции Lambda @ Edge на Python или на любом другом языке, кроме Node.js (или внутри оболочки Node.js) .
По состоянию на август 2018 года Lambda @ Edge поддерживает только среды выполнения Node.js 6.10 и 8.10.
Lambda @ Edge теперь поддерживает Node.js 8.10, Node.js 10.x и Python 3.7 по состоянию на август 2019 года.
Пограничная среда заметно отличается от общего предложения Lambda по нескольким параметрам: см. Среда настройки и выполнения лямбда-функции в Руководстве разработчика CloudFront.