

 此白皮書僅供歷史參考。有些內容可能已過時，有些連結可能無法使用。

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

# 快速反覆運算，保持敏捷
<a name="iterate-rapidly-stay-agile"></a>

 使用 Amazon API Gateway 和 AWS Lambda 建置 API 的邏輯層，可讓您透過簡化 API 部署和版本管理，快速適應使用者群不斷變化的需求。

## 階段部署
<a name="stage-deployment"></a>

 當您在 API Gateway 中部署 API 時，您必須將部署與 API Gateway 階段建立關聯 – 每個階段都是 API 的快照，可供用戶端應用程式呼叫。使用此慣例，您可以輕鬆部署應用程式以*開發*、*測試*、*階段*或*生產*階段，並在階段之間移動部署。每次將 API 部署到階段時，您都會建立不同的 API 版本，並視需要還原。這些功能可讓現有功能和用戶端相依性繼續不受干擾，同時將新功能發佈為單獨的 API 版本。

## 與 Lambda 的解耦整合
<a name="decoupled-integration-with-lambda"></a>

 API Gateway 和 Lambda 函數中的 API 整合可以使用 API Gateway 階段變數和 Lambda 函數別名來解耦。這可簡化並加速 API 部署。除了直接在 API 中設定 Lambda 函數名稱或別名，您可以在 API 中設定階段變數，以指向 Lambda 函數中的特定別名。在部署期間，變更階段變數值以指向 Lambda 函數別名，API 將在特定階段的 Lambda 別名後方執行 Lambda 函數版本。

## Canary 版本部署
<a name="canary-release-deployment"></a>

Canary Release 是一種軟體開發策略，其中部署了新版本的 API 以供測試之用，而基礎版本仍會部署為相同階段上正常操作的生產版本。在 Canary Release 部署中，總 API 流量隨機分成生產版本，以及具有預先設定比率的 Canary Release。可以為 Canary Release 部署設定 API Gateway APIs，以使用有限的一組使用者測試新功能。

## 自訂網域名稱
<a name="custom-domain-names"></a>

您可以為 API 提供直觀的商業易用 URL 名稱，而不是 API Gateway 提供的 URL。API Gateway 提供設定 APIs 自訂網域的功能。使用自訂網域名稱，您可以設定 API 的主機名稱，然後選擇多層基礎路徑 （例如 `myservice/cat/v1`、 `myservice`或 `myservice/dog/v2`)，將替代 URL 映射至您的 API。