

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

# 如何解決 AWS::ApiGateway::RestAPI 資源中唯寫屬性的問題
<a name="generate-IaC-apigateway-restapi"></a>

本主題說明如何在使用 IaC 產生器時解決 [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-apigateway-restapi.html) 資源中唯寫屬性的問題。

## 問題
<a name="apigateway-restapi-write-only-properties-issue"></a>

當產生的範本包含 `AWS::ApiGateway::RestApi` 資源時，會產生警告，指出 `Body`、`BodyS3Location`和 `CloneFrom` 屬性已標識為 `UNSUPPORTED_PROPERTIES`。這是因為其是選用的唯寫屬性。IaC 產生器不知道這些屬性是否曾經套用至資源。因此，它會在產生的範本中忽略這些屬性。

## Resolution
<a name="apigateway-restapi-write-only-properties-resolution"></a>

若要設定 REST API 的 `Body` 屬性，請更新產生的範本。

1. 使用 Amazon API Gateway [https://docs.aws.amazon.com/apigateway/latest/api/API_GetExport.html](https://docs.aws.amazon.com/apigateway/latest/api/API_GetExport.html) API 動作來下載 API。例如，使用 [https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-export.html](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-export.html) AWS CLI 命令。如需詳細資訊，請參閱《API Gateway 開發人員指南》**中的[從 API Gateway 匯出 REST API](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-export-api.html)。

1. 從 `GetExport` API 動作的回應中擷取 `Body` 屬性。將其上傳至 Amazon S3 儲存貯體。

1. 下載產生的範本。

1. 將 `BodyS3Location/Bucket` 和 `BodyS3Location/Key` 屬性新增至範本，指定存放 `Body` 的儲存貯體名稱和金鑰。

1. 在 IaC 產生器主控台中開啟產生的範本，然後選擇**匯入已編輯的範本**。