AWS Lambdaでは、API Gatewayから渡されたペイロードからパラメータを取得することができます。この記事では、Pythonを使用してAWS LambdaでqueryStringParametersをどのように活用するかについて説明します。
queryStringParametersの基本的な使用方法
まず、基本的な使用方法から見ていきましょう。以下のリクエストを考えてみます。
https://XXXX/XXXX/XXXX?id=1&value=foo
このリクエストに対するLambda関数のコードは次のようになります。
response = event.get('queryStringParameters')
return {
'statusCode': 200,
'body': json.dumps(response)
}
この結果、次のようなレスポンスが得られます。
{
"id": "1",
"value": "foo"
}
multiValueQueryStringParametersの使用方法
次に、同じパラメータ名が複数存在する場合の取得方法を見てみましょう。以下のリクエストを考えてみます。
https://XXXX/XXXX/XXXX?id=1&value=foo&value=bar&value=baz
このリクエストに対するLambda関数のコードは次のようになります。
response = event["multiValueQueryStringParameters"].get("value")
return {
'statusCode': 200,
'body': json.dumps(response)
}
この結果、次のようなレスポンスが得られます。
{
"id": ["1"],
"value": ["foo", "bar", "baz"]
}
注意点
存在しないパラメータ名を指定した時に、そのまま配列の中身まで取得しようとするとエラーとなります。また、同じパラメータ名が複数存在するものをqueryStringParametersで取得する場合、最後の値で上書きされます。
以上、AWS LambdaとPythonを使用したqueryStringParametersの活用方法について説明しました。これらの知識を活用して、より効率的なコードを書くことができるようになりましょう。.