Configurazione di un'API con integrazioni private tramite OpenAPI - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di un'API con integrazioni private tramite OpenAPI

È possibile configurare un'API con integrazione privata importando il file OpenAPI dell'API. Le impostazioni sono simili alle definizioni di OpenAPI di un'API con integrazioni HTTP, con le eccezioni seguenti:

  • Devi impostare esplicitamente connectionType su VPC_LINK.

  • Devi impostare esplicitamente connectionId sull'ID di un oggetto VpcLink o su una variabile di fase che fa riferimento all'ID di un oggetto VpcLink.

  • Il parametro uri nell'integrazione privata punta a un endpoint HTTP/HTTPS in VPC, ma viene invece usato per configurare l'intestazione Host della richiesta di integrazione.

  • Il parametro uri nell'integrazione privata con un endpoint HTTPS in VPC viene usato per verificare il nome di dominio indicato confrontandolo con quello nel certificato installato nell'endpoint VPC.

Per fare riferimento all'ID di VpcLink, è possibile usare una variabile di fase. In alternativa, è possibile assegnare il valore ID direttamente a connectionId.

Il file OpenAPI dell'API in formato JSON seguente mostra un esempio di un'API con un collegamento VPC in base al riferimento nella variabile di fase (${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" } } }