Amazon API 網關概念 - Amazon API Gateway

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon API 網關概念

下節說明使用API閘道的簡介概念。

API 閘道

API閘道是支援下列項目的 AWS 服務:

  • 建立、部署及管理RESTful應用程式設計介面 (API),以公開後HTTP端端點、 AWS Lambda 函式或其他 AWS 服務。

  • 建立、部署和管理WebSocketAPI以公開 AWS Lambda 函數或其他 AWS 服務。

  • 通過前端HTTP和 WebSocket端點調用公開的API方法。

API閘道 REST API

與後HTTP端端點、Lambda 函數或其他 AWS 服務整合的HTTP資源和方法集合。您可以在一或多個階段中部署此集合。一般而言,API資源會根據應用程式邏輯在資源樹狀結構中進行組織。每個API資源都可以公開具有 API Gateway 支持的唯一HTTP動詞的一個或多個API方法。如需詳細資訊,請參閱 在RESTAPIs和之間選擇 HTTP APIs

API閘道 HTTP API

與後HTTP端端點或 Lambda 函數整合的路由和方法集合。您可以在一或多個階段中部署此集合。每個路由都可以公開具有 API Gateway 支持的唯一HTTP動詞的一個或多個API方法。如需詳細資訊,請參閱 在RESTAPIs和之間選擇 HTTP APIs

API閘道 WebSocket API

與後HTTP端端點、Lambda 函數或其他 AWS 服務整合的 WebSocket 路由和路由金鑰集合。您可以在一或多個階段中部署此集合。API方法是透過前端 WebSocket 連線叫用,您可以與已註冊的自訂網域名稱建立關聯。

API部署

API閘道的 point-in-time 快照API。若要供用戶端使用,部署必須與一或多個API階段相關聯。

API 開發人員

擁有API閘道部署的 AWS 帳戶 (例如,也支援程式設計存取的服務提供者)。

API 端點

部署至特定區域之API閘道API中的主機名稱。主機名稱的格式為 {api-id}.execute-api.{region}.amazonaws.com。支援下列API端點類型:

API 金鑰

APIGateway 用來識別使用REST或的應用程式開發人員的英數字串 WebSocket API。API閘道可以代表您產生API金鑰,也可以從CSV檔案匯入金鑰。您可以將API金鑰與 Lambda 授權者或用量計劃搭配使用,來控制您的APIs.

請參閱API端點

API所有者

API開發人員

API階段

對您的生命週期狀態的邏輯引用API(例如,'dev','產品','beta','v2')。API階段由 API ID 和階段名稱識別。

應用程式開發人員

應用程序創建者可能擁有或可能沒有 AWS 帳戶,並與您(API開發人員)已部署的帳戶進行交互。API應用程式開發人員是您的客戶。應用程序開發人員通常由API密鑰標識。

回调 URL

當新用戶端透過 WebSocket 連線連線時,您可以呼叫 API Gateway 中的整合來儲存用戶端的回呼URL。然後,您可以使用該URL回調從後端系統將消息發送到客戶端。

開發人員入口網站

一種應用程式,可讓您的客戶註冊、探索和訂閱您的API產品 (APIGateway 使用方案)、管理其API金鑰,以及檢視您的APIs.

邊緣最佳化端點 API

部署到指定區域的API閘道API的預設主機名稱,同時使用 CloudFront 分發以促進通常從跨區 AWS 域進行用戶端存取。API要求會路由至最近的存在 CloudFront 點 (POP),這通常會縮短不同地理位置用戶端的連線時間。

請參閱API端點

整合請求

APIGateway 中 WebSocket API路由或RESTAPI方法的內部介面,您可以在其中將路由要求的主體或方法要求的參數和主體對應至後端所需的格式。

整合回應

APIGateway 中 WebSocket API路由或RESTAPI方法的內部介面,您可以在其中將從後端接收的狀態碼、標頭和裝載對應至傳回至用戶端應用程式的回應格式。

對應範本

Velocity 範本語言 (VTL) 中的指令碼,可將要求主體從前端資料格式轉換為後端資料格式,或將回應本文從後端資料格式轉換為前端資料格式。映射範本可指定於整合請求或整合回應中。它們可以參考在執行時間提供為內容和階段變數的資料。

