CloudFormation ressources générées lorsque cela AWS::Serverless::Function est spécifié - AWS Serverless Application Model

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

CloudFormation ressources générées lorsque cela AWS::Serverless::Function est spécifié

Lorsqu'un AWS::Serverless::Function est spécifié, AWS Serverless Application Model (AWS SAM) crée toujours une CloudFormation ressource AWS::Lambda::Function de base.

AWS::Lambda::Function

LogicalId: <function‑LogicalId>

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

En plus de cette CloudFormation ressource, lorsqu'elle AWS::Serverless::Function est spécifiée, elle génère AWS SAM également CloudFormation des ressources pour les scénarios suivants.

Propriétés des fonctions de base

Les scénarios suivants génèrent des CloudFormation ressources en fonction des propriétés des fonctions principales :

La propriété Role n'est pas spécifiée

Lorsque la Role propriété de an n'AWS::Serverless::Functionest pas spécifiée, AWS SAM génère une AWS::IAM::Role CloudFormation ressource.

AWS::IAM::Role

LogicalId: <function‑LogicalId>Role

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

AutoPublishAlias la propriété est spécifiée

Lorsque la AutoPublishAlias propriété de an AWS::Serverless::Function est spécifiée, AWS SAM génère les CloudFormation ressources suivantes : AWS::Lambda::Alias etAWS::Lambda::Version.

AWS::Lambda::Alias

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

<alias‑name> est la chaîne sur laquelle AutoPublishAlias est défini. Par exemple, si vous définissez sur AutoPublishAliaslive, LogicalId c'est : MyFunction Aliaslive.

Propriété référençable :<function‑LogicalId>.Alias

AWS::Lambda::Version

LogicalId: <function‑LogicalId>Version<sha>

<sha> est une valeur de hachage unique qui est générée lors de la création de la pile. Par exemple, MyFunction Version926eeb5ff1.

Propriété référençable :<function‑LogicalId>.Version

Pour plus d'informations sur la AutoPublishAlias propriété, consultez la section Propriétés de AWS::Serverless::Function.

DeploymentPreference la propriété est spécifiée

Lorsque la DeploymentPreference propriété de an AWS::Serverless::Function est spécifiée, AWS SAM génère les CloudFormation ressources suivantes : AWS::CodeDeploy::Application etAWS::CodeDeploy::DeploymentGroup. En outre, si la Role propriété de l'DeploymentPreferenceobjet n'est pas spécifiée, génère AWS SAM également une AWS::IAM::Role CloudFormation ressource.

AWS::CodeDeploy::Application

LogicalId: ServerlessDeploymentApplication

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

AWS::CodeDeploy::DeploymentGroup

LogicalId: <function‑LogicalId>DeploymentGroup

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

AWS::IAM::Role

LogicalId: CodeDeployServiceRole

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

FunctionUrlConfig la propriété est spécifiée

Lorsque la FunctionUrlConfig propriété est spécifiée, AWS SAM génère différentes CloudFormation ressources en fonction deAuthType.

Lorsque AuthType: NONE cela est spécifié, AWS SAM génère les CloudFormation ressources suivantes :

