本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudFormation 指定 AWS::Serverless::Function 時產生的資源
指定 AWS::Serverless::Function 時, AWS Serverless Application Model (AWS SAM) 一律會建立 AWS::Lambda::Function 基礎 CloudFormation 資源。
AWS::Lambda::Function-
LogicalId:<function‑LogicalId>可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
除了此 CloudFormation 資源之外,AWS::Serverless::Function指定 時, AWS SAM 也會為下列案例產生 CloudFormation 資源。
核心函數屬性
下列案例會根據核心函數屬性產生 CloudFormation 資源:
未指定角色屬性
AWS::Serverless::Function 未指定 的 Role 屬性時, AWS SAM 會產生 AWS::IAM::Role CloudFormation 資源。
AWS::IAM::Role-
LogicalId:<function‑LogicalId>Role可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
已指定 AutoPublishAlias 屬性
AWS::Serverless::Function 指定 的 AutoPublishAlias 屬性時, AWS SAM 會產生下列 CloudFormation 資源: AWS::Lambda::Alias和 AWS::Lambda::Version。
AWS::Lambda::Alias-
LogicalId:<function‑LogicalId>Alias<alias‑name>是設定為<alias‑name>AutoPublishAlias的字串。例如,如果您將AutoPublishAlias設定為live,則LogicalId為:MyFunctionAliaslive。可參考屬性:
<function‑LogicalId>.Alias AWS::Lambda::Version-
LogicalId:<function‑LogicalId>Version<sha>是建立堆疊時產生的唯一雜湊值。例如,<sha>MyFunctionVersion926eeb5ff1。可參考屬性:
<function‑LogicalId>.Version
如需 AutoPublishAlias 屬性的詳細資訊,請參閱 AWS::Serverless::Function 的屬性一節。
已指定 DeploymentPreference 屬性
AWS::Serverless::Function 指定 的 DeploymentPreference 屬性時, AWS SAM 會產生下列 CloudFormation 資源: AWS::CodeDeploy::Application和 AWS::CodeDeploy::DeploymentGroup。此外,如果未指定DeploymentPreference物件的 Role 屬性, AWS SAM 也會產生 AWS::IAM::Role CloudFormation 資源。
AWS::CodeDeploy::Application-
LogicalId:ServerlessDeploymentApplication可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
AWS::CodeDeploy::DeploymentGroup-
LogicalId:<function‑LogicalId>DeploymentGroup可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源) AWS::IAM::Role-
LogicalId:CodeDeployServiceRole可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
已指定 FunctionUrlConfig 屬性
指定 FunctionUrlConfig 屬性時, 會根據 AWS SAM 產生不同的 CloudFormation 資源AuthType。
指定 AuthType: NONE 時, AWS SAM 會產生下列 CloudFormation 資源:
AWS::Lambda::Permission(叫用存取)-
LogicalId:<function‑LogicalId>URLInvokeAllowPublicAccess可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源) AWS::Lambda::Permission(公開存取)-
LogicalId:<function‑LogicalId>UrlPublicPermissions可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源) AWS::Lambda::Url-
LogicalId:<function‑LogicalId>Url可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
指定 AuthType: AWS_IAM 時, 只會 AWS SAM 產生:
AWS::Lambda::Url-
LogicalId:<function‑LogicalId>Url可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
如需 FunctionUrlConfig 屬性的其他資訊,請參閱 FunctionUrlConfig。
事件來源
下列案例會根據事件來源產生 CloudFormation 資源:
已指定 Api 事件來源
當 的 Event 屬性AWS::Serverless::Function設定為 Api,但未指定 RestApiId 屬性時, AWS SAM 會產生 AWS::ApiGateway::RestApi CloudFormation 資源。
AWS::ApiGateway::RestApi-
LogicalId:ServerlessRestApi可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
已指定 HttpApi 事件來源
當 的 Event 屬性AWS::Serverless::Function設定為 HttpApi,但未指定 ApiId 屬性時, AWS SAM 會產生 AWS::ApiGatewayV2::Api CloudFormation 資源。
AWS::ApiGatewayV2::Api-
LogicalId:ServerlessHttpApi可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
已指定串流事件來源
當 的 Event 屬性AWS::Serverless::Function設定為其中一個串流類型時, AWS SAM 會產生 AWS::Lambda::EventSourceMapping CloudFormation 資源。這適用於下列類型:DynamoDB、Kinesis、MSK、 MQ和 SQS。
AWS::Lambda::EventSourceMapping-
LogicalId:<function‑LogicalId><event‑LogicalId>可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
已指定事件橋接 (或事件匯流排) 事件來源
當 的 Event 屬性AWS::Serverless::Function設定為其中一個事件橋接 (或事件匯流排) 類型時, AWS SAM 會產生 AWS::Events::Rule CloudFormation 資源。這適用於下列類型:EventBridgeRule、 Schedule和 CloudWatchEvents。
AWS::Events::Rule-
LogicalId:<function‑LogicalId><event‑LogicalId>可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
已指定 IotRule 事件來源
當 的 Event 屬性AWS::Serverless::Function設定為 IoTRule 時, AWS SAM 會產生 AWS::IoT::TopicRule CloudFormation 資源。
AWS::IoT::TopicRule-
LogicalId:<function‑LogicalId><event‑LogicalId>可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源)
事件組態
下列案例會根據事件組態產生 CloudFormation 資源:
針對 Amazon SNS 事件指定 OnSuccess (或 OnFailure) 屬性 Amazon SNS
當EventInvokeConfigAWS::Serverless::Function指定 之 屬性的 DestinationConfig 屬性 OnSuccess(或 OnFailure) 屬性,且目的地類型為 ,SNS但未指定目的地 ARN 時, AWS SAM 會產生下列 CloudFormation 資源: AWS::Lambda::EventInvokeConfig和 AWS::SNS::Topic。
AWS::Lambda::EventInvokeConfig-
LogicalId:<function‑LogicalId>EventInvokeConfig可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源) AWS::SNS::Topic-
LogicalId:(或<function‑LogicalId>OnSuccessTopic)<function‑LogicalId>OnFailureTopic可參考屬性:
<function‑LogicalId>.DestinationTopic如果同時為 Amazon SNS 事件
OnFailure指定OnSuccess和 ,若要區分產生的資源,您必須使用LogicalId。
針對 Amazon SQS 事件指定 OnSuccess (或 OnFailure) 屬性 Amazon SQS
當AWS::Serverless::Function指定 之 DestinationConfig 屬性的 EventInvokeConfig 屬性 OnSuccess(或 OnFailure) 屬性,且目的地類型為 ,SQS但未指定目的地 ARN 時, AWS SAM 會產生下列 CloudFormation 資源: AWS::Lambda::EventInvokeConfig和 AWS::SQS::Queue。
AWS::Lambda::EventInvokeConfig-
LogicalId:<function‑LogicalId>EventInvokeConfig可參考屬性:N/A (您必須使用
LogicalId來參考此 CloudFormation 資源) AWS::SQS::Queue-
LogicalId:(或<function‑LogicalId>OnSuccessQueue)<function‑LogicalId>OnFailureQueue可參考屬性:
<function‑LogicalId>.DestinationQueue如果 Amazon SQS 事件同時指定
OnFailureOnSuccess和 ,若要區分產生的資源,您必須使用LogicalId。