Amazon CloudFormation 指定时AWS::Serverless::Function生成的资源 - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon CloudFormation 指定时AWS::Serverless::Function生成的资源

指定AWS::Serverless::Function时, Amazon Serverless Application Model (Amazon SAM) 始终会创建AWS::Lambda::Function基础 Amazon CloudFormation 资源。

AWS::Lambda::Function

LogicalId: <function‑LogicalId>

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

除此 Amazon CloudFormation 资源外,如果指定了AWS::Serverless::Function此资源, Amazon SAM 还会生成用于以下场景的 Amazon CloudFormation 资源。

AutoPublishAlias 属性已指定

当指定了的AutoPublishAlias属性AWS::Serverless::Function时, Amazon SAM 会生成以下 Amazon CloudFormation 资源:AWS::Lambda::AliasAWS::Lambda::Version

AWS::Lambda::Alias

LogicalId: <function‑LogicalId>Alias<alias‑name>

<alias‑name>AutoPublishAlias 将被设置为的字符串。例如,如果设置为 AutoPublishAliaslive,则LogicalId为:A MyFunctionlias live

可引用属性:<function‑LogicalId>.Alias

AWS::Lambda::Version

LogicalId: <function‑LogicalId>Version<sha>

<sha> 是在创建堆栈时生成的唯一哈希值。例如,MyFunction版本 926 eeb5ff1。

可引用属性:<function‑LogicalId>.Version

未指定 Role 属性

如果指定 a AWS::Serverless::FunctionRole属性,则 Amazon SAM 会生成AWS::IAM::Role Amazon CloudFormation 资源。

AWS::IAM::Role

LogicalId: <function‑LogicalId>Role

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

DeploymentPreference 属性已指定

当指定了的DeploymentPreference属性AWS::Serverless::Function时, Amazon SAM 会生成以下资源 Amazon CloudFormation 资源:AWS::CodeDeploy::ApplicationAWS::CodeDeploy::DeploymentGroup。此外,如果指定DeploymentPreference对象的Role属性, Amazon SAM 还会生成AWS::IAM::Role Amazon CloudFormation 资源。

AWS::CodeDeploy::Application

LogicalId: ServerlessDeploymentApplication

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

AWS::CodeDeploy::DeploymentGroup

LogicalId: <function‑LogicalId>DeploymentGroup

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

AWS::IAM::Role

LogicalId: CodeDeployServiceRole

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

指定了 Api 事件源

如果的Event属性设置AWS::Serverless::FunctionApi,但指定该RestApiId属性,则 Amazon SAM 生成AWS::ApiGateway::RestApi Amazon CloudFormation 资源。

AWS::ApiGateway::RestApi

LogicalId: ServerlessRestApi

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

已指定 HttpApi事件源

如果的Event属性设置AWS::Serverless::FunctionHttpApi,但指定该ApiId属性,则 Amazon SAM 生成AWS::ApiGatewayV2::Api Amazon CloudFormation 资源。

AWS::ApiGatewayV2::Api

LogicalId: ServerlessHttpApi

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

指定了流式事件源

将的Event属性设置AWS::Serverless::Function为其中一种流媒体类型时, Amazon SAM 会生成AWS::Lambda::EventSourceMapping Amazon CloudFormation 资源。这适用于以下类型:DynamoDBKinesisMQMSKSQS

AWS::Lambda::EventSourceMapping

LogicalId: <function‑LogicalId><event‑LogicalId>

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

指定了事件桥(或事件总线)事件源

将的Event属性设置AWS::Serverless::Function为事件桥(或事件总线)类型之一时, Amazon SAM 会生成AWS::Events::Rule Amazon CloudFormation 资源。这适用于以下类型:EventBridgeRuleScheduleCloudWatchEvents

AWS::Events::Rule

LogicalId: <function‑LogicalId><event‑LogicalId>

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

已指定 IotRule事件源

当的Event属性设置AWS::Serverless::Function为 ioTrule 时, Amazon SAM 会生成资源。AWS::IoT::TopicRule Amazon CloudFormation

AWS::IoT::TopicRule

LogicalId: <function‑LogicalId><event‑LogicalId>

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

OnSuccess(或 OnFailure)属性是为亚马逊 SNS 事件指定的

如果指定了属性的属性AWS::Serverless::FunctionOnSuccess(或OnFailureEventInvokeConfig属性,且目标类型为,SNS指定目标 ARN,则 Amazon SAM 生成以下 Amazon CloudFormation 资源:AWS::Lambda::EventInvokeConfig和。DestinationConfig AWS::SNS::Topic

AWS::Lambda::EventInvokeConfig

LogicalId: <function‑LogicalId>EventInvokeConfig

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

AWS::SNS::Topic

LogicalId<function‑LogicalId>OnSuccessTopic(或 <function‑LogicalId>OnFailureTopic

可引用属性:<function‑LogicalId>.DestinationTopic

如果为 Amazon SNS 事件指定了 OnSuccessOnFailure,为了区分生成的资源,必须使用 LogicalId

OnSuccess(或 OnFailure)属性是为亚马逊 SQS 事件指定的

如果指定了属性的属性AWS::Serverless::FunctionOnSuccess(或OnFailureEventInvokeConfig属性,且目标类型为,SQS指定目标 ARN,则 Amazon SAM 生成以下 Amazon CloudFormation 资源:AWS::Lambda::EventInvokeConfig和。DestinationConfig AWS::SQS::Queue

AWS::Lambda::EventInvokeConfig

LogicalId: <function‑LogicalId>EventInvokeConfig

可引用的属性:N/A(必须使用LogicalId来引用此 Amazon CloudFormation 资源)

AWS::SQS::Queue

LogicalId<function‑LogicalId>OnSuccessQueue(或 <function‑LogicalId>OnFailureQueue

可引用属性:<function‑LogicalId>.DestinationQueue

如果为 Amazon SQS 事件指定了 OnSuccessOnFailure,为了区分生成的资源,必须使用 LogicalId