8
votes

AWS API Gateway ne s'ouvre pas

J'ai créé une fonction Lambda "Hello World", puis l'a déployé à un point de fin via la passerelle API de AWS :

 paramètres de configuration < p> Tous les mêmes paramètres de base, mais j'étais sûr de changer la sécurité en "Ouvrir" et, tandis que j'avais dit que cela pouvait prendre pendant 15 minutes pour que le domaine soit résolu, j'ai constaté que même après 30 ans, je reçois la réponse suivante de Le point final "ouvert": xxx

est-ce que je manque quelque chose d'évident? Cela ne devrait-il pas être disponible avec ce que j'ai fait?


Note, il a été souligné que cette image est d'une mise à jour. J'ai essayé les deux et les deux sont revenus des erreurs. Juste pour vérifier que j'ai couru chercher et mettre à travers Postman et obtenez une réponse similaire mais pas identique:

 mettre

et ensuite obtenir ...

 get

Lorsque je teste la fonction Lambda dans la console, il fonctionne avec succès, mais l'exécuter dans la passerelle API, il me donne une articulation différente de la même erreur:

TUE Sep 29 20:57:43 UTC 2015: EXECUTION a échoué en raison d'une erreur de configuration: Autorisations non valides sur la fonction Lambda

Et pourtant, j'ai utilisé les autorisations par défaut que la console suggérée. La fonction Lambda elle-même est très basique et peut être trouvée ici: code


6 commentaires

C'est la réponse générique pour "Vous avez fait quelque chose de mal". Montrez comment vous envoyez votre demande à l'API.


Ils donnent un lien d'URL dans la console AWS (il s'agit simplement d'un paramètre sans paramètre); Je viens de cliquer dessus dessus. Quelles informations supplémentaires devrais-je inclure?


Eh bien, il y a votre problème là-bas. Lorsque vous cliquez sur l'URL, vous faites un get, mais votre capture d'écran indique la méthode est mise. Une méthode de vente ne répondra pas à obtenir des demandes.


Est en fait voir la photo que j'ai posté était un put mais qui tentait deux ... même résultat avec un get


J'ai mis à jour la question à inclure à la fois d'obtenir et de mettre les réponses (qui sont les mêmes).


Une erreur d'authentification manquante est donnée lorsque vous appelez une URL invalide. À partir des informations que vous avez données, je suppose que l'URL correcte est quelque chose.execute-api.eu-west--.amazonaws.com/prod/hellocoldw orld2


4 Réponses :


4
votes

J'avais exactement un problème aujourd'hui. Tout ce que j'ai fait ne fonctionnait, mais finalement compris. s'avère pour que les modifications prennent effet, vous devez déployer API.

Alors d'abord, allez à Ressources et cliquez sur Déployer l'API . Il demandera une étape de déploiement. Une fois déployé, je pouvais appeler mon API sans aucun problème.

Je sais que cela fait longtemps que vous avez posté la question, mais que vous pensiez que cela pourrait également être utile pour d'autres personnes.


2 commentaires

Merci @volkan, on dirait que votre situation était un peu différent de la mienne mais malheureusement, j'ai laissé cette question là-bas et j'ai oublié de mettre à jour ma réponse (qui, bien sûr, j'ai maintenant oublié). Je pense que le mien était bas pour avoir besoin d'un proxy à travers le sujet SNS ARN de la bonne manière, votre réponse pourrait donc être plus largement applicable. :)


Voici où j'ai fini par ... Stackoverflow.com/Questtions/34213464/...



0
votes

Vous devez utiliser "AWS Signature" sous l'onglet Autorisation de Postman. Voir ce guide AWS sur quoi entrer dans ces champs:

http: //docs.aws.amazon.com/aployway/latest/developerguide/how-to-utu-postman-a-call-api.html


0 commentaires

0
votes

Veuillez utiliser votre nom de ressource fin de votre URL API.

https: //***********.execute-api.us-east-ae-aMazonaws.com/stag/number

ici numéro est mon nom de ressource


0 commentaires

1
votes

J'ai eu ce même problème avec une API déployée qui a été touchée fréquemment autour de midi, les demandes arrêteraient de travailler et d'échouer avec {Jeton d'authentification manquant}

Mon problème n'était pas l'URL ou une étape qui n'était pas déployée mais je Je sais que AWS jette cette erreur pour ces deux raisons.

Cependant, j'ai trouvé une commande d'invalider le cache d'APIGATWAY car, dans mon cas, j'utilisais un domaine personnalisé attaché à Cloudfront. xxx

Après avoir exécuté cela, j'ai arrêté d'obtenir le {jeton d'authentification manquant}


0 commentaires