実現したいこと
Cloud formationテンプレート(正確にはSAMテンプレート)でのFn::Subについて教えてください。
以下のテンプレート(正常デプロイ確認済み)のOutputセクション4行目
Fn::Sub: https://${ServerlessRestApi}.execute-api・・・省略
のServerlessRestApiがどうして置換できるのか分かりません。
リファレンスを調べたのですが疑似パラメータでもないし、パラメータセクションに定義もしてないです。
予約語なのかなとも思うのですが、であるならリファレンスの該当箇所が知りたいです。
ご存じの方ご教示お願いいたします。
前提
省略
発生している問題・エラーメッセージ
省略
該当のソースコード
template.yaml
1AWSTemplateFormatVersion: '2010-09-09' 2Transform: AWS::Serverless-2016-10-31 3Description: 'local-deploy-sample1 4 5 Sample SAM Template for local-deploy-sample1 6 7 ' 8Globals: 9 Function: 10 Timeout: 3 11 MemorySize: 128 12 Tracing: Active 13 Api: 14 TracingEnabled: true 15Resources: 16 HelloWorldFunction: 17 Type: AWS::Serverless::Function 18 Properties: 19 CodeUri: HelloWorldFunction 20 Handler: app.lambda_handler 21 Runtime: python3.10 22 Architectures: 23 - x86_64 24 Events: 25 HelloWorld: 26 Type: Api 27 Properties: 28 Path: /hello 29 Method: get 30 Metadata: 31 SamResourceId: HelloWorldFunction 32 ApplicationResourceGroup: 33 Type: AWS::ResourceGroups::Group 34 Properties: 35 Name: 36 Fn::Sub: ApplicationInsights-SAM-${AWS::StackName} 37 ResourceQuery: 38 Type: CLOUDFORMATION_STACK_1_0 39 ApplicationInsightsMonitoring: 40 Type: AWS::ApplicationInsights::Application 41 Properties: 42 ResourceGroupName: 43 Ref: ApplicationResourceGroup 44 AutoConfigurationEnabled: 'true' 45Outputs: 46 HelloWorldApi: 47 Description: API Gateway endpoint URL for Prod stage for Hello World function 48 Value: 49 Fn::Sub: https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/hello/ 50 HelloWorldFunction: 51 Description: Hello World Lambda Function ARN 52 Value: 53 Fn::GetAtt: 54 - HelloWorldFunction 55 - Arn 56 HelloWorldFunctionIamRole: 57 Description: Implicit IAM Role created for Hello World function 58 Value: 59 Fn::GetAtt: 60 - HelloWorldFunctionRole 61 - Arn
試したこと
リファレンスを調べました
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html
補足情報(FW/ツールのバージョンなど)
省略
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。