2015-09-29 2 views
7

Ich habe ein „Hallo Welt“ Lambda-Funktion und entfaltet es dann zu einem Endpunkt mit API Gateway AWS:AWS API-Gateway öffnet sich nicht

config settings

Alle sehr viel Grundeinstellungen aber ich war sicher, die Sicherheit auf "offen" zu ändern und während mir gesagt wurde, dass es 15 Minuten dauern könnte, bis die Domain aufgelöst werden konnte, stellte ich fest, dass ich selbst nach 30 die folgende Antwort vom "offenen" Endpunkt erhielt :

{"message":"Missing Authentication Token"} 

Fehle ich etwas offensichtlich? Sollte das nicht mit dem zur Verfügung stehen, was ich getan habe?


Hinweis, es wurde darauf hingewiesen, dass dieses Bild von einem PUT kein GET ist. Ich habe beides versucht und beide kamen Fehler zurück. Nur um zu überprüfen, ich GET ausgeführt haben und PUT durch Postman und eine ähnliche, aber nicht identische Antwort erhalten:

PUT

und dann GET ...

GET

Wenn ich testen die Lambda-Funktion in der Konsole läuft es erfolgreich, aber es im API-Gateway läuft es gibt mir eine andere Artikulation des gleichen Fehlers:

Tue Sep 29 20:57:43 UTC 2015 : Execution failed due to configuration error: Invalid permissions on Lambda function

und ich verwendete die Standardberechtigungen, die die Konsole vorschlug. Die Lambda-Funktion selbst ist sehr einfach und kann hier gefunden werden: code

+1

Dies ist die allgemeine Antwort für "Sie haben etwas falsch gemacht". Zeigen Sie, wie Sie Ihre Anfrage an die API senden. –

+0

Sie geben einen URL-Link in der AWS-Konsole (es ist nur ein parameterless GET); Ich habe gerade darauf geklickt. Welche zusätzlichen Informationen sollte ich hinzufügen? – ken

+0

Nun, da ist dein Problem genau dort.Wenn du auf die URL klickst, machst du einen GET, aber dein Screenshot zeigt, dass die Methode PUT ist. Eine PUT-Methode wird GET-Anforderungen nicht beantworten. –

Antwort

5

Ich hatte genau das Problem heute. Was auch immer ich getan habe, hat nicht funktioniert, aber schließlich herausgefunden. stellt sich heraus, damit die Änderungen wirksam werden, müssen Sie API bereitstellen.

So zuerst gehen Sie zu Ressourcen und klicken Sie auf Bereitstellen API Schaltfläche. Es wird nach einer Bereitstellungsphase gefragt. Nach der Bereitstellung konnte ich meine API ohne Probleme aufrufen.

Ich weiß, dass es eine Weile her ist, seit du die Frage gepostet hast, aber dachte, dass es auch für andere Leute nützlich sein könnte.

+0

Dank @volkan, klingt wie Ihre Situation war ein bisschen anders als meins, aber leider Ich habe diese Frage draußen gelassen und vergessen, meine Antwort zu aktualisieren (was ich natürlich jetzt vergessen habe). Ich denke, dass ich darauf angewiesen war, Proxy über das SNS ARN-Thema in der richtigen Weise zu benötigen, so dass Ihre Antwort breiter anwendbar sein könnte. :) – ken

+0

Hier ist, wo ich endete ... http://stackoverflow.com/questions/34213464/aws-api-gateway-communicating-to-sns?noredirect=1#comment58441715_34213464 – ken

0

Bitte benutzen Sie Ihr Ressourcennamen Ende Ihrer api URL.

https: //***********.execute-api.us-east-1.amazonaws.com/Stag/number

Hier Zahl ist mein Ressourcenname