AWS::Serverless::Function が指定された場合、生成される AWS CloudFormation リソース - AWS Serverless Application Model

AWS::Serverless::Function が指定された場合、生成される AWS CloudFormation リソース

AWS::Serverless::Function が指定されている場合、AWS Serverless Application Model (AWS SAM) は常に AWS::Lambda::Function のベース AWS CloudFormation リソースを生成します。

AWS::Lambda::Function

LogicalId: <function‑LogicalId>

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

AWS::Serverless::Function が指定されている場合、AWS SAM はこの AWS CloudFormation リソースに加えて、以下のシナリオに対する AWS CloudFormation リソースも生成します。

AutoPublishAlias プロパティが指定されている

AWS::Serverless::FunctionAutoPublishAlias プロパティが指定されている場合、AWS SAM は AWS::Lambda::AliasAWS::Lambda::Version の AWS CloudFormation リソースを生成します。

AWS::Lambda::Alias

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

<alias‑name> は、AutoPublishAlias が設定されている文字列です。例えば、AutoPublishAliaslive に設定すると、LogicalIdMyFunctionAliaslive になります。

参照可能なプロパティ: <function‑LogicalId>.Alias

AWS::Lambda::Version

LogicalId: <function‑LogicalId>Version<sha>

<sha> は、スタックが作成されるときに生成される一意のハッシュ値です。例えば、MyFunctionVersion926eeb5ff1 などです。

参照可能なプロパティ: <function‑LogicalId>.Version

Role プロパティが指定されていない

AWS::Serverless::FunctionRole プロパティが指定されていない場合、AWS SAM は AWS::IAM::Role AWS CloudFormation リソースを生成します。

AWS::IAM::Role

LogicalId: <function‑LogicalId>Role

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

DeploymentPreference プロパティが指定されている

AWS::Serverless::FunctionDeploymentPreference プロパティが指定されている場合、AWS SAM は AWS::CodeDeploy::Application および AWS::CodeDeploy::DeploymentGroup の AWS CloudFormation リソースを生成します。さらに、DeploymentPreference オブジェクトの Role プロパティが指定されていない場合、AWS SAM は AWS::IAM::Role AWS CloudFormation リソースも生成します。

AWS::CodeDeploy::Application

LogicalId: ServerlessDeploymentApplication

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

AWS::CodeDeploy::DeploymentGroup

LogicalId: <function‑LogicalId>DeploymentGroup

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

AWS::IAM::Role

LogicalId: CodeDeployServiceRole

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

Api イベントソースが指定されている

AWS::Serverless::FunctionEvent プロパティが Api に設定されているが、RestApiId プロパティは指定されていないという場合、AWS SAM は AWS::ApiGateway::RestApi AWS CloudFormation リソースを生成します。

AWS::ApiGateway::RestApi

LogicalId: ServerlessRestApi

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

HttpApi イベントソースが指定されている

EventAWS::Serverless::Function プロパティが HttpApi に設定されているが、ApiId プロパティは指定されていないという場合、AWS SAM は AWS::ApiGatewayV2::Api AWS CloudFormation リソースを生成します。

AWS::ApiGatewayV2::Api

LogicalId: ServerlessHttpApi

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

ストリーミングイベントソースが指定されている

AWS::Serverless::FunctionEvent プロパティがストリーミングタイプのいずれかに設定されている場合、AWS SAM は AWS::Lambda::EventSourceMapping AWS CloudFormation リソースを生成します。これは、DynamoDBKinesisMQMSK、および SQS の各タイプに適用されます。

AWS::Lambda::EventSourceMapping

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

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

イベントブリッジ (またはイベントバス) イベントソースが指定されている

AWS::Serverless::FunctionEvent プロパティがイベントブリッジ (またはイベントバス) タイプのいずれかに設定されている場合、AWS SAM は AWS::Events::Rule AWS CloudFormation リソースを生成します。これは、EventBridgeRuleSchedule、および CloudWatchEvents の各タイプに適用されます。

AWS::Events::Rule

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

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

IotRule イベントソースが指定されている

AWS::Serverless::FunctionEvent プロパティが IoTRule に設定されている場合、AWS SAM は AWS::IoT::TopicRule AWS CloudFormation リソースを生成します。

AWS::IoT::TopicRule

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

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

Amazon SNS イベントに対して OnSuccess (または OnFailure) プロパティが指定されている

AWS::Serverless::FunctionEventInvokeConfig プロパティの DestinationConfig プロパティの OnSuccess (または OnFailure) プロパティが指定されており、送信先タイプが SNS になっているが、送信先 ARN は指定されていないという場合、AWS SAM は AWS::Lambda::EventInvokeConfig および AWS::SNS::Topic の AWS CloudFormation リソースを生成します。

AWS::Lambda::EventInvokeConfig

LogicalId: <function‑LogicalId>EventInvokeConfig

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

AWS::SNS::Topic

LogicalId: <function‑LogicalId>OnSuccessTopic (または <function‑LogicalId>OnFailureTopic)

参照可能なプロパティ: <function‑LogicalId>.DestinationTopic

OnSuccessOnFailure の両方が Amazon SNS イベントに指定されている場合、生成されたリソースを区別するには LogicalId を使用する必要があります。

Amazon SQS イベントに対して OnSuccess (または OnFailure) プロパティが指定されている

AWS::Serverless::FunctionEventInvokeConfig プロパティの DestinationConfig プロパティの OnSuccess (または OnFailure) プロパティが指定されており、送信先タイプが SQS になっているが、送信先 ARN は指定されていないという場合、AWS SAM は AWS::Lambda::EventInvokeConfig および AWS::SQS::Queue の AWS CloudFormation リソースを生成します。

AWS::Lambda::EventInvokeConfig

LogicalId: <function‑LogicalId>EventInvokeConfig

参照可能なプロパティ: なし (この AWS CloudFormation リソースを参照するには、LogicalId を使用する必要があります)

AWS::SQS::Queue

LogicalId: <function‑LogicalId>OnSuccessQueue (または <function‑LogicalId>OnFailureQueue)

参照可能なプロパティ: <function‑LogicalId>.DestinationQueue

OnSuccessOnFailure の両方が Amazon SQS イベントに指定されている場合、生成されたリソースを区別するには LogicalId を使用する必要があります。