java 中sub,Fn :: Sub中的嵌套Fn :: ImportValue不适用于SAM模板
Description: 我正在嘗試定義無服務器API資源 . 但是在使用函數ImportValue定義swagger規范文件的位置時遇到了麻煩 .
Steps to reproduce the issue: 我無法在Location中定義具有嵌套函數 ImportValue 的 AWS::Serverless::Api 資源 . 我嘗試過以下三種方法,但都沒有 .
注意:堆棧參數已正確定義,并且存在來自其他堆棧的導出值 . 由于簡潔的原因,沒有在這里顯示它們 .
ApiGatewayApi:
Type: AWS::Serverless::Api
Properties:
Name: !Sub ${AWS::StackName}-API
StageName: !Ref ApiGatewayStageName
DefinitionBody:
'Fn::Transform':
Name: 'AWS::Include'
Parameters:
Location:
Fn::Sub:
- s3://${BucketName}/${SwaggerSpecificationS3Key}
- BucketName:
Fn::ImportValue:
!Sub "${EnvironmentName}-dist-bucket-${AWS::Region}"
ApiGatewayApi:
Type: AWS::Serverless::Api
Properties:
Name: !Sub ${AWS::StackName}-API
StageName: !Ref ApiGatewayStageName
DefinitionBody:
'Fn::Transform':
Name: 'AWS::Include'
Parameters:
Location:
Fn::Sub:
- s3://${BucketName}/${SwaggerSpecificationS3Key}
- BucketName:
!ImportValue 'dev-dist-bucket-us-east-1'
ApiGatewayApi:
Type: AWS::Serverless::Api
Properties:
Name: !Sub ${AWS::StackName}-API
StageName: !Ref ApiGatewayStageName
DefinitionBody:
'Fn::Transform':
Name: 'AWS::Include'
Parameters:
Location:
Fn::Sub:
- s3://${BucketName}/${SwaggerSpecificationS3Key}
- BucketName:
Fn::ImportValue: 'dev-dist-bucket-us-east-1'
Cloudformation顯示以下錯誤 .
FAILED - 變換Include下參數Location的值必須解析為字符串,數字,布爾值或其中任何一個的列表 .
但是,如果我不使用 ImportValue 它適用于嵌套的 Fn::Sub
ApiGatewayApi:
Type: AWS::Serverless::Api
Properties:
Name: !Sub ${AWS::StackName}-API
StageName: !Ref ApiGatewayStageName
DefinitionBody:
'Fn::Transform':
Name: 'AWS::Include'
Parameters:
Location:
Fn::Sub:
- s3://${BucketName}/${SwaggerSpecificationS3Key}
- BucketName:
Fn::Sub: dist-bucket-${EnvironmentName}-${AWS::Region}
是因為Fn :: Transform還是AWS :: Include?
總結
以上是生活随笔為你收集整理的java 中sub,Fn :: Sub中的嵌套Fn :: ImportValue不适用于SAM模板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hough Transform 的算法思
- 下一篇: 如何理解矩阵特征值