

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

# 開始使用 REST API 主控台
<a name="getting-started-rest-new-console"></a>

在此入門練習中，您會使用 API Gateway REST API 主控台建立無伺服器 REST API。無伺服器 API 讓您能夠專注於應用程式，而不必花時間佈建和管理伺服器。此練習過程不到 20 分鐘即可完成，而且可以包含在 [AWS 免費方案](https://aws.amazon.com/free/)中。

首先，使用 Lambda 主控台建立 Lambda 函數。接著，使用 API Gateway REST API 主控台建立 REST API。然後，建立 API 方法，並使用 Lambda 代理整合將它與 Lambda 函數整合。最後，部署和調用 API。

在您調用 REST API 時，API Gateway 會將請求路由至您的 Lambda 函數。Lambda 會執行函數，並傳回 API Gateway 的回應。API Gateway 隨後將該回應傳回給您。

![\[在本教學課程中建立 REST API 的概觀。\]](http://docs.aws.amazon.com/zh_tw/apigateway/latest/developerguide/images/getting-started-overview-rest.png)


若要完成此練習，您需要具有主控台存取權的 AWS 帳戶 和 AWS Identity and Access Management (IAM) 使用者。如需詳細資訊，請參閱[設定為使用 API Gateway](setting-up.md)。

**Topics**
+ [步驟 1：建立 Lambda 函數](#getting-started-rest-new-console-create-function)
+ [步驟 2：建立 REST API](#getting-started-rest-new-console-create-api)
+ [步驟 3：建立 Lambda 代理整合](#getting-started-rest-new-console-create-integration)
+ [步驟 4：部署 API](#getting-started-rest-new-console-deploy)
+ [步驟 5：調用 API](#getting-started-rest-new-console-invoke-api)
+ [(選用) 步驟 6：清理](#getting-started-cleanup-rest)

## 步驟 1：建立 Lambda 函數
<a name="getting-started-rest-new-console-create-function"></a>

您將使用 Lambda 函數作為您的 API 的後端。Lambda 只有在需要時才會執行程式碼，可自動從每天數項請求擴展成每秒數千項請求。

在本練習中，您將使用 Lambda 主控台中的預設 Node.js 函數。

**建立 Lambda 函數**

1. 在以下網址登入 Lambda 主控台：[https://console.aws.amazon.com/lambda](https://console.aws.amazon.com/lambda)。

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

1. 在 **Basic information** (基本資訊) 下，為 **Function name** (函數名稱) 輸入 **my-function**。

1. 其他所有選項請使用預設設定。

1. 選擇**建立函數**。

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

```
export const handler = async (event) => {
    const response = {
        statusCode: 200,
        body: JSON.stringify('The API Gateway REST API console is great!'),
    };
    return response;
};
```

您可以修改您的 Lambda 函數來進行本練習，只要函數的回應與 [API Gateway 要求的格式](set-up-lambda-proxy-integrations.md#api-gateway-simple-proxy-for-lambda-output-format)相符即可。

將預設回應內文 (`Hello from Lambda!`) 取代為 `The API Gateway REST API console is great!`。當您調用範例函數時，它會將 `200` 回應傳回至用戶端，並且包含更新的回應。

## 步驟 2：建立 REST API
<a name="getting-started-rest-new-console-create-api"></a>

接下來，您要建立具有根資源 (`/`) 的 REST API。

**若要建立 REST API**

1. 在以下網址登入 API Gateway 主控台：[https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)。

1. 執行以下任意一項：
   + 若要建立您的第一個 API，請針對 **REST API** 選擇**建置**。
   + 如果您之前已建立 API，則選擇**建立 API**，然後針對 **REST API** 選擇**建置**。

1.  對於**API 名稱**，輸入 **my-rest-api**。

1. 在**描述**，請輸入描述。

1. 將 **API 端點類型**保持設定為**區域**。

1. 針對 **IP 位址類型**，選擇 **IPv4**。

1. 選擇**建立 API**。

## 步驟 3：建立 Lambda 代理整合
<a name="getting-started-rest-new-console-create-integration"></a>

接下來，您要在根資源 (`/`) 上為 REST API 建立 API 方法，並使用代理整合將此方法與您的 Lambda 函數整合。在 Lambda 代理整合中，API Gateway 會將來自用戶端的傳入請求直接傳遞至 Lambda 函數。

**若要建立 Lambda 代理整合**

1. 選取 `/` 資源，然後選擇**建立方法**。

1. 針對**方法類型**，選取 `ANY`。

1. 針對**整合類型**，選取 **Lambda**。

1. 開啟 **Lambda 代理整合**。

1. 針對 **Lambda 函數**，輸入 **my-function**，然後選取您的 Lambda 函數。

1. 選擇**建立方法**。

## 步驟 4：部署 API
<a name="getting-started-rest-new-console-deploy"></a>

接下來，您要建立 API 部署，並將它與階段建立關聯。

**部署 API**

1. 選擇**部署 API**。

1. 針對**階段**，選取**新階段**。

1. 針對**階段名稱**，輸入 **Prod**。

1. 在**描述**，請輸入描述。

1. 選擇**部署**。

現在，用戶端可以呼叫您的 API。若要在部署 API 之前先行測試，您可以選擇性地選擇 **ANY** 方法，導覽至**測試**索引標籤，然後選擇**測試**。

## 步驟 5：調用 API
<a name="getting-started-rest-new-console-invoke-api"></a>

**若要調用您的 API**

1. 從主導覽窗格選擇**階段**。

1. 在**階段詳細資訊**下，選擇複製圖示以複製 API 的調用 URL。  
![\[在建立 REST API 之後，主控台會顯示 API 的調用 URL。\]](http://docs.aws.amazon.com/zh_tw/apigateway/latest/developerguide/images/getting-started-rest-invoke-url.png)

1. 在 Web 瀏覽器中輸入調用 URL。

   完整 URL 看起來應該會像這樣：`https://abcd123.execute-api.us-east-2.amazonaws.com/Prod`。

   您的瀏覽器將向 API 傳送 `GET` 請求。

1. 驗證您的 API 的回應。您應該會在瀏覽器中看到文字 `"The API Gateway REST API console is great!"`。

## (選用) 步驟 6：清理
<a name="getting-started-cleanup-rest"></a>

為避免您的 產生不必要的成本 AWS 帳戶，請刪除您在本練習中建立的資源。下列步驟可刪除您的 REST API、Lambda 函數和關聯的資源。

**若要刪除 REST API**

1. 在**資源**窗格中，選擇 **API 動作**、**刪除 API**。

1. 在**刪除 API** 對話方塊中，輸入**確認**，然後選擇**刪除**。

**若要刪除 Lambda 函數**

1. 在以下網址登入 Lambda 主控台：[https://console.aws.amazon.com/lambda](https://console.aws.amazon.com/lambda)。

1. 在**函數**頁面上，選取您的函數。選擇 **動作**、**刪除**。

1. 在**刪除 1 函數**對話方塊中輸入 **delete**，然後選擇**刪除**。

**若要刪除 Lambda 函數的日誌群組**

1. 開啟 Amazon CloudWatch 主控台的 [Log groups](https://console.aws.amazon.com/cloudwatch/home#logs:) (記錄群組) 頁面。

1. 在**日誌群組**頁面上，選取函數的日誌群組 (`/aws/lambda/my-function`)。然後針對**動作**，選擇**刪除日誌群組**。

1. 在 **刪除日誌群組** 對話方塊中，選擇 **刪除** 。

**若要刪除 Lambda 函數的執行角色**

1. 開啟 IAM 主控台中的[角色頁面](https://console.aws.amazon.com/iam/home?#/roles)。

1. (選用) 在**角色**頁面的搜尋方塊中，輸入 **my-function**。

1. 選取函數的角色 (例如 `my-function-31exxmpl`)，然後選擇**刪除**。

1. 在**要刪除 `my-function-31exxmpl` 嗎？**對話方塊中，輸入角色的名稱，然後選擇**刪除**。

**提示**  
您可以使用 AWS CloudFormation 或 AWS Serverless Application Model () 自動化 AWS 資源的建立和清除AWS SAM。如需一些範例 CloudFormation 範本，請參閱 **awsdocs** GitHub 儲存庫中 [API Gateway 的範例範本](https://github.com/awsdocs/amazon-api-gateway-developer-guide/tree/main/cloudformation-templates)。