AWS
lambda

aws LambdaとAPI Gatewayではまったところ

More than 1 year has passed since last update.

やりたいこと

  • API GatewayとLambdaを使ってパラメータの値を返すAPIを作りたい
  • 以上

はまったところ

  • Lambdaのテストは通ってるのにAPI Gatewayを通すと502
  • パラメータが拾えないんですけど

Lambdaのテストは通ってるのにAPI Gatewayを通すと502

ドキュメント読めという話なんですが、最低以下のフォーマットを満たしていないといけないようです。

{
    "statusCode": httpStatusCode,
    "body": "..."
}

http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-set-up-simple-proxy.html

パラメータが拾えないんですけど

結論から言うとeventの中のqueryStringParametersにパラメータが入ってます。
ググると出てくるような
これは以下を実行すると確認できます。

Python

import json

print('Loading function')


def lambda_handler(event, context):
    return {
        "isBase64Encoded": "true",
        "statusCode": 200,
        "headers": {},
        "body": json.dumps(event)
    }

Nodejs

'use strict';

console.log('Loading function');

exports.handler = (event, context, callback) => {
    callback(null, {
        "statusCode": 200,
        "body": JSON.stringify(event)
    });
};