我在cloudformation模板中定义了一个aws apigateway:
PptApi:
Type: 'AWS::Serverless::Api'
Properties:
StageName: !ImportValue StageName
DefinitionBody:
'Fn::Transform':
Name: 'AWS::Include'
Parameters:
Location: !Join [ "", [ "s3://", !Ref S3APIBucket, "/api_ppt.yaml" ] ]
招摇的yaml模板如下:
---
swagger: "2.0"
info:
version: "2018-06-26T08:03:26Z"
title:
Fn::Join: ["", ["full-ppt-", "${Fn::GetAtt: PptApi.StageName}"]]
basePath:
Fn::Join: ["", ["/", "${Fn::GetAtt: PptApi.StageName}"]]
它创建API网关很好,除了 Headers 解析为: full-ppt-${Fn::GetAtt: PptApi.StageName}
而不是 full-ppt-demo
但是,basePath按预期解析为 /demo
(这是阶段名称变量) . 为什么它在一个实例中而不在另一个实例中?