如何解决 AWS::ApiGateway::RestAPI 资源中的只写属性问题
本主题介绍如何解决在使用 IaC 生成器时的 AWS::ApiGateway::RestApi 资源只写属性问题。
问题
当生成的模板包含 AWS::ApiGateway::RestApi
资源时,会生成警告,指明 Body
、BodyS3Location
和 CloneFrom
属性将标识为 UNSUPPORTED_PROPERTIES
。这是因为这些是可选的只写属性。IaC 生成器不知道这些属性是否曾应用于资源,因此生成的模板中会忽略这些属性。
解决方案
要为您的 REST API 设置 Body
属性,请更新生成的模板。
-
使用 Amazon API Gateway GetExport API 操作下载 API。例如,通过使用 aws apigateway get-export AWS CLI 命令。有关更多信息,请参阅《API Gateway 开发人员指南》中的从 API Gateway 导出 REST API。
-
从
GetExport
API 操作的响应中检索Body
属性。将其上传到 Amazon S3 存储桶。 -
下载生成的模板。
-
将
BodyS3Location/Bucket
和BodyS3Location/Key
属性添加到模板中,指定存储Body
的桶名称和密钥。 -
在 IaC 生成器控制台中打开生成的模板,然后选择导入编辑的模板。