AWS::Lambda::Permission(Invoquer l'accès)

LogicalId: <function‑LogicalId>URLInvokeAllowPublicAccess

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

AWS::Lambda::Permission(Accès public)

LogicalId: <function‑LogicalId>UrlPublicPermissions

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

AWS::Lambda::Url

LogicalId: <function‑LogicalId>Url

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

Lorsqu'il AuthType: AWS_IAM est spécifié, AWS SAM génère uniquement :

AWS::Lambda::Url

LogicalId: <function‑LogicalId>Url

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

Pour plus d'informations sur la FunctionUrlConfig propriété, voir FunctionUrlConfig.

Sources des évènements

Les scénarios suivants génèrent des CloudFormation ressources en fonction des sources d'événements :

Une source d'événement Api est spécifiée

Lorsque la Event propriété de an AWS::Serverless::Function est définie surApi, mais que la RestApiId propriété n'est pas spécifiée, AWS SAM la AWS::ApiGateway::RestApi CloudFormation ressource est générée.

AWS::ApiGateway::RestApi

LogicalId: ServerlessRestApi

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

Une source d' HttpApiévénement est spécifiée

Lorsque la Event propriété de an AWS::Serverless::Function est définie surHttpApi, mais que la ApiId propriété n'est pas spécifiée, AWS SAM la AWS::ApiGatewayV2::Api CloudFormation ressource est générée.

AWS::ApiGatewayV2::Api

LogicalId: ServerlessHttpApi

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

Une source d'événements de streaming en continu est spécifiée

Lorsque la Event propriété de an AWS::Serverless::Function est définie sur l'un des types de streaming, AWS SAM génère la AWS::Lambda::EventSourceMapping CloudFormation ressource. Cela s'applique aux types suivants : DynamoDB, Kinesis, MQ, MSK, et SQS.

AWS::Lambda::EventSourceMapping

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

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

Une source d'événement pont d'événements (ou bus d'événements) est spécifiée

Lorsque la Event propriété de an AWS::Serverless::Function est définie sur l'un des types de pont d'événements (ou bus d'événements), AWS SAM génère la AWS::Events::Rule CloudFormation ressource. Cela s'applique aux types suivants : EventBridgeRule, Schedule, et CloudWatchEvents.

AWS::Events::Rule

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

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

Une source d' IotRuleévénement est spécifiée

Lorsque la Event propriété de an AWS::Serverless::Function est définie sur IoTRule, AWS SAM génère la AWS::IoT::TopicRule CloudFormation ressource.

AWS::IoT::TopicRule

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

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

Configuration de l'événement

Les scénarios suivants génèrent des CloudFormation ressources en fonction de la configuration des événements :

OnSuccess(ou OnFailure) la propriété est spécifiée pour les événements Amazon SNS

Lorsque la propriété OnSuccess (ouOnFailure) de la DestinationConfig propriété de la EventInvokeConfig propriété d'un AWS::Serverless::Function est spécifiée, et que le type de destination est spécifié SNS mais que l'ARN de destination n'est pas spécifié, AWS SAM génère les CloudFormation ressources suivantes : AWS::Lambda::EventInvokeConfig etAWS::SNS::Topic.

AWS::Lambda::EventInvokeConfig

LogicalId: <function‑LogicalId>EventInvokeConfig

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

AWS::SNS::Topic

LogicalId: <function‑LogicalId>OnSuccessTopic (ou<function‑LogicalId>OnFailureTopic)

Propriété référençable :<function‑LogicalId>.DestinationTopic

Si les deux OnSuccess et OnFailure sont spécifiés pour un événement Amazon SNS, pour faire la distinction entre les ressources générées, vous devez utiliser la LogicalId.

OnSuccessla propriété (ou OnFailure) est spécifiée pour les événements Amazon SQS

Lorsque la propriété OnSuccess (ouOnFailure) de la DestinationConfig propriété de la EventInvokeConfig propriété d'un AWS::Serverless::Function est spécifiée, et que le type de destination est spécifié SQS mais que l'ARN de destination n'est pas spécifié, AWS SAM génère les CloudFormation ressources suivantes : AWS::Lambda::EventInvokeConfig etAWS::SQS::Queue.

AWS::Lambda::EventInvokeConfig

LogicalId: <function‑LogicalId>EventInvokeConfig

Propriété référençable : N/A (vous devez utiliser le LogicalId pour référencer cette CloudFormation ressource)

AWS::SQS::Queue

LogicalId: <function‑LogicalId>OnSuccessQueue (ou<function‑LogicalId>OnFailureQueue)

Propriété référençable :<function‑LogicalId>.DestinationQueue

Si les deux OnSuccess et OnFailure sont spécifiés pour un événement Amazon SQS, pour faire la distinction entre les ressources générées, vous devez utiliser la LogicalId.