開始使用API閘道 - Amazon API Gateway

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

開始使用API閘道

在此入門練習中,您會建立無伺服器API。無伺服器可APIs讓您專注於應用程式,而不必花時間佈建和管理伺服器。此練習需要不到 20 分鐘的時間即可完成,而且可以包含在 AWS 免費方案中。

首先,您可以使用 AWS Lambda 主控台建立 Lambda 函數。接下來,您可以HTTPAPI使用API閘道主控台建立。然後,您調用您的API.

注意

本練習使用 HTTPAPI. API網關還支持 RESTAPIs,其中包括更多功能。如需使用 a 的自學課程 RESTAPI,請參閱開始使用主RESTAPI控台

如需HTTPAPIs和之間差異的詳細資訊 RESTAPIs,請參閱在RESTAPIs和之間選擇 HTTP APIs

當您叫用時 HTTPAPI,API閘道會將請求路由到您的 Lambda 函數。Lambda 會執行 Lambda 函數,並將回應傳回至API閘道。API閘道接著會傳回回應給您。

您在本自學課程中建立的概述。HTTP API

要完成這個練習,您需要一個 AWS 帳戶和一個具有控制台訪問權限的 AWS Identity and Access Management 用戶。如需詳細資訊,請參閱設定 以使用 API Gateway

步驟 1:建立 Lambda 函數

您可以使用 Lambda 函數做為API. Lambda 只有在需要時才會執行程式碼,可自動從每天數項請求擴展成每秒數千項請求。

在此範例中,您將從 Lambda 主控台使用預設 Node.js 函數。

建立 Lambda 函式
  1. https://console.aws.amazon.com/lambda 上登入 Lambda 主控台。

  2. 選擇 Create function (建立函數)。

  3. 針對 Function name (函數名稱),請輸入 my-function

  4. 對於所有其他選項,請使用預設設定。

  5. 選擇 Create function (建立函數)。

範例函數將 200 回應傳回給用戶端,以及文字 Hello from Lambda!

只要函數的回應符合API閘道所需的格式,您就可以修改 Lambda 函數。

預設 Lambda 函數程式碼看起來與下面所示類似:

export const handler = async (event) => { const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; };

步驟 2:建立 HTTP API

接下來,您可以建立 HTTPAPI. APIGateway 也支援RESTAPIs和 WebSocket APIs,但是 a HTTP API 是此練習的最佳選擇。RESTAPIs支援的功能多於 HTTPAPIs,但我們不需要這些功能來進行本練習。HTTPAPIs設計具有最小的功能,因此可以以較低的價格提供它們。 WebSocket APIs保持與用戶端的持續連線以進行全雙工通訊,這不是此範例所必需的。

會HTTPAPI為您的 Lambda 函數提供HTTP端點。API閘道會將請求路由至您的 Lambda 函數,然後將函數的回應傳回給用戶端。

若要建立 HTTP API
  1. https://console.aws.amazon.com/ap igateway 登入API閘道主控台。

  2. 執行以下任意一項:

    • 若要建立您的第一個 API HTTPAPI,請選擇 [建置]。

    • 如果您已建立API之前,請選擇 [建立]API,然後選擇 [建置] HTTPAPI

  3. 針對 Integrations (整合),選擇 Add integration (新增整合)。

  4. 選擇 Lambda

  5. 對於 Lambda function (Lambda 函數),請輸入 my-function

  6. 對於API名稱,輸入my-http-api

  7. 選擇 Next (下一步)

  8. 檢閱API閘道為您建立的路由,然後選擇 [下一步]。

  9. 檢閱API閘道為您建立的階段,然後選擇 [下一步]。

  10. 選擇 Create (建立)。

現在,您已經建立HTTPAPI了 Lambda 整合,可隨時接收來自用戶端的要求。

步驟 3:測試您的 API

接下來,您測試API以確保它正常工作。為了簡單起見,請使用 Web 瀏覽器調用您的API.

若要測試您的 API
  1. https://console.aws.amazon.com/ap igateway 登入API閘道主控台。

  2. 選擇您的API.

  3. 請注意你API的調用URL。

    創建後API,控制台會顯示您API的調用URL。
  4. 複製您API的調用URL,然後在 Web 瀏覽器中輸入它。將 Lambda 函數的名稱附加到您的叫用中,URL以呼叫您的 Lambda 函數。根據預設,API閘道主控台會建立與 Lambda 函數相同名稱的路由my-function

    完整的URL應該看起來像https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function

    您的瀏覽器會傳送GET要求至API。

  5. 驗證您API的回應。您應該會在瀏覽器中看到文字 "Hello from Lambda!"

(選用) 步驟 4:清除

若要避免不必要的成本,請刪除您在此入門練習中建立的資源。下列步驟會刪除您HTTPAPI的 Lambda 函數和相關資源。

若要刪除 HTTP API
  1. https://console.aws.amazon.com/ap igateway 登入API閘道主控台。

  2. APIs頁面上,選取一個API。選擇 Actions (動作),然後選擇 Delete (刪除)。

  3. 選擇 Delete (刪除)。

刪除 Lambda 函數
  1. https://console.aws.amazon.com/lambda 上登入 Lambda 主控台。

  2. Functions (函數) 頁面上,選取函數。選擇 Actions (動作),然後選擇 Delete (刪除)。

  3. 選擇 Delete (刪除)。

刪除 Lambda 函數的日誌群組
  1. 在 Amazon 主 CloudWatch 控台中,開啟日誌群組頁面

  2. Log groups (日誌群組) 頁面上,選取函數的日誌群組 (/aws/lambda/my-function)。選擇 Actions (動作),然後選擇 Delete log group (刪除日誌群組)。

  3. 選擇 Delete (刪除)。

刪除 Lambda 函數的執行角色
  1. 在 AWS Identity and Access Management 主控台中,開啟 [角色] 頁面

  2. 選取函數的角色,例如,my-function-31exxmpl

  3. 選擇 Delete role (刪除角色)。

  4. 選擇 Yes, delete (是,刪除)。

您可以使用 AWS CloudFormation 或來自動建立和清理 AWS 資源 AWS SAM。如需 AWS CloudFormation 範本範例,請參閱範例 AWS CloudFormation 範本

後續步驟

在此範例中,您使用 AWS Management Console 建立簡單的HTTPAPI。會HTTPAPI叫用 Lambda 函數,並將回應傳回給用戶端。

以下是您繼續使用API閘道的後續步驟。

若要從社群取得 Amazon API 閘道的協助,請參閱API閘道討論論壇。當您進入這個討論區時, AWS 可能會要求您登入。

若要直接從「API閘道」取得協助 AWS,請參閱「Support」頁面上的AWS 支援選項。

另請參閱我們的常見問題(FAQs),或直接與我們聯繫