映射可如同身分轉換一樣簡單,可透過整合的現狀依照請求將標頭或本文從用戶端傳遞至後端。回應也是如此,其中承載會從後端傳遞至用戶端。

方法請求

APIGateway 中API方法的公用介面,用於定義應用程式開發人員必須傳送的參數和內文,才能透過API.

方法回應

的公用RESTAPI介面,用來定義應用程式開發人員在API.

模擬整合

在模擬集成中,API響應是直接從 API Gateway 生成的,而不需要集成後端。身為API開發人員,您可以決定 API Gateway 如何回應模擬整合要求。因此,您設定方法的整合請求和整合回應,以將回應與特定狀態碼建立關聯。

模型

資料結構描述,其指定請求或回應承載的資料結構。需要模型才能產生強類型SDK的API. 模型也用來驗證承載。模型方便用於產生範例對應範本以啟動生產對應範本的建立。模型雖然實用,但不是建立對應範本的必要項目。

私人 API

請參閱私有API端點

私有API端點

透過介面VPC端API點公開的端點,可讓用戶端安全地存取VPC. API 私APIs人與公用網際網路隔離,而且只能透過已授與存取權的API閘道VPC端點存取。

私有整合

一種 API Gateway 整合類型,可讓用戶端VPC透過私有RESTAPI端點存取客戶內部的資源,而不會將資源暴露於公用網際網路。

代理整合

簡化的API閘道整合組態。您可以將代理整合設定為HTTP代理整合或 Lambda 代理整合。

對於HTTP代理集成,APIGateway 在前端和HTTP後端之間傳遞整個請求和響應。對於 Lambda 代理整合,API閘道會將整個請求作為輸入傳送至後端 Lambda 函數。API閘道接著會將 Lambda 函數輸出轉換為前端HTTP回應。

在中 RESTAPIs,Proxy 整合最常與 Proxy 資源搭配使用,代理資源由貪婪的路徑變數 (例如{proxy+}) 與 Catch-All ANY 方法結合來表示。

快速建立

您可以使用快速建立來簡化建立 HTTPAPI. 快速建立會API使用 Lambda 或HTTP整合、預設的全部接收路由,以及設定為自動部署變更的預設階段來建立。如需詳細資訊,請參閱 使用 AWS CLI 建立一個 HTTP API

區域API端點

部署至指定區域,並用來為相 AWS 同區域中的用戶端 (例如EC2執行個API體) 提供服務的主機名稱。API請求直接針對特定於區域的API網關,API而無需經過任何 CloudFront 分發。對於區域內請求,區域端點會繞過不必要的往返分發 CloudFront 。

此外,您可以在區域端點上套用延遲型路由,以使用相同的區域端點組態將延遲型路由部署API到多個區域API、為每個部署設定相同的自訂網域名稱API,以及在 Route 53 中設定以延遲為基礎的DNS記錄,將用戶端要求路由到延遲最低的區域。

請參閱API端點

路由

APIGateway 中的 WebSocket 路由是用來根據訊息內容,將內送訊息導向至特定整合 (例如 AWS Lambda 函數)。定義時 WebSocket API,您可以指定路由金鑰和整合後端。路由金鑰是訊息本文中的一個屬性。若傳入訊息的路由金鑰相符,將呼叫整合後端。

預設路由也可設定用於不相符的路由金鑰或用來指定代理模型,將訊息現狀傳遞至執行路由並處理請求的後端元件。

路由請求

APIGateway 中 WebSocket API方法的公用介面,定義應用程式開發人員必須在要求中傳送,才能透過API.

路由回應

的公共界面,用於 WebSocket API定義應用程序開發人員應該從 API Gateway 獲得的狀態代碼,標題和正文模型。

用量計畫

使用方案可讓選取的用API戶端存取一或多個已部署的REST或 WebSocket APIs。您可以使用用量計劃來設定節流和配額限制,這些限制是針對個別用戶端API金鑰強制執行的。

WebSocket 連接

API網關維護客戶端和網API關本身之間的持久連接。API閘道和後端整合 (例如 Lambda 函數) 之間沒有持續連線。根據從用戶端接收的郵件內容,視需要呼叫後端服務。