Python3.7 Avec intégration proxy
Vous pouvez obtenir les paramètres de la charge utile transmise d'API Gateway à Lambda.
demande https://XXXX/XXXX/XXXX?id=1&value=foo
response = event.get('queryStringParameters')
return {
'statusCode': 200,
'body': json.dumps(response)
}
résultat
{
"id": "1"
"value": "foo"
}
Vous pouvez obtenir la valeur par nom de paramètre.
demande https://XXXX/XXXX/XXXX?id=1&value=foo
response = event.get('queryStringParameters').get('value')
return {
'statusCode': 200,
'body': json.dumps(response)
}
résultat
"foo"
Il sera nul si le nom de paramètre spécifié n'existe pas.
Vous pouvez également obtenir les paramètres ici, Utilisé lorsqu'il y a plusieurs (tableaux) du même nom de paramètre.
demande https://XXXX/XXXX/XXXX?id=1&value=foo&value=bar&value=baz
response = event["multiValueQueryStringParameters"].get("value")
return {
'statusCode': 200,
'body': json.dumps(response)
}
résultat
{
"id": [
"1"
],
"value": [
"foo",
"bar",
"baz"
]
}
À quoi vous devez faire attention Lorsque vous spécifiez un nom de paramètre qui n'existe pas Si vous essayez d'obtenir le contenu du tableau tel quel, une erreur se produit.
demande https://XXXX/XXXX/XXXX?id=1
C'est ok (devient nul)
response = event["multiValueQueryStringParameters"].get("value")
return {
'statusCode': 200,
'body': json.dumps(response)
}
C'est une erreur Arrêtons cette façon de prendre.
response = event["multiValueQueryStringParameters"].get("value")[0]
return {
'statusCode': 200,
'body': json.dumps(response)
}
demande https://XXXX/XXXX/XXXX?id=1&value=foo&value=bar&value=baz
response = event.get('queryStringParameters')
return {
'statusCode': 200,
'body': json.dumps(response)
}
résultat
{
"id": "1"
"value": "baz"
}
Le baz est récupéré, écrasé par la dernière valeur.
Prenons la méthode qui convient à l'objectif en fonction des paramètres passés.
Recommended Posts