

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.

# AWS SAM anatomie du modèle
<a name="sam-specification-template-anatomy"></a>

Un fichier AWS SAM modèle suit de près le format d'un fichier CloudFormation modèle, qui est décrit dans la section [Anatomie du modèle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) dans le *guide de AWS CloudFormation l'utilisateur*. Les principales différences entre les fichiers AWS SAM modèles et les fichiers CloudFormation modèles sont les suivantes :
+ **Déclaration de transformation.** La déclaration `Transform: AWS::Serverless-2016-10-31` est requise pour les fichiers de modèle AWS SAM . Cette déclaration identifie un fichier CloudFormation modèle en tant que fichier AWS SAM modèle. Pour plus d'informations sur les transformations, consultez [Transformation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) dans ce *Guide de l'utilisateur AWS CloudFormation *.
+ **Section Globales.** La `Globals` section est unique à AWS SAM. Il définit les propriétés communes à toutes vos fonctions sans serveur et APIs. Toutes les `AWS::Serverless::StateMachine` ressources `AWS::Serverless::Function` `AWS::Serverless::Api``AWS::Serverless::CapacityProvider`,`AWS::Serverless::HttpApi`,`AWS::Serverless::SimpleTable`,, et héritent des propriétés définies dans la `Globals` section. Pour plus d'informations sur cette section, consultez [Section « Globales » du modèle AWS SAM](sam-specification-template-anatomy-globals.md).
+ **Section Ressources.** Dans les AWS SAM modèles, la `Resources` section peut contenir une combinaison de CloudFormation ressources et de AWS SAM ressources. Pour plus d'informations sur les CloudFormation ressources, consultez la [référence aux types de AWS ressources et de propriétés](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) dans le *guide de AWS CloudFormation l'utilisateur*. Pour plus d'informations sur AWS SAM les ressources, consultez[AWS SAM ressources et propriétés](sam-specification-resources-and-properties.md).

Toutes les autres sections d'un fichier AWS SAM modèle correspondent à la section du fichier CloudFormation modèle portant le même nom.

## YAML
<a name="template-anatomy-outline.yaml"></a>

L'exemple suivant illustre un fragment de modèle au format YAML.

```
Transform: AWS::Serverless-2016-10-31

Globals:
  set of globals

Description:
  String

Metadata:
  template metadata

Parameters:
  set of parameters

Mappings:
  set of mappings

Conditions:
  set of conditions

Resources:
  set of resources

Outputs:
  set of outputs
```

## Sections de modèle
<a name="template-anatomy-sections"></a>

AWS SAM les modèles peuvent inclure plusieurs sections principales. Seules les sections `Transform` et `Resources` sont requises.

