Python3.7 Mit Proxy-Integration
Sie können die Parameter aus der Nutzlast abrufen, die vom API-Gateway an Lambda übergeben wird.
Anfrage https://XXXX/XXXX/XXXX?id=1&value=foo
response = event.get('queryStringParameters')
return {
'statusCode': 200,
'body': json.dumps(response)
}
Ergebnis
{
"id": "1"
"value": "foo"
}
Sie können den Wert über den Parameternamen abrufen.
Anfrage https://XXXX/XXXX/XXXX?id=1&value=foo
response = event.get('queryStringParameters').get('value')
return {
'statusCode': 200,
'body': json.dumps(response)
}
Ergebnis
"foo"
Es ist null, wenn der angegebene Parametername nicht vorhanden ist.
Sie können die Parameter auch hier erhalten, Wird verwendet, wenn mehrere (Arrays) desselben Parameternamens vorhanden sind.
Anfrage https://XXXX/XXXX/XXXX?id=1&value=foo&value=bar&value=baz
response = event["multiValueQueryStringParameters"].get("value")
return {
'statusCode': 200,
'body': json.dumps(response)
}
Ergebnis
{
"id": [
"1"
],
"value": [
"foo",
"bar",
"baz"
]
}
Worauf muss man achten? Wenn Sie einen Parameternamen angeben, der nicht vorhanden ist Wenn Sie versuchen, den Inhalt des Arrays so zu erhalten, wie er ist, tritt ein Fehler auf.
Anfrage https://XXXX/XXXX/XXXX?id=1
Dies ist in Ordnung (wird null)
response = event["multiValueQueryStringParameters"].get("value")
return {
'statusCode': 200,
'body': json.dumps(response)
}
Dies ist ein Fehler Hören wir mit dieser Art der Einnahme auf.
response = event["multiValueQueryStringParameters"].get("value")[0]
return {
'statusCode': 200,
'body': json.dumps(response)
}
Anfrage https://XXXX/XXXX/XXXX?id=1&value=foo&value=bar&value=baz
response = event.get('queryStringParameters')
return {
'statusCode': 200,
'body': json.dumps(response)
}
Ergebnis
{
"id": "1"
"value": "baz"
}
Der Baz wird abgerufen und mit dem letzten Wert überschrieben.
Nehmen wir die Methode, die dem Zweck entspricht, anhand der übergebenen Parameter.
Recommended Posts