Configuration d'une API avec des intégrations privées à l'aide d'OpenAPI - Amazon API Gateway

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 API avec des intégrations privées à l'aide d'OpenAPI

Vous pouvez configurer une API avec l'intégration privée via l'importation de fichier d'API OpenAPI. Les paramètres sont similaires aux définitions OpenAPI d'une API avec des intégrations HTTP, à l'exception des points suivants :

  • Vous devez explicitement définir connectionType sur VPC_LINK.

  • Vous devez définir explicitement connectionId sur l'ID d'un VpcLink ou d'une variable d'étape renvoyant à l'ID d'un VpcLink.

  • Le paramètre uri dans les intégrations privées renvoie vers un point de terminaison HTTP/HTTPS dans le VPC, mais est utilisé pour configurer l'en-tête Host de la demande d'intégration.

  • Le paramètre uri de l'intégration privée avec un point de terminaison HTTPS dans le VPC est utilisé pour vérifier le nom de domaine par rapport à celui indiqué dans le certificat installé sur le point de terminaison du VPC.

Vous pouvez utiliser une variable d'étape pour référencer l'ID VpcLink. Vous pouvez également attribuer la valeur d'ID directement à connectionId.

Le fichier d'API OpenAPI au format JSON suivant montre un exemple de fichier de lien VPC référencé par une variable d'étape (${stageVariables.vpcLinkId}) :

OpenAPI 2.0
{ "swagger": "2.0", "info": { "version": "2017-11-17T04:40:23Z", "title": "MyApiWithVpcLink" }, "host": "p3wocvip9a.execute-api.us-west-2.amazonaws.com", "basePath": "/test", "schemes": [ "https" ], "paths": { "/": { "get": { "produces": [ "application/json" ], "responses": { "200": { "description": "200 response", "schema": { "$ref": "#/definitions/Empty" } } }, "x-amazon-apigateway-integration": { "responses": { "default": { "statusCode": "200" } }, "uri": "http://my-vpclink-test-nlb-1234567890abcdef.us-east-2.amazonaws.com", "passthroughBehavior": "when_no_match", "connectionType": "VPC_LINK", "connectionId": "${stageVariables.vpcLinkId}", "httpMethod": "GET", "type": "http_proxy" } } } }, "definitions": { "Empty": { "type": "object", "title": "Empty Schema" } } }