Vous pouvez inclure les sections d'un modèle dans n'importe quel ordre. Toutefois, si vous utilisez des extensions de langue, vous devez les ajouter `AWS::LanguageExtensions` *avant* la transformation sans serveur (c'est-à-dire avant`AWS::Serverless-2016-10-31`) comme indiqué dans l'exemple suivant :

```
Transform:
  - AWS::LanguageExtensions
  - AWS::Serverless-2016-10-31
```

Lorsque vous créez votre modèle, il peut être utile d'utiliser l'ordre logique indiqué dans la liste suivante. Cela est dû au fait que les valeurs d'une section peuvent faire référence à des valeurs d'une section précédente.

**[Transformation (obligatoire)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)**  
Pour les AWS SAM modèles, vous devez inclure cette section avec une valeur de`AWS::Serverless-2016-10-31`.  
Les transformations supplémentaires sont facultatives. Pour plus d'informations sur les transformations, consultez [Transformation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) dans ce *Guide de l'utilisateur AWS CloudFormation *.

**[Globales (facultatif)](sam-specification-template-anatomy-globals.md)**  
Propriétés communes à toutes vos fonctions sans serveur et tables simples. APIs Toutes les `AWS::Serverless::StateMachine` ressources `AWS::Serverless::Function` `AWS::Serverless::Api``AWS::Serverless::CapacityProvider`,`AWS::Serverless::HttpApi`,`AWS::Serverless::SimpleTable`,, et héritent des propriétés définies dans la `Globals` section.  
Cette section est propre à AWS SAM. Il n'y a pas de section correspondante dans les modèles CloudFormation .

**[Description (facultative)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-description-structure.html)**  
Chaîne de texte qui décrit le modèle.  
Cette section correspond directement à la `Description` section des CloudFormation modèles.

**[Métadonnées (facultatives)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)**  
Objets qui fournissent des informations supplémentaires sur le modèle.  
Cette section correspond directement à la `Metadata` section des CloudFormation modèles.

**[Paramètres (facultatifs)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)**  
Les valeurs à transmettre au modèle lors de l'exécution (lorsque vous créez ou mettez à jour une pile). Vous pouvez faire référence aux paramètres dans les sections `Resources` et `Outputs` du modèle. Les objets déclarés dans la section `Parameters` provoquent la commande **sam deploy --guided** pour présenter des invites supplémentaires à l'utilisateur.  
Les valeurs transmises à l'aide du `--parameter-overrides` paramètre de la `sam deploy` commande, ainsi que les entrées du fichier de configuration, ont priorité sur les entrées du fichier modèle. AWS SAM Pour plus d'informations sur la commande `sam deploy`, consultez [sam deploy](sam-cli-command-reference-sam-deploy.md) dans la AWS SAM référence des commandes de la CLI . Pour plus d'informations sur le fichier de configuration, consultez [Fichier de configuration CLI AWS SAM](serverless-sam-cli-config.md).

**[Mappages (facultatifs)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html)**  
Mappage de clés et de valeurs associées que vous pouvez utiliser pour spécifier des valeurs de paramètres conditionnelles, comme pour une table de recherche. Pour associer une clé à une valeur correspondante, utilisez la fonction intrinsèque [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) dans les sections `Resources` et `Outputs`.  
Cette section correspond directement à la `Mappings` section des CloudFormation modèles.

**[Conditions (facultatives)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html)**  
Conditions déterminant si certaines ressources sont créées ou si une valeur est attribuée à certaines propriétés de ressources pendant la création ou la mise à jour de la pile. Par exemple, vous pouvez créer une ressource de manière conditionnelle, laquelle varie selon que la pile est destinée à un environnement de production ou de test.  
Cette section correspond directement à la `Conditions` section des CloudFormation modèles.

**[Ressources (obligatoires)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html)**  
Les ressources de la pile et leurs propriétés, telles qu'une instance Amazon Elastic Compute Cloud (Amazon EC2) ou un bucket Amazon Simple Storage Service (Amazon S3). Vous pouvez faire référence à des ressources dans les sections `Resources` et `Outputs` du modèle.  
Cette section est semblable à la section `Resources` des modèles CloudFormation . Dans les AWS SAM modèles, cette section peut contenir des AWS SAM ressources en plus des CloudFormation ressources.

**[Sorties (facultatives)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html)**  
Les valeurs qui sont renvoyées chaque fois que vous affichez les propriétés de votre pile. Par exemple, vous pouvez déclarer une sortie pour le nom d'un compartiment S3, puis appeler la commande `aws cloudformation describe-stacks` AWS Command Line Interface (AWS CLI) pour afficher le nom.  
Cette section correspond directement à la section `Outputs` des modèles CloudFormation .

## Étapes suivantes
<a name="template-anatomy-next-steps"></a>

Pour télécharger et déployer un exemple d'application sans serveur contenant un fichier AWS SAM modèle, consultez [Commencer avec AWS SAM](serverless-getting-started.md) et suivez les instructions figurant dans[Tutoriel : Déployer une application Hello World avec AWS SAM](serverless-getting-started-hello-world.md).