Amazon web services 我可以将另一个文件中的文本插入到我的cloudformation模板中吗?

Amazon web services 我可以将另一个文件中的文本插入到我的cloudformation模板中吗?,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我的模板中有以下示例: ApiGatewayRestApi: Type: AWS::ApiGateway::RestApi Properties: Name: MyApi Description: My AWS API Gateway config Body: # INSERT swagger.yml content here 是否有一些cloudformation函数可以用来读取中的swagger.

我的模板中有以下示例:

 ApiGatewayRestApi:
      Type: AWS::ApiGateway::RestApi
      Properties:
        Name: MyApi
        Description: My AWS API Gateway config
        Body:
          # INSERT swagger.yml content here

是否有一些cloudformation函数可以用来读取中的swagger.yml或将其附加到“Body:”下?因此,我可以将其保存在另一个文件中,而我的模板不会变大。

您可以尝试
BodyS3Location

指向的Amazon简单存储服务(Amazon S3)位置 一个OpenAPI文件,用JSON或YAML定义一组RESTful API 格式

比如说

"BodyS3Location": {
          "Bucket": "you_bucket_name",
          "Key": "filename.yaml"
        }
有关更多信息,请参见

有一个函数,允许您调用不同的Cloudformation宏来处理模板。其中一个宏是

举个例子:

Resources:
  APIGateway:
    Fn::Transform:
      Name: AWS::Include
      Parameters:
        Location:
          Fn::Sub: s3://partials-bucket/${PartialsEnv}/resources/api-gateway.yaml
这里
api网关.yaml
将提供您资源的完整定义

您可以用与其他内在函数相同的方式使用此函数。唯一需要注意的是,
AWS::Include
仅适用于S3中托管的文件,因此您需要单独上传您的分区