如何解决 AWS::ApiGateway::RestAPI 资源中的只写属性问题 - AWS CloudFormation

如何解决 AWS::ApiGateway::RestAPI 资源中的只写属性问题

本主题介绍如何解决在使用 IaC 生成器时的 AWS::ApiGateway::RestApi 资源只写属性问题。

问题

当生成的模板包含 AWS::ApiGateway::RestApi 资源时,会生成警告,指明 BodyBodyS3LocationCloneFrom 属性将标识为 UNSUPPORTED_PROPERTIES。这是因为这些是可选的只写属性。IaC 生成器不知道这些属性是否曾应用于资源,因此生成的模板中会忽略这些属性。

解决方案

要为您的 REST API 设置 Body 属性,请更新生成的模板。

  1. 使用 Amazon API Gateway GetExport API 操作下载 API。例如,通过使用 aws apigateway get-export AWS CLI 命令。有关更多信息,请参阅《API Gateway 开发人员指南》中的从 API Gateway 导出 REST API

  2. GetExport API 操作的响应中检索 Body 属性。将其上传到 Amazon S3 存储桶。

  3. 下载生成的模板。

  4. BodyS3Location/BucketBodyS3Location/Key 属性添加到模板中,指定存储 Body 的桶名称和密钥。

  5. 在 IaC 生成器控制台中打开生成的模板,然后选择导入编辑的模板