5

Sorry für diese dumme Frage, aber ich habe alles versucht.Wie kann nichts in AWS API Gateway zurückgegeben werden?

Ich habe ein AWS API Gateway von einer Lambda-Funktion, die ich nur HTTP-Code 200 ohne Körper zurückgeben muss. Wenn das Lambda eine leere Zeichenfolge zurückgibt, zeigt der Text "" (2 Anführungszeichen). Wenn das Lambda null zurückgibt, zeigt der Körper das Wort null.

Was ist der Haken? Wie kann ich einen leeren Körper zurückgeben?

Zur Information verwende ich einen Slack Dash-Befehl, um die API aufzurufen. Der Aufruf gibt also HTTP 200 OK zurück und das Ergebnis wird von POST in einer Antwort-URL gesendet. Die Verarbeitung kann also nach dem HTTP-Ergebnis erfolgen, um Timeout-Probleme zu vermeiden.

+0

Was ist Ihr API-Antwort-Mapping-Vorlage des Gateway-Endpunkt aus? –

Antwort

3

Wenn Sie die "Lambda-Proxy-Integration" im Abschnitt "Integrationsanforderung" verwenden (siehe beigefügte Abbildung), können Sie einfach eine leere Zeichenfolge durch die folgende Struktur zurückgeben.

enter image description here

module.exports.hello = (event, context, callback) => { 
    const response = { 
    statusCode: 200, 
    body: '' 
    }; 
    callback(null, response); 
}; 
+2

Ich brauchte eine Weile, um herauszufinden, wie man die Funktionseingabe ändert (ich benutze C#). Für alle kommen Sie hier: http://stackoverflow.com/questions/41283289/how-do-i-map-aws-api-gateway-query-string-to-c-sharp-aws-lambda-function – TNT