Я создал функцию лямбда-функции и конечную точку шлюза API, чтобы она эхочитала полученные параметры запроса и заголовка, и я хочу разобрать всю полезную нагрузку на JSON для управления.Parse AWS API Gateway header в Lambda
Принятые полезные нагрузки в таком виде:
"{Accept=*/*,
Accept-Encoding=gzip,
deflate,
Accept-Language=nb-NO,nb;q=0.8,no;q=0.6,nn;q=0.4,en-US;q=0.2,en;q=0.2,sv;q=0.2,da;q=0.2,
Authorization=COzTjCKD6VHTC,
Cache-Control=no-cache,
User-Agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36,
Via=1.1 7822a0bcea47c939c09def064206add3.cloudfront.net (CloudFront), X-Amz-Cf-Id=Bd_gFYsmhx0jK0eKf-3sZwwRozXtFoYC5UEFDDLKWYJkq6AR_L0Cfw==,
X-Forwarded-For=89.8.222.70, 205.251.218.72,
X-Forwarded-Port=443, X-Forwarded-Proto=https}"
Это не тривиально разобрать вручную (не существует никакой возможности избежать в строках). Какой формат это, и есть ли некоторые узловые библиотеки для анализа этого формата в JSON?
Мой requestTemplate:
"requestTemplates": {
"application/json": "{\"httpMethod\": \"$context.httpMethod\", \"route\": \"$input.params('route')\", \"query\": \"$input.params().querystring\", \"header\": \"$input.params().header\"}"
},
Это новая функция в консоли? Мне нравится, как он передает всю эту информацию в «контексте». –
Спасибо, куча, отлично выглядит! Но где это выпадающее меню? –
@MarkB Это было добавлено в консоль в недавнем обновлении. При изменении шаблона есть два раскрывающихся списка. Этот новый шаблон доступен в диалоговом окне ** Сгенерировать шаблон **, как ** [Запрос запроса метода] **. –