

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é
<a name="sam-specification-generated-resources-function"></a>

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.

**Topics**
+ [Propriétés des fonctions de base](#sam-specification-generated-resources-function-core-properties)
+ [Sources des évènements](#sam-specification-generated-resources-function-event-sources)
+ [Configuration de l'événement](#sam-specification-generated-resources-function-event-configuration)

## Propriétés des fonctions de base
<a name="sam-specification-generated-resources-function-core-properties"></a>

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
<a name="sam-specification-generated-resources-function-not-role"></a>

Lorsque la `Role` propriété de an *n'`AWS::Serverless::Function`est 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
<a name="sam-specification-generated-resources-function-autopublishalias"></a>

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` et`AWS::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 `AutoPublishAlias``live`, `LogicalId` c'est : *MyFunction* Alias*live*.  
*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* Version*926eeb5ff1*.  
*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](sam-resource-function.md#sam-resource-function-properties).

### DeploymentPreference la propriété est spécifiée
<a name="sam-specification-generated-resources-function-deploymentpreference"></a>

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` et`AWS::CodeDeploy::DeploymentGroup`. En outre, si la `Role` propriété de l'`DeploymentPreference`objet *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
<a name="sam-specification-generated-resources-function-functionurlconfig"></a>

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

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](sam-property-function-functionurlconfig.md).

## Sources des évènements
<a name="sam-specification-generated-resources-function-event-sources"></a>

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
<a name="sam-specification-generated-resources-function-api"></a>

Lorsque la `Event` propriété de an `AWS::Serverless::Function` est définie sur`Api`, 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
<a name="sam-specification-generated-resources-function-httpapi"></a>

Lorsque la `Event` propriété de an `AWS::Serverless::Function` est définie sur`HttpApi`, 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
<a name="sam-specification-generated-resources-function-streaming"></a>

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
<a name="sam-specification-generated-resources-function-eventbridge"></a>

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
<a name="sam-specification-generated-resources-function-iotrule"></a>

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
<a name="sam-specification-generated-resources-function-event-configuration"></a>

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
<a name="sam-specification-generated-resources-function-sns-onsuccess"></a>

Lorsque la propriété `OnSuccess` (ou`OnFailure`) 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` et`AWS::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`.

### OnSuccess la propriété (ou OnFailure) est spécifiée pour les événements Amazon SQS
<a name="sam-specification-generated-resources-function-sqs-onsuccess"></a>

Lorsque la propriété `OnSuccess` (ou`OnFailure`) 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` et`AWS::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`.