Configuration d'une ressource proxy avec intégration de proxy Lambda avec une définition ouverte API - APIPasserelle Amazon

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration d'une ressource proxy avec intégration de proxy Lambda avec une définition ouverte API

Pour configurer une ressource proxy avec le type d'intégration de proxy Lambda, créez une API ressource avec un paramètre de chemin gourmand (par exemple/parent/{proxy+}) et intégrez cette ressource à un backend de fonction Lambda (par exemple,) sur la méthode. arn:aws:lambda:us-west-2:123456789012:function:SimpleLambda4ProxyResource ANY Le paramètre greedy path doit se trouver à la fin du chemin de la API ressource. Comme pour une ressource non proxy, vous pouvez configurer la ressource proxy en utilisant la console API Gateway, en important un fichier de API définition Open ou en appelant REST API directement la API passerelle.

Le fichier de API API définition ouvert suivant montre un exemple de ressource API avec proxy intégrée à une fonction Lambda nommée. SimpleLambda4ProxyResource

OpenAPI 3.0
{ "openapi": "3.0.0", "info": { "version": "2016-09-12T17:50:37Z", "title": "ProxyIntegrationWithLambda" }, "paths": { "/{proxy+}": { "x-amazon-apigateway-any-method": { "parameters": [ { "name": "proxy", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": {}, "x-amazon-apigateway-integration": { "responses": { "default": { "statusCode": "200" } }, "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789012:function:SimpleLambda4ProxyResource/invocations", "passthroughBehavior": "when_no_match", "httpMethod": "POST", "cacheNamespace": "roq9wj", "cacheKeyParameters": [ "method.request.path.proxy" ], "type": "aws_proxy" } } } }, "servers": [ { "url": "https://gy415nuibc.execute-api.us-east-1.amazonaws.com/{basePath}", "variables": { "basePath": { "default": "/testStage" } } } ] }
OpenAPI 2.0
{ "swagger": "2.0", "info": { "version": "2016-09-12T17:50:37Z", "title": "ProxyIntegrationWithLambda" }, "host": "gy415nuibc.execute-api.us-east-1.amazonaws.com", "basePath": "/testStage", "schemes": [ "https" ], "paths": { "/{proxy+}": { "x-amazon-apigateway-any-method": { "produces": [ "application/json" ], "parameters": [ { "name": "proxy", "in": "path", "required": true, "type": "string" } ], "responses": {}, "x-amazon-apigateway-integration": { "responses": { "default": { "statusCode": "200" } }, "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789012:function:SimpleLambda4ProxyResource/invocations", "passthroughBehavior": "when_no_match", "httpMethod": "POST", "cacheNamespace": "roq9wj", "cacheKeyParameters": [ "method.request.path.proxy" ], "type": "aws_proxy" } } } } }

Lors de l'intégration du proxy Lambda, lors de l'exécution, API Gateway mappe une demande entrante dans le event paramètre d'entrée de la fonction Lambda. L'entrée inclut la méthode de demande, le chemin, les en-têtes, les paramètres de chaîne de demande, la charge utile, le contexte associé et les variables d'étape définies. Le format d'entrée est expliqué dans Format d'entrée d'une fonction Lambda pour l'intégration proxy. Pour que API Gateway puisse correctement mapper la sortie Lambda aux HTTP réponses, la fonction Lambda doit générer le résultat au format décrit dans. Format de sortie d'une fonction Lambda pour l'intégration proxy

Avec l'intégration de proxy Lambda d'une ressource de proxy via la méthode ANY, la fonction Lambda du backend unique sert de gestionnaire d'événements pour toutes les demandes via la ressource de proxy. Par exemple, pour enregistrer les modèles de trafic, vous pouvez demander à un appareil mobile d'envoyer ses informations de localisation (État, ville, rue et bâtiment) /state/city/street/house en soumettant une demande contenant le URL chemin de la ressource proxy. La fonction Lambda principale peut ensuite analyser URL le chemin et insérer les tuples de localisation dans une table DynamoDB.