如何在 AWS 帳戶或區域之間遷移 API Gateway REST API?

2 分的閱讀內容
0

我想在 AWS 帳戶或區域之間遷移我的 Amazon API Gateway REST API。我該怎麼做?

簡短說明

將 REST API 從 API Gateway 匯出OpenAPI 2.0 (Swagger) 或 OpenAPI 3.0 定義檔案。然後,](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html)將 API [ 匯入至另一個帳戶或區域的 API Gateway。

**重要事項:**若要匯入 REST API,您也必須在目的地帳戶或區域中重新建立任何整合的 API 資源。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請確認您使用的是最新的 AWS CLI 版本

使用 API Gateway 主控台或 AWS CLI 匯出 API

使用 API Gateway 主控台匯出 API

1.    在 API Gateway 主控台中,選擇您的 API。

2.    將您的 API 部署到一個階段

3.    在階段編輯器窗格中,選擇 Export(匯出)標籤。

4.    對於匯出為,請選擇 SwaggerOpenAPI3

5.    根據您的使用情況,請暫停下列其中一項:
匯出為 Swagger + API Gateway 延伸
匯出為 OpenAPI 3 + API Gateway 延伸

您的 OpenAPI 定義會顯示在主控台中。

6.    選擇 JSONYAML 以將 OpenAPI 定義下載為您偏好的檔案類型。

若要使用 AWS CLI 匯出 API

執行下列 get-export 命令:

重要事項:變更命令選項 --parameters--export-type--accept 的值,以符合您偏好的匯出格式。

aws apigateway get-export --parameters extensions='integrations' --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger --accept application/yaml /path/to/filename.yaml

如需詳細資訊,請參閱從 API Gateway 匯出 REST API。另請參考 get-export (AWS CLI 命令參考)。

在匯出的 OpenAPI 定義中更新 API 資源的 Amazon Resource Name (ARN)

將 OpenAPI 定義中 API 資源的 ARN 變更為 API 遷移目標帳戶和區域中的資源 ARN。

具有 AWS Lambda 整合之 APISwagger 範本範例程式碼片段

**重要事項:**若要使用此程式碼片段,請使用目的地帳戶中 Lambda 函數的 ARN 來取代 arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:12345678910:function:mylambda/invocations

"x-amazon-apigateway-integration": {
          "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:12345678910:function:mylambda/invocations",
          "responses": {
            "default": {
              "statusCode": "200"
            }
          }

將 API 匯入至另一個帳戶或區域的 API Gateway

**使用 API Gateway 主控台匯入 API **

1.    在目的地帳戶或區域中開啟 API Gateway 主控台

2.    選擇 Create API(建立 API)。

3.    在 REST API 下,對 Choose an API type(選擇 API 類型)選擇 Import(匯入)。

4.    在從 Swagger 或 Open API 3 匯入下,執行下列任一項作業:
選擇 Select Swagger File(選取 Swagger 檔案),然後選擇更新的 OpenAPI 定義檔案。
-或-
將您更新的 OpenAPI 定義貼到文字編輯器欄位中。

5.    在設定下,對於端點類型,根據您的使用情況選擇下列其中一項:
區域
邊緣最佳化

私有

6.    如果匯入期間出現錯誤或警告訊息,請選擇 Fail on warnings(警告失敗)以停止匯入作業。或者,無論匯入期間是否出現錯誤或警告訊息,皆選擇 Ignore warnings(忽略警告)以匯入 API。

若要使用 AWS CLI 匯入 API

1.    為目的地帳戶或區域設定 AWS CLI

2.    執行以下 import-rest-api 命令:

$ aws apigateway import-rest-api --endpointConfigurationTypes 'REGIONAL' --fail-on-warnings --body 'file:/// path/to/filename.json'

如需詳細資訊,請參閱將 REST API 匯入到 API Gateway


相關資訊

教學課程: 透過匯入範例來建立 REST API

AWS 官方
AWS 官方已更新 3 年前