AWS::Serverless::Application
将来自 AWS Serverless Application Repository
注意
部署到 AWS CloudFormation 时,AWS SAM 会将您的 AWS SAM 资源转换为 CloudFormation 资源。有关更多信息,请参阅 为 AWS SAM 生成的 CloudFormation 资源。
语法
要在您的 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。
YAML
Type: AWS::Serverless::Application Properties: Location:String | ApplicationLocationObjectNotificationARNs:ListParameters:MapTags:MapTimeoutInMinutes:Integer
属性
-
Location -
嵌套应用程序的模板 URL、文件路径或位置对象。
如果提供了模板 URL,则它必须遵循 CloudFormation 模板网址文档中指定的格式,并包含有效的 CloudFormation 或 SAM 模板。可以使用 ApplicationLocationObject 指定已发布到 AWS Serverless Application Repository 的应用程序。
如果提供了本地文件路径,则模板必须经过包含
sam deploy或sam package命令的工作流程,才能让应用程序正确转换。类型:字符串 | 应用程序位置对象
必需:是
CloudFormation 兼容性:此属性类似于
AWS::CloudFormation::Stack资源的TemplateURL属性。CloudFormation 版本无需使用 ApplicationLocationObject 即可从 AWS Serverless Application Repository 中检索应用程序。 -
NotificationARNs -
向其发送堆栈事件通知的现有 Amazon SNS 主题的列表。
类型:列表
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::CloudFormation::Stack资源的NotificationARNs属性。 -
Parameters -
应用程序参数值。
类型:映射
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::CloudFormation::Stack资源的Parameters属性。 -
指定要添加到此应用程序的标签的映射(字符串到字符串)。键和值只能包含字母数字字符。键的长度可以在 1 到 127 个 Unicode 字符之间,并且不能带有前缀“aws:”。值的长度可以在 1 到 255 个 Unicode 字符之间。
类型:映射
必需:否
CloudFormation 兼容性:此属性类似于
AWS::CloudFormation::Stack资源的Tags属性。SAM 中的“标签”属性由“键:值”对组成;在 CloudFormation 中,它由标签对象列表组成。创建堆栈后,SAM 将自动向该应用程序添加lambda:createdBy:SAM标签。此外,如果此应用程序来自 AWS Serverless Application Repository,则 SAM 还将自动添加两个附加标签serverlessrepo:applicationId:和ApplicationIdserverlessrepo:semanticVersion:。SemanticVersion -
TimeoutInMinutes -
CloudFormation 等待嵌套堆栈达到
CREATE_COMPLETE状态的时间长度(以分钟为单位)。默认值为无超时。在 CloudFormation 检测到嵌套堆栈已达到CREATE_COMPLETE状态时,它在父堆栈中将嵌套堆栈资源标记为CREATE_COMPLETE,然后继续创建父堆栈。如果在嵌套堆栈达到CREATE_COMPLETE之前超时期限过期,则 CloudFormation 将嵌套堆栈标记为失败并回滚嵌套堆栈和父堆栈。类型:整数
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::CloudFormation::Stack资源的TimeoutInMinutes属性。
返回值
Ref
当向 Ref 内置函数提供此资源的逻辑 ID 时,将返回底层 AWS::CloudFormation::Stack 资源的资源名称。
有关使用 Ref 函数的更多信息,请参阅《AWS CloudFormation 用户指南》中的 Ref。
Fn::GetAtt
Fn::GetAtt 返回一个此类型指定属性的值。以下为可用属性和示例返回值。
有关使用 Fn::GetAtt 的更多信息,请参阅《AWS CloudFormation 用户指南》中的 Fn::GetAtt。
Outputs.ApplicationOutputName-
带有名称
的堆栈输出的值。ApplicationOutputName
示例
SAR 应用程序
使用来自无服务器应用程序存储库的模板的应用程序
YAML
Type: AWS::Serverless::Application Properties: Location: ApplicationId: 'arn:aws:serverlessrepo:us-east-1:012345678901:applications/my-application' SemanticVersion: 1.0.0 Parameters: StringParameter: parameter-value IntegerParameter: 2
正常应用
来自 S3 网址的应用程序
YAML
Type: AWS::Serverless::Application Properties: Location: https://s3.amazonaws.com/sam-s3-demo-bucket/template.yaml