1

Ich bin zutiefst verwirrt versuchen AWS API Gateway mit AWS Lambda zu integrieren, weil ich versuche, eine Lambda-Funktion über die GET-Methode auszuführen und immer meine Funktion ungültige Parameter zurückgibt.Wie kann ich API-Gateway mit Lambda über GET-Methode integrieren

{ "errormessage": "Fehler - Ungültige Gruppen-ID - undefined - alexa ID: undefined"} |

Es geschieht, weil die Parameter nicht auf die Funktion und idgrupo Variable ist <=0 Ankunft wurde.

Ich versuche, eine Lambda-Funktion mit URL in dieser Form auszuführen:

domain.execute-api.us-east-1.amazonaws.com/prod/chkneopairtoken?idgrupo=3823&clientId={321356-6666-4745}&keypair=90809276 

Und in meiner Lambda-Funktion ich es so mache:

var idgrupo = event.idgrupo; 
var alexaClientId = event.clientId; 
var keypair = event.keypair; 

if (idgrupo > 0){ 

} else{ 
     console.log("Error - Invalid Group ID - " + idgrupo + " - alexa id: " + alexaClientId + " - "); 
     //callback(null, "Error - Invalid Group ID - " + idgrupo + " - alexa id: " + alexaClientId); 
     context.fail("Error - Invalid Group ID - " + idgrupo + " - alexa id: " + alexaClientId); 
    } 

Sind die Möglichkeit, es zu tun was ich versuche zu tun? Ich denke, es ist kein Integrationsfehler zwischen API Gateway und AWS Lambda, weil die Funktion meine benutzerdefinierte Fehlermeldung zurückgibt, und ich glaube, dass es sich um einen Übertragungsparameterfehler handelt.

+0

Es klingt wie Sie die Anforderungsparameter in Ihrer API-Gateway-Mapping-Vorlage nicht zugeordnet haben, so dass sie nicht zur Verfügung Ihre Lambda-Funktion. –

+0

Ich habe verstanden, aber ich werde es in "Method Request" oder in "Integration Request" zuordnen? Hast du ein Beispiel, um es mir zu zeigen? Vielen Dank –

Antwort

1

Zurück zum "Integration Request" Ihrer Ressource GET unter "Body Mapping-Vorlagen"

referenzieren
  1. Wählen Sie für die empfohlene Option für „Request Körper Pass-Through“
  2. eine Zuordnungsvorlage hinzufügen (auf die Aktion klicken Sie auf „Mapping-Vorlage hinzufügen“)
  3. Write „Anwen Kation/json“für den Inhaltstyp
  4. Diese Vorlage hinzufügen

{ 
    "idgrupo" : "$input.params('idgrupo')", 
    "clientId" : "$input.params('clientId')", 
    "keypair" : "$input.params('keypair')" 
} 
0

Erstellen Sie in Ihrer API-Gateway-Konsole unter "Integrationsanforderung" im Abschnitt "Zuordnungsvorlage" eine Vorlage für den von Ihnen gesendeten Inhaltstyp und wählen Sie dann einfach "Passthrough für Methodenanforderung" aus. Dadurch wird alles an die Lambda-Funktion übergeben.

dann in Ihrem Lambda-Funktion Code müssen Sie diese URL Parameterwert über event.params.idgrupo, event.params.clientId usw.

Verwandte Themen