

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.

# Commencer avec AWS SAM
<a name="serverless-getting-started"></a>

Commencez AWS SAM en passant en revue et en complétant les rubriques de cette section. [AWS SAM prérequis](prerequisites.md)fournit des instructions détaillées sur la configuration d'un AWS compte, la création d'utilisateurs IAM, la création d'un accès par clé, ainsi que sur l'installation et la configuration du AWS SAMCLI. Après avoir rempli les prérequis, vous pouvez choisir votre approche de développement :
+ [Installer la CLI  AWS SAM](install-sam-cli.md), ce que vous pouvez faire sur les systèmes d'exploitation Linux, Windows et macOS. 
+ [Démarrez avec AWS SAM à l'aide de VS Code Toolkit](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/sam-get-started.html) pour une expérience de développement visuelle avec des fonctionnalités de débogage et de test intégrées.

Une fois l'installation terminée, vous pouvez éventuellement suivre le didacticiel AWS SAM Hello World. Ce didacticiel vous expliquera le processus de création d'une application sans serveur de base avec AWS SAM. Après avoir terminé le didacticiel, vous serez prêt à passer en revue les concepts détaillés dans[Comment utiliser AWS Serverless Application Model (AWS SAM)](chapter-using-sam.md).

**Topics**
+ [

# AWS SAM prérequis
](prerequisites.md)
+ [

# Installer la CLI  AWS SAM
](install-sam-cli.md)
+ [

# Tutoriel : Déployer une application Hello World avec AWS SAM
](serverless-getting-started-hello-world.md)
+ [

# Conversion de fonctions Lambda en applications AWS SAM
](convert-lambda-to-sam.md)

# AWS SAM prérequis
<a name="prerequisites"></a>

Remplissez les conditions préalables suivantes avant d'installer et d'utiliser l'interface de ligne de AWS Serverless Application Model commande (AWS SAMCLI).

Pour utiliser le AWS SAMCLI, vous avez besoin des éléments suivants :
+ Un AWS compte, des informations d'identification Gestion des identités et des accès AWS (IAM) et une paire de clés d'accès IAM.
+ Le AWS Command Line Interface (AWS CLI) pour configurer les AWS informations d'identification.

**Topics**
+ [

## Étape 1 : Ouvrez un AWS compte
](#prerequisites-sign-up)
+ [

## Étape 2 : créer un compte utilisateur IAM
](#prerequisites-create-user)
+ [

## Étape 3 : créer un ID de clé d'accès et clé d'accès secrète
](#prerequisites-create-keys)
+ [

## Étape 4 : installez le AWS CLI
](#prerequisites-install-cli)
+ [

## Étape 5 : utilisez le AWS CLI pour configurer les AWS informations d'identification
](#prerequisites-configure-credentials)
+ [

## Étape 6 : (Facultatif) Installer le AWS Toolkit for VS Code
](#prerequisites-install-vscode)
+ [

## Étapes suivantes
](#prerequisites-next-steps)

## Étape 1 : Ouvrez un AWS compte
<a name="prerequisites-sign-up"></a>

Si vous n'en avez pas Compte AWS, procédez comme suit pour en créer un.

**Pour vous inscrire à un Compte AWS**

1. Ouvrez l'[https://portal.aws.amazon.com/billing/inscription.](https://portal.aws.amazon.com/billing/signup)

1. Suivez les instructions en ligne.

   Dans le cadre de la procédure d’inscription, vous recevrez un appel téléphonique ou un SMS et vous saisirez un code de vérification en utilisant le clavier numérique du téléphone.

   Lorsque vous vous inscrivez à un Compte AWS, un *Utilisateur racine d'un compte AWS*est créé. Par défaut, seul l’utilisateur racine a accès à l’ensemble des Services AWS et des ressources de ce compte. La meilleure pratique de sécurité consiste à attribuer un accès administratif à un utilisateur, et à utiliser uniquement l’utilisateur racine pour effectuer les [tâches nécessitant un accès utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

## Étape 2 : créer un compte utilisateur IAM
<a name="prerequisites-create-user"></a>

Afin de créer un utilisateur administrateur, choisissez l'une des options suivantes :


****  

| Choisissez un moyen de gérer votre administrateur | À | En | Vous pouvez également | 
| --- | --- | --- | --- | 
| Dans IAM Identity Center (Recommandé) | Utiliser des informations d’identification à court terme pour accéder à AWS.C’est conforme aux bonnes pratiques en matière de sécurité. Pour plus d’informations sur les bonnes pratiques, consultez [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) dans le *Guide de l’utilisateur IAM*. | Suivant les instructions fournies dans [Mise en route](https://docs.aws.amazon.com//singlesignon/latest/userguide/getting-started.html) dans le Guide de l’utilisateur AWS IAM Identity Center . | Configurez l'accès par programmation en [configurant le AWS CLI à utiliser AWS IAM Identity Center](https://docs.aws.amazon.com//cli/latest/userguide/cli-configure-sso.html) dans le guide de l'AWS Command Line Interface utilisateur. | 
| Dans IAM (Non recommandé) | Utiliser les informations d’identification à long terme pour accéder à AWS. | Suivant les instructions fournies dans [Création d’un utilisateur IAM pour l’accès d’urgence](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started-emergency-iam-user.html) dans le Guide de l’utilisateur IAM. | Configurer l’accès par programmation en suivant les instructions fournies dans [Gestion des clés d’accès pour les utilisateurs IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html) dans le Guide de l’utilisateur IAM. | 

## Étape 3 : créer un ID de clé d'accès et clé d'accès secrète
<a name="prerequisites-create-keys"></a>

Pour accéder à la CLI, vous avez besoin d'un ID de clé d'accès et d'une clé d'accès secrète. Utilisation des informations d'identification temporaires au lieu des clés d'accès à long terme si possible. Les informations d'identification temporaires incluent un ID de clé d'accès, une clé d'accès secrète et un jeton de sécurité qui indique la date d'expiration des informations d'identification. Pour plus d'informations, consultez la section [Utilisation d'informations d'identification temporaires avec AWS des ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) dans le *Guide de l'utilisateur IAM*.

Les utilisateurs ont besoin d'un accès programmatique s'ils souhaitent interagir avec AWS l'extérieur du AWS Management Console. La manière d'accorder un accès programmatique dépend du type d'utilisateur qui y accède AWS.

Pour accorder aux utilisateurs un accès programmatique, choisissez l’une des options suivantes.


****  

| Quel utilisateur a besoin d’un accès programmatique ? | À | Méthode | 
| --- | --- | --- | 
| IAM | (Recommandé) Utilisez les informations d'identification de la console comme informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/prerequisites.html)  | 
|  Identité de la main-d’œuvre (Utilisateurs gérés dans IAM Identity Center)  | Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/prerequisites.html)  | 
| IAM | Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. | Suivez les instructions de la section [Utilisation d'informations d'identification temporaires avec AWS les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) du Guide de l'utilisateur IAM. | 
| IAM | (Non recommandé)Utilisez des informations d'identification à long terme pour signer des demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/prerequisites.html)  | 

## Étape 4 : installez le AWS CLI
<a name="prerequisites-install-cli"></a>

 AWS CLI Il s'agit d'un outil open source qui vous permet d'interagir à Services AWS l'aide de commandes dans votre shell de ligne de commande. AWS SAMCLICela nécessite AWS CLI des activités telles que la configuration des informations d'identification. Pour en savoir plus sur le AWS CLI, voir [Qu'est-ce que le AWS Command Line Interface ?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) dans le *guide de AWS Command Line Interface l'utilisateur*.

Pour l'installer AWS CLI, reportez-vous à la section [Installation ou mise à jour de la AWS CLI dernière version](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) du *Guide de AWS Command Line Interface l'utilisateur*.

## Étape 5 : utilisez le AWS CLI pour configurer les AWS informations d'identification
<a name="prerequisites-configure-credentials"></a>

**Pour configurer les informations d'identification avec IAM Identity Center**
+ Pour configurer les informations d'identification avec IAM Identity Center, voir [Configurer votre profil à l'aide de l'assistant de AWS configuration SSO](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html#cli-configure-sso-configure).

**Pour configurer les informations d'identification à l'aide du AWS CLI**

1. Exécutez la commande `aws configure` depuis la ligne de commande.

1. Configurez ce qui suit. Cliquez sur chaque lien pour en savoir plus :

   1. [ID de clé d'accès](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds)

   1. [Clé d'accès secrète](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds)

   1. [Région AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-region)

   1. [Format de sortie](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-format)

   L’exemple suivant montre des exemples de valeurs.

   ```
   $ aws configure
   AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
   AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   Default region name [None]: us-west-2
   Default output format [None]: json
   ```

 AWS CLI Stocke ces informations dans un *profil* (un ensemble de paramètres) nommé `default` dans les `config` fichiers `credentials` et. Ces fichiers se trouvent dans `.aws` de votre répertoire de base. Par défaut, les informations de ce profil sont utilisées lorsque vous exécutez une AWS CLI commande qui ne spécifie pas explicitement le profil à utiliser. Pour plus d'informations sur le fichier `credentials`, consultez [Paramètres des fichiers de configuration et d'informations d'identification](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) dans le *Guide de l'utilisateur AWS Command Line Interface *.

Pour plus d'informations sur la configuration des informations d'identification, comme l'utilisation d'un fichier de configuration et d'informations d'identification existant, consultez [Configuration rapide](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html) dans le *Guide de l'utilisateur AWS Command Line Interface *.

## Étape 6 : (Facultatif) Installer le AWS Toolkit for VS Code
<a name="prerequisites-install-vscode"></a>

Pour les développeurs qui préfèrent un environnement de développement intégré, le AWS Toolkit for VS Code fournit de puissantes fonctionnalités pour le développement sans serveur, notamment le débogage visuel, CodeLens l'intégration et des flux de travail de déploiement rationalisés.

**Prérequis pour le développement de VS Code**
+ Visual Studio Code (version 1.73.0 ou version ultérieure) installé sur votre système
+ Extension de support du langage YAML pour VS Code

**Pour installer le AWS Toolkit for VS Code**

1. Ouvrez Visual Studio Code

1. Ouvrez la vue Extensions (Ctrl\$1Shift\$1X ou Cmd\$1Shift\$1X)

1. Recherchez « AWS  Toolkit »

1. Installez l'extension « AWS  Toolkit » d'Amazon Web Services

1. Installez l'extension « YAML » de Red Hat (requise pour les CodeLens fonctionnalités du modèle SAM)

**Avantages de l'utilisation de VS Code avec AWS SAM**
+ Débogage visuel : définissez des points d'arrêt et parcourez vos fonctions Lambda localement
+ CodeLens intégration : créez, déployez et invoquez des fonctions directement à partir de votre modèle SAM
+ Terminal intégré : accédez aux AWS CLI commandes AWS SAM sans quitter votre éditeur
+ Validation des modèles : validation en temps réel et IntelliSense pour les modèles SAM

Pour plus d'informations sur la configuration de vos AWS informations d'identification dans VS Code, consultez la section [Configuration des informations d'identification](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-credentials.html) dans le guide de l'utilisateur du AWS Toolkit for VS Code.

## Étapes suivantes
<a name="prerequisites-next-steps"></a>
+ Vous êtes maintenant prêt à l'installer AWS SAMCLI et à commencer à l'utiliser AWS SAM. Pour installer le AWS SAMCLI, voir[Installer la CLI  AWS SAM](install-sam-cli.md).
+ Pour configurer Visual Studio Code pour le développement sans serveur, consultez [Configuration du AWS Toolkit for VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setting-up.html).

# Installer la CLI  AWS SAM
<a name="install-sam-cli"></a>

Installez la dernière version de l'interface de ligne de AWS Serverless Application Model commande (AWS SAMCLI) sur les systèmes d'exploitation pris en charge en suivant les instructions figurant dans[Étape 4 : installez le AWS CLI](prerequisites.md#prerequisites-install-cli).

Pour plus d'informations sur la gestion d'une version actuellement installée du AWS SAMCLI, notamment sur la mise à niveau, la désinstallation ou la gestion des versions nocturnes, consultez[Gestion des versions CLI  AWS SAM](manage-sam-cli-versions.md).

**Est-ce la première fois que vous installez la AWS SAM CLI ?**  
Remplissez l'ensemble des [conditions préalables](prerequisites.md) de la section précédente avant de poursuivre. Cela inclut notamment les éléments suivants :  
Création d'un AWS compte.
Configuration d'un accès sécurisé à AWS.
Création d'un ID de clé d'accès et d'une clé d'accès secrète.
Installation du AWS CLI.
Configuration des AWS informations d'identification.

**Topics**
+ [

## Installation de la CLI  AWS SAM
](#install-sam-cli-instructions)
+ [

## Résolution des erreurs d'installation
](#sam-cli-troubleshoot-install)
+ [

## Étapes suivantes
](#install-sam-cli-next-steps)
+ [

# Facultatif : vérifier l'intégrité du AWS SAMCLI programme d'installation
](reference-sam-cli-install-verify.md)

## Installation de la CLI  AWS SAM
<a name="install-sam-cli-instructions"></a>

**Note**  
À compter de septembre 2023, le programme d'Homebrewinstallation AWS géré pour le AWS SAMCLI (`aws/tap/aws-sam-cli`) ne AWS sera plus maintenu. Si vous avez l'Homebrewhabitude d'installer et de gérer le AWS SAMCLI, consultez les options suivantes :   
Pour continuer à utiliser Homebrew, vous pouvez utiliser le programme d'installation géré par la communauté. Pour de plus amples informations, veuillez consulter [Gestion de la CLI  AWS SAM avec Homebrew](manage-sam-cli-versions.md#manage-sam-cli-versions-homebrew).
Nous vous recommandons d'utiliser l'une des méthodes d'installation de premier niveau décrites sur cette page. Avant d'utiliser l'une de ces méthodes, consultez [Passer de Homebrew](manage-sam-cli-versions.md#manage-sam-cli-versions-switch).
Pour plus de détails, reportez-vous à la [version de publication : 1.121.0](https://github.com/aws/aws-sam-cli/releases).

 Pour l'installer AWS SAMCLI, suivez les instructions correspondant à votre système d'exploitation. 

### Linux
<a name="install-sam-cli-instructions-linux"></a>

------
#### [ x86\$164 - command line installer ]

1. Téléchargez le [fichier .zip de la CLI AWS SAM](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip) dans un répertoire de votre choix.

1. **(Facultatif)** Vous pouvez vérifier l'intégrité du programme d'installation avant l'installation. Pour obtenir des instructions, veuillez consulter [Facultatif : vérifier l'intégrité du AWS SAMCLI programme d'installation](reference-sam-cli-install-verify.md).

1. Décompressez les fichiers d'installation dans le répertoire de votre choix. Voici un exemple avec utilisation du sous-répertoire `sam-installation`.
**Note**  
Si votre système d'exploitation ne dispose pas de la commande **unzip** intégrée, utilisez un équivalent.

   ```
   $ unzip aws-sam-cli-linux-x86_64.zip -d sam-installation
   ```

1. Installez la CLI  AWS SAM en lançant l'exécutable `install`. L'exécutable se trouve dans le répertoire utilisé à l'étape précédente. Voici un exemple avec utilisation du sous-répertoire `sam-installation` :

   ```
   $ sudo ./sam-installation/install
   ```

1. Vérifiez l’installation.

   ```
   $ sam --version
   ```

   Pour confirmer la réussite de l'installation, vous devriez voir une sortie qui remplace le texte entre crochets suivant par la dernière version disponible :

   ```
    SAM CLI, <latest version>
   ```

------
#### [ arm64 - command line installer ]

1. Téléchargez le [fichier .zip de la CLI AWS SAM](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-arm64.zip) dans un répertoire de votre choix.

1. **(Facultatif)** Vous pouvez vérifier l'intégrité du programme d'installation avant l'installation. Pour obtenir des instructions, veuillez consulter [Facultatif : vérifier l'intégrité du AWS SAMCLI programme d'installation](reference-sam-cli-install-verify.md).

1. Décompressez les fichiers d'installation dans le répertoire de votre choix. Voici un exemple avec utilisation du sous-répertoire `sam-installation`.
**Note**  
Si votre système d'exploitation ne dispose pas de la commande **unzip** intégrée, utilisez un équivalent.

   ```
   $ unzip aws-sam-cli-linux-arm64.zip -d sam-installation
   ```

1. Installez la CLI  AWS SAM en lançant l'exécutable `install`. L'exécutable se trouve dans le répertoire utilisé à l'étape précédente. Voici un exemple avec utilisation du sous-répertoire `sam-installation` :

   ```
   $ sudo ./sam-installation/install
   ```

1. Vérifiez l’installation.

   ```
   $ sam --version
   ```

   Pour confirmer la réussite de l'installation, vous devriez voir un résultat comme celui-ci, mais qui remplace le texte entre crochets par la dernière version de la CLI SAM :

   ```
    SAM CLI, <latest version>
   ```

------

### macOS
<a name="install-sam-cli-instructions-macos"></a>

#### Étapes d'installation
<a name="install-sam-cli-instructions-macos-steps"></a>

Utilisez le programme d'installation du package pour installer le AWS SAMCLI. En outre, le programme d'installation du package propose deux méthodes d'installation parmi lesquelles vous pouvez choisir : **interface graphique** et **ligne de commande**. Vous pouvez l'installer pour **tous les utilisateurs** ou uniquement pour votre **utilisateur actuel**. Pour effectuer l'installation pour tous les utilisateurs, l'autorisation de superutilisateur est requise. 

**Note**  
AWS SAM La CLI ne prend pas en charge les versions de macOS antérieures à macOS 13.x. Effectuez une mise à niveau vers une version compatible de macOS ou installez la AWS SAM CLI avecHomebrew.

------
#### [ GUI - All users ]

**Pour télécharger le programme d'installation du package et installer le AWS SAMCLI**
**Note**  
 Si vous avez déjà installé la CLI  AWS SAM via Homebrew ou pip, vous devez d'abord la désinstaller. Pour obtenir des instructions, veuillez consulter [Désinstallation de la CLI  AWS SAM](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall). 

1.  Téléchargez le macOS `pkg` dans le répertoire de votre choix : 
   +  **Pour les Mac équipés de processeurs Intel, choisissez x86\$164** [— -x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **[Pour les Mac équipés d'Apple Silicon, choisissez arm64 — -arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg)** 
**Note**  
Vous avez la possibilité de vérifier l'intégrité du programme d'installation avant l'installation. Pour obtenir des instructions, veuillez consulter [Facultatif : vérifier l'intégrité du AWS SAMCLI programme d'installation](reference-sam-cli-install-verify.md).

1.  Exécutez le fichier téléchargé et suivez les instructions qui s'affichent à l'écran pour suivre les étapes **Introduction**, **Read Me** (Lisez-moi) et **License** (Licence). 

1.  Pour **Destination Select** (Sélection de destination), sélectionnez **Install for all users of this computer** (Installer pour tous les utilisateurs de cet ordinateur). 

1.  Dans **Type d'installation**, choisissez l'emplacement d'installation de la CLI  AWS SAM et appuyez sur **Installer**. L'emplacement par défaut recommandé est `/usr/local/aws-sam-cli`. 
**Note**  
 Pour invoquer la CLI  AWS SAM avec la commande **sam**, le programme d'installation crée automatiquement un lien symbolique entre `/usr/local/bin/sam` et `/usr/local/aws-sam-cli/sam` ou le dossier d'installation que vous avez choisi. 

1.  La CLI  AWS SAM va s'installer et le message **L'installation s'est déroulée avec succès** s'affichera. Appuyez sur **Close** (Fermer). 

**Pour vérifier la réussite de l'installation**
+  Vérifiez que la CLI  AWS SAM est correctement installée et que votre lien symbolique est configuré en exécutant : 

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ GUI - Current user ]

**Pour télécharger et installer AWS SAMCLI**
**Note**  
 Si vous avez déjà installé la CLI  AWS SAM via Homebrew ou pip, vous devez d'abord la désinstaller. Pour obtenir des instructions, veuillez consulter [Désinstallation de la CLI  AWS SAM](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall). 

1.  Téléchargez le macOS `pkg` dans le répertoire de votre choix : 
   +  **Pour les Mac équipés de processeurs Intel, choisissez x86\$164** [— -x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **[Pour les Mac équipés d'Apple Silicon, choisissez arm64 — -arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg)** 
**Note**  
Vous avez la possibilité de vérifier l'intégrité du programme d'installation avant l'installation. Pour obtenir des instructions, veuillez consulter [Facultatif : vérifier l'intégrité du AWS SAMCLI programme d'installation](reference-sam-cli-install-verify.md).

1.  Exécutez le fichier téléchargé et suivez les instructions qui s'affichent à l'écran pour suivre les étapes **Introduction**, **Read Me** (Lisez-moi) et **License** (Licence). 

1.  Pour **Destination Select** (Sélection de destination), sélectionnez **Install for me only** (Installer pour moi uniquement). Si vous ne voyez pas cette option, passez à l'étape suivante. 

1.  Pour **Installation Type** (Type d'installation), procédez comme suit : 

   1. Choisissez l'emplacement d'installation de la CLI  AWS SAM. L'emplacement par défaut est `/usr/local/aws-sam-cli`. Sélectionnez un emplacement pour lequel vous disposez d'autorisations d'écriture. Pour modifier l'emplacement d'installation, sélectionnez **local** et choisissez votre emplacement. Appuyez sur **Continue** (Continuer) lorsque vous avez terminé. 

   1.  Si vous n'avez pas eu la possibilité de choisir **Install for me only** (Installer pour moi uniquement) à l'étape précédente, sélectionnez **Change Install Location** (Modifier l'emplacement d'installation) > **Install for me only** et appuyez sur **Continue** (Continuer). 

   1.  Appuyez sur **Install** (Installer). 

1.  La CLI  AWS SAM va s'installer et le message **L'installation s'est déroulée avec succès** s'affichera. Appuyez sur **Close** (Fermer). 

**Pour créer un lien symbolique**
+  Pour invoquer la CLI  AWS SAMà l'aide de la commande **sam**, vous devez créer manuellement un lien symbolique entre le programme CLI  AWS SAM et votre `$PATH`. Créez votre lien symbolique en modifiant et en exécutant la commande suivante : 

  ```
  $ sudo ln -s /path-to/aws-sam-cli/sam /path-to-symlink-directory/sam
  ```
  +  *sudo*— Si votre utilisateur dispose d'autorisations d'écriture pour`$PATH`, ce n'**sudo**est pas obligatoire. Dans le cas contraire, la valeur **sudo** est obligatoire. 
  +  *path-to*— Chemin d'accès à l'endroit où vous avez installé le AWS SAMCLI programme. Par exemple, `/Users/myUser/Desktop`. 
  +  *path-to-symlink-directory*— Votre variable d'`$PATH`environnement. L'emplacement par défaut est `/usr/local/bin`. 

**Pour vérifier la réussite de l'installation**
+  Vérifiez que la CLI  AWS SAM est correctement installée et que votre lien symbolique est configuré en exécutant : 

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ Command line - All users ]

**Pour télécharger et installer AWS SAMCLI**
**Note**  
 Si vous avez déjà installé la CLI  AWS SAM via Homebrew ou pip, vous devez d'abord la désinstaller. Pour obtenir des instructions, veuillez consulter [Désinstallation de la CLI  AWS SAM](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall). 

1.  Téléchargez le macOS `pkg` dans le répertoire de votre choix : 
   +  **Pour les Mac équipés de processeurs Intel, choisissez x86\$164** [— -x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **[Pour les Mac équipés d'Apple Silicon, choisissez arm64 — -arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg)** 
**Note**  
Vous avez la possibilité de vérifier l'intégrité du programme d'installation avant l'installation. Pour obtenir des instructions, veuillez consulter [Facultatif : vérifier l'intégrité du AWS SAMCLI programme d'installation](reference-sam-cli-install-verify.md).

1.  Modifiez et exécutez le script d'installation : 

   ```
   $ sudo installer -pkg path-to-pkg-installer/name-of-pkg-installer -target /
   installer: Package name is AWS SAM CLI
   installer: Upgrading at base path /
   installer: The upgrade was successful.
   ```
**Note**  
 Pour invoquer la CLI  AWS SAM avec la commande **sam**, le programme d'installation crée automatiquement un lien symbolique entre `/usr/local/bin/sam` et `/usr/local/aws-sam-cli/sam`. 

**Pour vérifier la réussite de l'installation**
+  Vérifiez que la CLI  AWS SAM est correctement installée et que votre lien symbolique est configuré en exécutant : 

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ Command line - Current user ]

**Pour télécharger et installer AWS SAMCLI**
**Note**  
 Si vous avez déjà installé la CLI  AWS SAM via Homebrew ou pip, vous devez d'abord la désinstaller. Pour obtenir des instructions, veuillez consulter [Désinstallation de la CLI  AWS SAM](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall). 

1.  Téléchargez le macOS `pkg` dans le répertoire de votre choix : 
   +  **Pour les Mac équipés de processeurs Intel, choisissez x86\$164** [— -x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **[Pour les Mac équipés d'Apple Silicon, choisissez arm64 — -arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg)** 
**Note**  
Vous avez la possibilité de vérifier l'intégrité du programme d'installation avant l'installation. Pour obtenir des instructions, veuillez consulter [Facultatif : vérifier l'intégrité du AWS SAMCLI programme d'installation](reference-sam-cli-install-verify.md).

1.  Déterminez le répertoire d'installation pour lequel vous disposez d'autorisations d'écriture. Créez ensuite un fichier `xml` à l'aide du modèle et modifiez-le pour qu'il reflète votre répertoire d'installation. Le répertoire doit déjà exister. 

    Par exemple, si vous remplacez *path-to-my-directory* par`/Users/myUser/Desktop`, le dossier `aws-sam-cli` du programme y sera installé. 

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
     <array>
       <dict>
         <key>choiceAttribute</key>
         <string>customLocation</string>
         <key>attributeSetting</key>
         <string>path-to-my-directory</string>
         <key>choiceIdentifier</key>
         <string>default</string>
       </dict>
     </array>
   </plist>
   ```

1.  Enregistrez le fichier `xml` et vérifiez sa validité en procédant ainsi : 

   ```
   $ installer -pkg path-to-pkg-installer \
   -target CurrentUserHomeDirectory \
   -showChoicesAfterApplyingChangesXML path-to-your-xml-file
   ```

    La réponse générée doit afficher les préférences qui seront appliquées au programme CLI  AWS SAM. 

1.  Exécutez ce qui suit pour installer AWS SAMCLI : 

   ```
   $ installer -pkg path-to-pkg-installer \
   -target CurrentUserHomeDirectory \
   -applyChoiceChangesXML path-to-your-xml-file
   
   # Example output
   installer: Package name is AWS SAM CLI
   installer: choices changes file 'path-to-your-xml-file' applied
   installer: Upgrading at base path base-path-of-xml-file
   installer: The upgrade was successful.
   ```

**Pour créer un lien symbolique**
+  Pour invoquer la CLI  AWS SAMà l'aide de la commande **sam**, vous devez créer manuellement un lien symbolique entre le programme CLI  AWS SAM et votre `$PATH`. Créez votre lien symbolique en modifiant et en exécutant la commande suivante : 

  ```
  $ sudo ln -s /path-to/aws-sam-cli/sam /path-to-symlink-directory/sam
  ```
  +  *sudo*— Si votre utilisateur dispose d'autorisations d'écriture pour`$PATH`, ce n'**sudo**est pas obligatoire. Dans le cas contraire, la valeur **sudo** est obligatoire. 
  +  *path-to*— Chemin d'accès à l'endroit où vous avez installé le AWS SAMCLI programme. Par exemple, `/Users/myUser/Desktop`. 
  +  *path-to-symlink-directory*— Votre variable d'`$PATH`environnement. L'emplacement par défaut est `/usr/local/bin`. 

**Pour vérifier la réussite de l'installation**
+  Vérifiez que la CLI  AWS SAM est correctement installée et que votre lien symbolique est configuré en exécutant : 

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------

### Windows
<a name="install-sam-cli-instructions-windows"></a>

Les fichiers Windows Installer (MSI) sont les fichiers du programme d'installation du package pour le système d'exploitation Windows.

Procédez comme suit pour installer la CLI  AWS SAMà l'aide du fichier MSI.

1. Téléchargez la CLI  AWS SAM [64 bits](https://github.com/aws/aws-sam-cli/releases/latest/download/AWS_SAM_CLI_64_PY3.msi).

1. **(Facultatif)** Vous pouvez vérifier l'intégrité du programme d'installation avant l'installation. Pour obtenir des instructions, veuillez consulter [Facultatif : vérifier l'intégrité du AWS SAMCLI programme d'installation](reference-sam-cli-install-verify.md). 

1. Vérifiez l’installation.

   Une fois l'installation terminée, vérifiez-la en ouvrant une nouvelle invite de commande ou une nouvelle PowerShell invite. Vous devriez être en mesure d'appeler `sam` à partir de la ligne de commande.

   ```
   sam --version
   ```

   Une fois l'installation réussie du AWS SAMCLI, vous devriez voir le résultat suivant :

   ```
   SAM CLI, <latest version>
   ```

1. Activez les chemins d'accès longs (Windows 10 et versions ultérieures uniquement).
**Important**  
Ils AWS SAMCLI peuvent interagir avec des chemins de fichiers qui dépassent la limite de chemin maximale de Windows. Cela peut provoquer des erreurs lors de l'exécution `sam init` en raison des **MAX\$1PATH** limitations de Windows 10. Pour résoudre ce problème, vous devez configurer le comportement des nouveaux chemins d'accès longs.

   Pour activer les chemins d'accès longs, veuillez consulter la rubrique [Activer les chemins longs dans Windows 10, version 1607 et ultérieures](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later) dans la *documentation de développement d'applications Microsoft Windows*.

1. Installez Git.

   Pour télécharger des exemples d'applications à l'aide de la commande `sam init`, vous devez également installer Git. Pour obtenir des instructions, veuillez consulter [Installation de Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).

## Résolution des erreurs d'installation
<a name="sam-cli-troubleshoot-install"></a>

### Linux
<a name="sam-cli-troubleshoot-install-linux"></a>

#### Erreur Docker : « Impossible de se connecter au Démon Docker. Le démon docker fonctionne-t-il sur cet hôte ? »
<a name="serverless-sam-cli-install-linux-troubleshooting-docker-deamon"></a>

Dans certains cas, pour autoriser `ec2-user` à accéder au démon Docker, vous devrez peut-être redémarrer votre instance. Si vous recevez cette erreur, essayez de redémarrer votre instance.

#### Erreur shell : « commande introuvable »
<a name="serverless-sam-cli-install-linux-troubleshooting-sam-cli-not-found"></a>

Si vous recevez cette erreur, votre shell ne peut pas localiser l'exécutable CLI  AWS SAM dans le chemin d'accès. Vérifiez l'emplacement du répertoire dans lequel vous avez installé l'exécutable CLI  AWS SAM, puis vérifiez que le répertoire se trouve sur votre chemin d'accès.

#### AWS SAMCLIerreur : « /lib64/libc.so.6 : version `GLIBC\$12.14' introuvable (requise par/.so.1) » usr/local/aws-sam-cli/dist/libz
<a name="serverless-sam-cli-install-linux-troubleshooting-sam-cli-missing-lib"></a>

Si vous recevez cette erreur, vous utilisez une version non prise en charge de Linux et la version glibc intégrée est obsolète. Essayez l'une des actions suivantes :
+ Mettez à niveau votre hôte Linux vers la version 64 bits d'une distribution récente de CentOS, Fedora, Ubuntu ou Amazon Linux 2.
+ Suivez les instructions ci-dessous pour [Installer la CLI  AWS SAM](#install-sam-cli).

### macOS
<a name="sam-cli-troubleshoot-install-macos"></a>

#### Échec de l'installation
<a name="sam-cli-troubleshoot-install-macos-install-failed"></a>

![\[Image du programme d'installation de la CLI  AWS SAM affichant un message d'échec de l'installation\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/images/sam-cli-troubleshoot-install-macos-install-failed.jpg)


 Si vous installez la CLI  AWS SAM pour votre utilisateur et que vous avez sélectionné un répertoire d'installation pour lequel vous ne disposez pas d'autorisations d'écriture, cette erreur peut survenir. Essayez l'une des actions suivantes : 

1.  Sélectionnez un autre répertoire d'installation pour lequel vous disposez d'autorisations d'écriture. 

1.  Supprimez le programme d'installation. Ensuite, téléchargez-le et exécutez-le à nouveau. 

## Étapes suivantes
<a name="install-sam-cli-next-steps"></a>

Pour en savoir plus sur la CLI  AWS SAM et pour commencer à créer vos propres applications sans serveur, veuillez consulter les ressources suivantes :
+ [Tutoriel : Déployer une application Hello World avec AWS SAM](serverless-getting-started-hello-world.md)— Step-by-step instructions pour télécharger, créer et déployer une application sans serveur de base.
+ [L' AWS SAM atelier complet](https://catalog.workshops.aws/complete-aws-sam/en-US) — Un atelier conçu pour vous enseigner les nombreuses fonctionnalités principales qu'il AWS SAM fournit.
+ [AWS SAM exemples d'applications et de modèles](https://serverlessland.com/patterns?framework=AWS+SAM) : exemples d'applications et de modèles créés par des auteurs de la communauté que vous pouvez tester plus avant.

# Facultatif : vérifier l'intégrité du AWS SAMCLI programme d'installation
<a name="reference-sam-cli-install-verify"></a>

Lorsque vous installez l'interface de ligne de AWS Serverless Application Model commande (AWS SAMCLI) à l'aide d'un programme d'installation de package, vous pouvez vérifier son intégrité avant l'installation. Il s'agit d'une étape facultative, mais vivement recommandée. 

Les deux options de vérification disponibles sont les suivantes :
+ Vérifier le fichier de signature du programme d'installation de packages.
+ Vérifier la valeur de hachage du programme d'installation de packages.

Nous vous recommandons l'option de vérification du fichier de signature lorsqu'elle est disponible pour votre plateforme. Cette option offre un niveau de sécurité supplémentaire puisque les valeurs clés sont publiées ici et gérées séparément de notre référentiel GitHub.

**Topics**
+ [

## Vérification du fichier de signature du programme d'installation
](#reference-sam-cli-install-verify-signature)
+ [

## Vérification de la valeur de hachage
](#reference-sam-cli-install-verify-hash)

## Vérification du fichier de signature du programme d'installation
<a name="reference-sam-cli-install-verify-signature"></a>

### Linux
<a name="reference-sam-cli-install-verify-signature-linux"></a>

#### arm64 : installateur en ligne de commande
<a name="reference-sam-cli-install-verify-signature-linux-arm64"></a>

AWS SAM utilise [GnuPG](https://www.gnupg.org/) pour signer AWS SAMCLI le programme d'installation .zip. La vérification s'effectue selon les étapes suivantes :

1. Utilisation de la clé publique principale pour vérifier la clé publique du signataire.

1. Utilisation de la clé publique du signataire pour vérifier le programme d'installation de packages de la CLI  AWS SAM.

**Pour vérifier l'intégrité de la clé publique du signataire**

1. Copiez la clé publique principale et enregistrez-la sur votre machine locale sous la forme d'un fichier `.txt`. Par exemple, *`primary-public-key.txt`*.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   mQINBGRuSzMBEADsqiwOy78w7F4+sshaMFRIwRGNRm94p5Qey2KMZBxekFtoryVD
   D9jEOnvupx4tvhfBHz5EcUHCEOdl4MTqdBy6vVAshozgxVb9RE8JpECn5lw7XC69
   4Y7Gy1TKKQMEWtDXElkGxIFdUWvWjSnPlzfnoXwQYGeE93CUS3h5dImP22Yk1Ct6
   eGGhlcbg1X4L8EpFMj7GvcsU8f7ziVI/PyC1Xwy39Q8/I67ip5eU5ddxO/xHqrbL
   YC7+8pJPbRMej2twT2LrcpWWYAbprMtRoa6WfE0/thoo3xhHpIMHdPfAA86ZNGIN
   kRLjGUg7jnPTRW4Oin3pCc8nT4Tfc1QERkHm641gTC/jUvpmQsM6h/FUVP2i5iE/
   JHpJcMuL2Mg6zDo3x+3gTCf+Wqz3rZzxB+wQT3yryZs6efcQy7nROiRxYBxCSXX0
   2cNYzsYLb/bYaW8yqWIHD5IqKhw269gp2E5Khs60zgS3CorMb5/xHgXjUCVgcu8a
   a8ncdf9fjl3WS5p0ohetPbO2ZjWv+MaqrZOmUIgKbA4RpWZ/fU97P5BW9ylwmIDB
   sWy0cMxg8MlvSdLytPieogaM0qMg3u5qXRGBr6Wmevkty0qgnmpGGc5zPiUbtOE8
   CnFFqyxBpj5IOnG0KZGVihvn+iRxrv6GO7WWO92+Dc6m94U0EEiBR7QiOwARAQAB
   tDRBV1MgU0FNIENMSSBQcmltYXJ5IDxhd3Mtc2FtLWNsaS1wcmltYXJ5QGFtYXpv
   bi5jb20+iQI/BBMBCQApBQJkbkszAhsvBQkHhM4ABwsJCAcDAgEGFQgCCQoLBBYC
   AwECHgECF4AACgkQQv1fenOtiFqTuhAAzi5+ju5UVOWqHKevOJSO08T4QB8HcqAE
   SVO3mY6/j29knkcL8ubZP/DbpV7QpHPI2PB5qSXsiDTP3IYPbeY78zHSDjljaIK3
   njJLMScFeGPyfPpwMsuY4nzrRIgAtXShPA8N/k4ZJcafnpNqKj7QnPxiC1KaIQWm
   pOtvb8msUF3/s0UTa5Ys/lNRhVC0eGg32ogXGdojZA2kHZWdm9udLo4CDrDcrQT7
   NtDcJASapXSQL63XfAS3snEc4e1941YxcjfYZ33rel8K9juyDZfi1slWR/L3AviI
   QFIaqSHzyOtP1oinUkoVwL8ThevKD3Ag9CZflZLzNCV7yqlF8RlhEZ4zcE/3s9El
   WzCFsozb5HfE1AZonmrDh3SyOEIBMcS6vG5dWnvJrAuSYv2rX38++K5Pr/MIAfOX
   DOI1rtA+XDsHNv9lSwSy0lt+iClawZANO9IXCiN1rOYcVQlwzDFwCNWDgkwdOqS0
   gOA2f8NF9lE5nBbeEuYquoOl1Vy8+ICbgOFs9LoWZlnVh7/RyY6ssowiU9vGUnHI
   L8f9jqRspIz/Fm3JD86ntZxLVGkeZUz62FqErdohYfkFIVcv7GONTEyrz5HLlnpv
   FJ0MR0HjrMrZrnOVZnwBKhpbLocTsH+3t5It4ReYEX0f1DIOL/KRwPvjMvBVkXY5
   hblRVDQoOWc=
   =d9oG
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. Importez la clé publique principale dans votre porte-clés.

   ```
   $ gpg --import primary-public-key.txt
   							
   gpg: directory `/home/.../.gnupg' created
   gpg: new configuration file `/home/.../.gnupg/gpg.conf' created
   gpg: WARNING: options in `/home/.../.gnupg/gpg.conf' are not yet active during this run
   gpg: keyring `/home/.../.gnupg/secring.gpg' created
   gpg: keyring `/home/.../.gnupg/pubring.gpg' created
   gpg: /home/.../.gnupg/trustdb.gpg: trustdb created
   gpg: key 73AD885A: public key "AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   ```

1. Copiez la clé publique du signataire et enregistrez-la sur votre machine locale sous la forme d'un fichier `.txt`. Par exemple, *`signer-public-key.txt`*.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   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
   LtZnq+n4SfeNbZjD2FQWZR4CrA==
   =lHfs
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. Importez la clé publique du signataire dans votre porte-clés.

   ```
   $ gpg --import signer-public-key.txt
   							
   gpg: key 4094ABB1BEDFDAB4: public key "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   gpg: no ultimately trusted keys found
   ```

   Prenez note de la valeur de la clé à partir de la sortie. Par exemple, *`4094ABB1BEDFDAB4`*.

1. Utilisez la valeur de la clé pour obtenir et vérifier l'empreinte digitale de la clé publique du signataire.

   ```
   $ gpg --fingerprint 4094ABB1BEDFDAB4
   							
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   ```

   L'empreinte digitale doit correspondre à ce qui suit :

   ```
   EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```

   Si la chaîne de l'empreinte digitale ne correspond pas, n'utilisez pas le programme d'installation de la CLI  AWS SAM. Soumettez le problème à l' AWS SAM équipe en [créant un problème](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) dans le *aws-sam-cli GitHub référentiel*.

1. Vérifiez les signatures de la clé publique du signataire :

   ```
   $ gpg --check-sigs 4094ABB1BEDFDAB4
   						  
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF463E86CA31933BB688CC1A4094ABB1BEDFDAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   sig!3        4094ABB1BEDFDAB4 2025-05-19  [self-signature]
   sig!         42FD5F7A73AD885A 2025-05-19 AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>
   ```

   Si vous voyez `1 signature not checked due to a missing key`, répétez les étapes précédentes pour importer la clé publique principale et la clé publique du signataire dans votre porte-clés.

   Les valeurs des clés de la clé publique principale et de la clé publique du signataire devraient être répertoriées.

Maintenant que vous avez vérifié l'intégrité de la clé publique du signataire, vous pouvez l'utiliser pour vérifier le programme d'installation de packages de la CLI  AWS SAM.

**Pour vérifier l'intégrité du programme d'installation de packages de la CLI  AWS SAM**

1. **Obtenez le fichier de signature du package de la CLI  AWS SAM** : téléchargez le fichier de signature du programme d'installation de packages de la CLI  AWS SAMà l'aide de la commande suivante :

   ```
   $ wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-arm64.zip.sig
   ```

1. **Vérifiez le fichier de signature** : passez les fichiers `.sig` et `.zip` téléchargés en tant que paramètres de la commande `gpg`. Voici un exemple :

   ```
   $ gpg --verify aws-sam-cli-linux-arm64.zip.sig aws-sam-cli-linux-arm64.zip
   ```

   La sortie doit ressembler à ce qui suit :

   ```
   gpg: Signature made Mon 19 May 2025 01:21:57 AM UTC using RSA key ID 4094ABB1BEDFDAB4
   gpg: Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```
   + Le message `WARNING: This key is not certified with a trusted signature!` peut être ignoré. Cet avertissement est dû au fait qu'il n'y a pas de chaîne de confiance entre votre clé PGP personnelle (si vous en avez une) et la clé PGP de la CLI  AWS SAM . Pour de plus amples informations, consultez [Web of trust](https://en.wikipedia.org/wiki/Web_of_trust).
   + Si le résultat contient l'expression `BAD signature`, vérifiez que vous avez effectué la procédure correctement. Si vous continuez à recevoir cette réponse, signalez-le à l' AWS SAM équipe en [créant un problème](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) dans le *aws-sam-cli GitHub référentiel* et en évitant d'utiliser le fichier téléchargé.

   Le message `Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"` signifie que la signature est vérifiée et que vous pouvez poursuivre l'installation.

#### x86\$164 – programme d'installation en ligne de commande
<a name="reference-sam-cli-install-verify-signature-linux-x8664"></a>

AWS SAM utilise [GnuPG](https://www.gnupg.org/) pour signer AWS SAMCLI le programme d'installation .zip. La vérification s'effectue selon les étapes suivantes :

1. Utilisation de la clé publique principale pour vérifier la clé publique du signataire.

1. Utilisation de la clé publique du signataire pour vérifier le programme d'installation de packages de la CLI  AWS SAM.

**Pour vérifier l'intégrité de la clé publique du signataire**

1. Copiez la clé publique principale et enregistrez-la sur votre machine locale sous la forme d'un fichier `.txt`. Par exemple, *`primary-public-key.txt`*.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   mQINBGRuSzMBEADsqiwOy78w7F4+sshaMFRIwRGNRm94p5Qey2KMZBxekFtoryVD
   D9jEOnvupx4tvhfBHz5EcUHCEOdl4MTqdBy6vVAshozgxVb9RE8JpECn5lw7XC69
   4Y7Gy1TKKQMEWtDXElkGxIFdUWvWjSnPlzfnoXwQYGeE93CUS3h5dImP22Yk1Ct6
   eGGhlcbg1X4L8EpFMj7GvcsU8f7ziVI/PyC1Xwy39Q8/I67ip5eU5ddxO/xHqrbL
   YC7+8pJPbRMej2twT2LrcpWWYAbprMtRoa6WfE0/thoo3xhHpIMHdPfAA86ZNGIN
   kRLjGUg7jnPTRW4Oin3pCc8nT4Tfc1QERkHm641gTC/jUvpmQsM6h/FUVP2i5iE/
   JHpJcMuL2Mg6zDo3x+3gTCf+Wqz3rZzxB+wQT3yryZs6efcQy7nROiRxYBxCSXX0
   2cNYzsYLb/bYaW8yqWIHD5IqKhw269gp2E5Khs60zgS3CorMb5/xHgXjUCVgcu8a
   a8ncdf9fjl3WS5p0ohetPbO2ZjWv+MaqrZOmUIgKbA4RpWZ/fU97P5BW9ylwmIDB
   sWy0cMxg8MlvSdLytPieogaM0qMg3u5qXRGBr6Wmevkty0qgnmpGGc5zPiUbtOE8
   CnFFqyxBpj5IOnG0KZGVihvn+iRxrv6GO7WWO92+Dc6m94U0EEiBR7QiOwARAQAB
   tDRBV1MgU0FNIENMSSBQcmltYXJ5IDxhd3Mtc2FtLWNsaS1wcmltYXJ5QGFtYXpv
   bi5jb20+iQI/BBMBCQApBQJkbkszAhsvBQkHhM4ABwsJCAcDAgEGFQgCCQoLBBYC
   AwECHgECF4AACgkQQv1fenOtiFqTuhAAzi5+ju5UVOWqHKevOJSO08T4QB8HcqAE
   SVO3mY6/j29knkcL8ubZP/DbpV7QpHPI2PB5qSXsiDTP3IYPbeY78zHSDjljaIK3
   njJLMScFeGPyfPpwMsuY4nzrRIgAtXShPA8N/k4ZJcafnpNqKj7QnPxiC1KaIQWm
   pOtvb8msUF3/s0UTa5Ys/lNRhVC0eGg32ogXGdojZA2kHZWdm9udLo4CDrDcrQT7
   NtDcJASapXSQL63XfAS3snEc4e1941YxcjfYZ33rel8K9juyDZfi1slWR/L3AviI
   QFIaqSHzyOtP1oinUkoVwL8ThevKD3Ag9CZflZLzNCV7yqlF8RlhEZ4zcE/3s9El
   WzCFsozb5HfE1AZonmrDh3SyOEIBMcS6vG5dWnvJrAuSYv2rX38++K5Pr/MIAfOX
   DOI1rtA+XDsHNv9lSwSy0lt+iClawZANO9IXCiN1rOYcVQlwzDFwCNWDgkwdOqS0
   gOA2f8NF9lE5nBbeEuYquoOl1Vy8+ICbgOFs9LoWZlnVh7/RyY6ssowiU9vGUnHI
   L8f9jqRspIz/Fm3JD86ntZxLVGkeZUz62FqErdohYfkFIVcv7GONTEyrz5HLlnpv
   FJ0MR0HjrMrZrnOVZnwBKhpbLocTsH+3t5It4ReYEX0f1DIOL/KRwPvjMvBVkXY5
   hblRVDQoOWc=
   =d9oG
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. Importez la clé publique principale dans votre porte-clés.

   ```
   $ gpg --import primary-public-key.txt
   							
   gpg: directory `/home/.../.gnupg' created
   gpg: new configuration file `/home/.../.gnupg/gpg.conf' created
   gpg: WARNING: options in `/home/.../.gnupg/gpg.conf' are not yet active during this run
   gpg: keyring `/home/.../.gnupg/secring.gpg' created
   gpg: keyring `/home/.../.gnupg/pubring.gpg' created
   gpg: /home/.../.gnupg/trustdb.gpg: trustdb created
   gpg: key 73AD885A: public key "AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   ```

1. Copiez la clé publique du signataire et enregistrez-la sur votre machine locale sous la forme d'un fichier `.txt`. Par exemple, *`signer-public-key.txt`*.

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.22 (GNU/Linux)
   
   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
   LtZnq+n4SfeNbZjD2FQWZR4CrA==
   =lHfs
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. Importez la clé publique du signataire dans votre porte-clés.

   ```
   $ gpg --import signer-public-key.txt
   							
   gpg: key 4094ABB1BEDFDAB4: public key "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>" imported
   gpg: Total number processed: 1
   gpg:               imported: 1  (RSA: 1)
   gpg: no ultimately trusted keys found
   ```

   Prenez note de la valeur de la clé à partir de la sortie. Par exemple, *`4094ABB1BEDFDAB4`*.

1. Utilisez la valeur de la clé pour obtenir et vérifier l'empreinte digitale de la clé publique du signataire.

   ```
   $ gpg --fingerprint 4094ABB1BEDFDAB4
   						  
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   ```

   L'empreinte digitale doit correspondre à ce qui suit :

   ```
   EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```

   Si la chaîne de l'empreinte digitale ne correspond pas, n'utilisez pas le programme d'installation de la CLI  AWS SAM. Soumettez le problème à l' AWS SAM équipe en [créant un problème](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) dans le *aws-sam-cli GitHub référentiel*.

1. Vérifiez les signatures de la clé publique du signataire :

   ```
   $ gpg --check-sigs 4094ABB1BEDFDAB4
   							
   pub   rsa4096 2025-05-19 [SCEA] [expires: 2027-05-19]
         EF463E86CA31933BB688CC1A4094ABB1BEDFDAB4
   uid           [ unknown] AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>
   sig!3        4094ABB1BEDFDAB4 2025-05-19  [self-signature]
   sig!         42FD5F7A73AD885A 2025-05-19 AWS SAM CLI Primary <aws-sam-cli-primary@amazon.com>
   ```

   Si vous voyez `1 signature not checked due to a missing key`, répétez les étapes précédentes pour importer la clé publique principale et la clé publique du signataire dans votre porte-clés.

   Les valeurs des clés de la clé publique principale et de la clé publique du signataire devraient être répertoriées.

Maintenant que vous avez vérifié l'intégrité de la clé publique du signataire, vous pouvez l'utiliser pour vérifier le programme d'installation de packages de la CLI  AWS SAM.

**Pour vérifier l'intégrité du programme d'installation de packages de la CLI  AWS SAM**

1. **Obtenez le fichier de signature du package de la CLI  AWS SAM** : téléchargez le fichier de signature du programme d'installation de packages de la CLI  AWS SAMà l'aide de la commande suivante :

   ```
   $ wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip.sig
   ```

1. **Vérifiez le fichier de signature** : passez les fichiers `.sig` et `.zip` téléchargés en tant que paramètres de la commande `gpg`. Voici un exemple :

   ```
   $ gpg --verify aws-sam-cli-linux-x86_64.zip.sig aws-sam-cli-linux-x86_64.zip
   ```

   La sortie doit ressembler à ce qui suit :

   ```
   gpg: Signature made Mon 19 May 2025 01:21:57 AM UTC using RSA key ID 4094ABB1BEDFDAB4
   gpg: Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: EF46 3E86 CA31 933B B688  CC1A 4094 ABB1 BEDF DAB4
   ```
   + Le message `WARNING: This key is not certified with a trusted signature!` peut être ignoré. Cet avertissement est dû au fait qu'il n'y a pas de chaîne de confiance entre votre clé PGP personnelle (si vous en avez une) et la clé PGP de la CLI  AWS SAM . Pour de plus amples informations, consultez [Web of trust](https://en.wikipedia.org/wiki/Web_of_trust).
   + Si le résultat contient l'expression `BAD signature`, vérifiez que vous avez effectué la procédure correctement. Si vous continuez à recevoir cette réponse, signalez-le à l' AWS SAM équipe en [créant un problème](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) dans le *aws-sam-cli GitHub référentiel* et en évitant d'utiliser le fichier téléchargé.

   Le message `Good signature from "AWS SAM CLI Team <aws-sam-cli-signer@amazon.com>"` signifie que la signature est vérifiée et que vous pouvez poursuivre l'installation.

### macOS
<a name="reference-sam-cli-install-verify-signature-macos"></a>

#### Programme d'installation à interface graphique et en ligne de commande
<a name="reference-sam-cli-install-verify-signature-macos-installer"></a>

Vous pouvez vérifier l'intégrité du fichier de signature du programme d'installation de packages de la CLI  AWS SAMà l'aide de l'outil `pkgutil` ou manuellement.

**Pour vérifier à l'aide de l'outil pkgutil**

1. Exécutez la commande suivante, en indiquant le chemin d'accès au programme d'installation téléchargé sur votre ordinateur local :

   ```
   $ pkgutil --check-signature /path/to/aws-sam-cli-installer.pkg
   ```

   Voici un exemple :

   ```
   $ pkgutil --check-signature /Users/user/Downloads/aws-sam-cli-macos-arm64.pkg
   ```

1. Dans le résultat, localisez **SHA256 fingerprint** pour **Developer ID Installer: AMZN Mobile LLC**. Voici un exemple :

   ```
   Package "aws-sam-cli-macos-arm64.pkg":
      Status: signed by a developer certificate issued by Apple for distribution
      Notarization: trusted by the Apple notary service
      Signed with a trusted timestamp on: 2026-01-28 07:39:16 +0000
      Certificate Chain:
       1. Developer ID Installer: AMZN Mobile LLC (94KV3E626L)
          Expires: 2030-09-26 00:18:06 +0000
          SHA256 Fingerprint:
              5C 45 BE 63 FD 52 10 07 2D 66 56 77 5C A9 FF 25 91 6D 3F 01 F7 0E
              9A 8A 05 F6 2D 62 B2 88 8D A9
          ------------------------------------------------------------------------
       2. Developer ID Certification Authority
          Expires: 2031-09-17 00:00:00 +0000
          SHA256 Fingerprint:
              F1 6C D3 C5 4C 7F 83 CE A4 BF 1A 3E 6A 08 19 C8 AA A8 E4 A1 52 8F
              D1 44 71 5F 35 06 43 D2 DF 3A
          ------------------------------------------------------------------------
       3. Apple Root CA
          Expires: 2035-02-09 21:40:36 +0000
          SHA256 Fingerprint:
              B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C
              68 C5 BE 91 B5 A1 10 01 F0 24
   ```

1. **Developer ID Installer: AMZN Mobile LLC SHA256 fingerprint** doit correspondre à la valeur suivante :

   ```
   5C 45 BE 63 FD 52 10 07 2D 66 56 77 5C A9 FF 25 91 6D 3F 01 F7 0E 9A 8A 05 F6 2D 62 B2 88 8D A9
   ```

   Si la chaîne de l'empreinte digitale ne correspond pas, n'utilisez pas le programme d'installation de la CLI  AWS SAM. Soumettez le problème à l' AWS SAM équipe en [créant un problème](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) dans le *aws-sam-cli GitHub référentiel*. Si la chaîne d'empreintes digitales correspond, vous pouvez continuer à utiliser le programme d'installation de packages.

**Pour vérifier manuellement le programme d'installation de packages**
+ Consultez [Vérification de l'authenticité des mises à jour logicielles Apple téléchargées manuellement](https://support.apple.com/en-us/HT202369) (français non garanti) sur le *site web d'assistance Apple*.

### Windows
<a name="reference-sam-cli-install-verify-signature-windows"></a>

Le AWS SAMCLI programme d'installation est fourni sous forme de MSI fichiers pour le système Windows d'exploitation.

**Pour vérifier l'intégrité du programme d'installation**

1. Cliquez avec le bouton droit de la souris sur le programme d'installation et ouvrez la fenêtre **Propriétés**.

1. Choisissez l'onglet **Signatures numériques**.

1. Dans **Liste des signatures**, choisissez **Amazon Web Services, Inc.**, puis **Détails**.

1. Choisissez l'onglet **General (Général)**, s'il n'est pas déjà sélectionné, puis **View Certificate (Afficher le certificat)**.

1. Sélectionnez l'onglet **Détails**, puis sélectionnez **All (Tous)** dans la liste déroulante **Show (Afficher)**, si cette option n'est pas déjà sélectionnée.

1. Faites défiler l'écran vers le bas jusqu'au champ **Thumbprint (Empreinte)**, puis choisissez **Thumbprint (Empreinte)**. Cela affichera la valeur complète de l'empreinte dans la fenêtre inférieure.

1. Faites correspondre la valeur de l'empreinte à la valeur suivante. Si la valeur correspond, poursuivez l'installation. Si ce n'est pas le cas, signalez-le à l' AWS SAM équipe en [créant un problème](https://github.com/aws/aws-sam-cli/issues/new?assignees=&labels=stage%2Fneeds-triage&projects=&template=Bug_report.md&title=Bug%3A+TITLE) dans le *aws-sam-cli GitHub référentiel*.

   ```
   cd62479397f09d72a04c7399a254b0a91da53d6c
   ```

## Vérification de la valeur de hachage
<a name="reference-sam-cli-install-verify-hash"></a>

### Linux
<a name="reference-sam-cli-install-verify-hash-linux"></a>

#### x86\$164 – programme d'installation en ligne de commande
<a name="reference-sam-cli-install-verify-hash-linux-x8664"></a>

Vérifiez l'intégrité et l'authenticité des fichiers d'installation téléchargés en générant une valeur de hachage à l'aide de la commande suivante :

```
$ sha256sum aws-sam-cli-linux-x86_64.zip
```

Le résultat doit ressembler à l'exemple qui suit :

```
<64-character SHA256 hash value> aws-sam-cli-linux-x86_64.zip
```

Comparez la valeur de hachage SHA-256 de 64 caractères avec celle de la version de CLI  AWS SAM de votre choix dans les [Notes de mise à jour de la CLI AWS SAM](https://github.com/aws/aws-sam-cli/releases/latest) sur GitHub.

### macOS
<a name="reference-sam-cli-install-verify-hash-macos"></a>

#### Programme d'installation à interface graphique et en ligne de commande
<a name="reference-sam-cli-install-verify-hash-macos-installer"></a>

 Vérifiez l'intégrité et l'authenticité du programme d'installation téléchargé en générant une valeur de hachage à l'aide de la commande suivante : 

```
$ shasum -a 256 path-to-pkg-installer/name-of-pkg-installer

# Examples
$ shasum -a 256 ~/Downloads/aws-sam-cli-macos-arm64.pkg
$ shasum -a 256 ~/Downloads/aws-sam-cli-macos-x86_64.pkg
```

 Comparez votre valeur de hachage SHA-256 à 64 caractères avec la valeur correspondante dans le référentiel GitHub des [notes de mise à jour de la CLI AWS SAM](https://github.com/aws/aws-sam-cli/releases/latest). 

# Tutoriel : Déployer une application Hello World avec AWS SAM
<a name="serverless-getting-started-hello-world"></a>

Dans ce didacticiel, vous allez utiliser l'interface de ligne de AWS Serverless Application Model commande (AWS SAMCLI) pour effectuer les opérations suivantes :
+ Initialiser, créer et déployer un exemple d'application **Hello World**.
+ Apportez des modifications locales et synchronisez avec AWS CloudFormation.
+ Effectuez des tests locaux sur votre hébergeur de développement.
+ Supprimer l'exemple d'application du AWS Cloud.

L'exemple d'application **Hello World** implémente une API backend de base. Elle regroupe les ressources suivantes :
+ **Amazon API Gateway** : point de terminaison d'API que vous utilisez pour appeler votre fonction.
+ **AWS Lambda** : fonction qui traite la requête HTTP API GET et renvoie un message `hello world`.
+ **Gestion des identités et des accès AWS Rôle (IAM) : fournit** des autorisations permettant aux services d'interagir en toute sécurité.

Le diagramme suivant montre les composants de cette application :

![\[Diagramme d'une fonction Lambda appelée lorsque vous envoyez une demande GET au point de terminaison API Gateway.\]](http://docs.aws.amazon.com/fr_fr/serverless-application-model/latest/developerguide/images/gs-01.png)


**Topics**
+ [

## Conditions préalables
](#serverless-getting-started-hello-world-prerequisites)
+ [

## Étape 1 : initialisation de l'exemple d'application Hello World
](#serverless-getting-started-hello-world-init)
+ [

## Étape 2 : créer votre application
](#serverless-getting-started-hello-world-build)
+ [

## Étape 3 : Déployez votre application sur AWS Cloud
](#serverless-getting-started-hello-world-deploy)
+ [

## Étape 4 : exécuter votre application
](#serverless-getting-started-hello-world-run)
+ [

## Étape 5 : Interagissez avec votre fonction dans AWS Cloud
](#serverless-getting-started-hello-world-remote-invoke)
+ [

## Étape 6 : Modifiez et synchronisez votre application avec AWS Cloud
](#serverless-getting-started-hello-world-sync)
+ [

## Étape 7 : (Facultatif) testez votre application localement
](#serverless-getting-started-hello-world-test)
+ [

## Étape 8 : Supprimez votre application du AWS Cloud
](#serverless-getting-started-hello-world-delete)
+ [

## Résolution des problèmes
](#serverless-getting-started-hello-world-troubleshoot)
+ [

## En savoir plus
](#serverless-getting-started-hello-world-learn)

## Conditions préalables
<a name="serverless-getting-started-hello-world-prerequisites"></a>

Vérifiez que vous avez effectué les opérations suivantes :
+ [AWS SAM prérequis](prerequisites.md)
+ [Installer la CLI  AWS SAM](install-sam-cli.md)

**Note**  
Si vous préférez utiliser Visual Studio Code pour le développement sans serveur, consultez la section [Création d'applications sans serveur](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/sam-get-started.html#serverless-apps-create) dans le guide de l'utilisateur du AWS Toolkit for VS Code pour obtenir des step-by-step instructions sur l'utilisation de l'interface VS Code.

## Étape 1 : initialisation de l'exemple d'application Hello World
<a name="serverless-getting-started-hello-world-init"></a>

Au cours de cette étape, vous allez utiliser la CLI  AWS SAM pour créer un exemple de projet d'application **Hello World** sur votre ordinateur local.

**Pour initialiser l'exemple d'application Hello World**

1. Dans votre ligne de commande, exécutez la commande suivante à partir du répertoire de départ de votre choix :

   ```
   $ sam init
   ```
**Note**  
Cette commande initialise votre application sans serveur et crée un répertoire de projet. Le répertoire contient plusieurs fichiers et dossiers, dont le `template.yaml` fichier, qui est votre AWS SAM modèle.  
La version de Python installée doit correspondre à la `Runtime` propriété spécifiée dans`template.yaml`. Pour les charges de travail de production, nous recommandons d'utiliser Python 3.12 ou des versions antérieures entièrement prises en charge dans AWS les environnements. Si les versions de Python ne correspondent pas, vous rencontrerez des erreurs de compilation.  
Pour résoudre les problèmes de compatibilité des versions :  
 Spécifiez un [environnement d'exécution](sam-cli-command-reference-sam-init.md#sam-cli-command-reference-sam-init-options-runtime) compatible lors de l'initialisation : `sam init --runtime python3.9`
Modifier la `Runtime` propriété `template.yaml` après l'initialisation

1. La CLI  AWS SAM vous guidera tout au long de l'initialisation d'une nouvelle application. Configurez ce qui suit :

   1. Sélectionnez **Modèles de démarrage rapide AWS ** pour choisir un modèle de départ.

   1. Choisissez le modèle **Hello World Example** et téléchargez-le.

   1. Utilisez l'exécution Python et le type de package `zip`.

   1. Dans le cadre de ce didacticiel, désactivez le AWS X-Ray traçage. Pour en savoir plus, consultez [Qu'est-ce que c'est AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) dans le *Guide AWS X-Ray du développeur*.

   1. Pour ce didacticiel, désactivez la surveillance avec Amazon CloudWatch Application Insights. Pour en savoir plus, consultez [Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html) dans le *guide de CloudWatch l'utilisateur Amazon*.

   1. Pour ce didacticiel, désactivez la configuration de la journalisation structurée au format JSON sur vos fonctions Lambda.

   1. Nommez votre application **sam-app**.

   Pour utiliser le flux interactif de la CLI  AWS SAM :
   + Les crochets (`[ ]`) indiquent les valeurs par défaut. Laissez la réponse vide pour sélectionner la valeur par défaut.
   + Saisissez **`y`** pour **oui** et **`n`** pour **non**.

   Vous trouverez ci-dessous un exemple du flux interactif `sam init` :

   ```
   $ sam init
   ...
   Which template source would you like to use?
       1 - AWS Quick Start Templates
       2 - Custom Template Location
   Choice: 1
   
   Choose an AWS Quick Start application template
       1 - Hello World Example
       2 - Data processing
       3 - Hello World Example with Powertools for AWS Lambda
       4 - Multi-step workflow
       5 - Scheduled task
       6 - Standalone function
       7 - Serverless API
       8 - Infrastructure event management 
       9 - Lambda Response Streaming
      10 - GraphQLApi Hello World Example
      11 - Full Stack
      12 - Lambda EFS example
      13 - Serverless Connector Hello World Example
      14 - Multi-step workflow with Connectors
      15 - DynamoDB Example
      16 - Machine Learning
   Template: 1
   
   Use the most popular runtime and package type? (Python and zip) [y/N]: y
   
   Would you like to enable X-Ray tracing on the function(s) in your application?  [y/N]: ENTER
   
   Would you like to enable monitoring using CloudWatch Application Insights?
   For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]: ENTER
   					
   Would you like to set Structured Logging in JSON format on your Lambda functions?  [y/N]: ENTER
   
   Project name [sam-app]: ENTER
   ```

1.  AWS SAMCLITélécharge ensuite votre modèle de départ et crée la structure du répertoire du projet d'application sur votre machine locale. Voici un exemple de réponse générée par la CLI  AWS SAM :

   ```
   Cloning from https://github.com/aws/aws-sam-cli-app-templates (process may take a moment)
   
       -----------------------
       Generating application:
       -----------------------
       Name: sam-app
       Runtime: python3.9
       Architectures: x86_64
       Dependency Manager: pip
       Application Template: hello-world
       Output Directory: .
       Configuration file: sam-app/samconfig.toml
   
       Next steps can be found in the README file at sam-app/README.md
   
   
   Commands you can use next
   =========================
   [*] Create pipeline: cd sam-app && sam pipeline init --bootstrap
   [*] Validate SAM template: cd sam-app && sam validate
   [*] Test Function in the Cloud: cd sam-app && sam sync --stack-name {stack-name} --watch
   ```

1. À partir de votre ligne de commande, accédez au répertoire `sam-app` que vous venez de créer. Voici un exemple de ce que la CLI  AWS SAM a créé :
**Note**  
Si `tree` la commande n'est pas installée automatiquement, exécutez cette commande : `brew install tree`

   ```
   $ cd sam-app
   
   $ tree
   
   ├── README.md
   ├── __init__.py
   ├── events
   │   └── event.json
   ├── hello_world
   │   ├── __init__.py
   │   ├── app.py
   │   └── requirements.txt
   ├── samconfig.toml
   ├── template.yaml
   └── tests
       ├── __init__.py
       ├── integration
       │   ├── __init__.py
       │   └── test_api_gateway.py
       ├── requirements.txt
       └── unit
           ├── __init__.py
           └── test_handler.py
           
   6 directories, 14 files
   ```

   Quelques fichiers importants à signaler :
   + `hello_world/app.py` : contient le code de votre fonction Lambda.
   + `hello_world/requirements.txt` : contient toutes les dépendances Python requises par votre fonction Lambda.
   + `samconfig.toml`— Fichier de configuration de votre application qui stocke les paramètres par défaut utilisés par le AWS SAMCLI.
   + `template.yaml`— Le AWS SAM modèle qui contient le code de l'infrastructure de votre application.

Vous disposez désormais d'une application sans serveur entièrement créée sur votre ordinateur local \$1

## Étape 2 : créer votre application
<a name="serverless-getting-started-hello-world-build"></a>

Au cours de cette étape, vous utilisez la CLI  AWS SAM pour créer votre application et préparer le déploiement. Lorsque vous créez, la CLI  AWS SAM crée un répertoire `.aws-sam` et organise vos dépendances de fonctions, votre code de projet et vos fichiers de projet.

**Pour créer votre application**
+ Dans votre ligne de commande, à partir du répertoire du projet `sam-app`, exécutez ce qui suit :

  ```
  $ sam build
  ```
**Note**  
 Si vous n'avez pas Python sur votre ordinateur local, utilisez la commande **sam build --use-container ** à la place. La CLI  AWS SAM créera un conteneur Docker qui inclut l'exécution et les dépendances de votre fonction. Cette commande nécessite Docker sur votre ordinateur local. Pour installer Docker, consultez [Installation de Docker](install-docker.md).

  Voici un exemple de réponse générée par la CLI  AWS SAM :

  ```
  $ sam build
  Starting Build use cache
  Manifest file is changed (new hash: 3298f1304...d4d421) or dependency folder (.aws-sam/deps/4d3dfad6-a267-47a6-a6cd-e07d6fae318c) is missing for (HelloWorldFunction), downloading dependencies and copying/building source
  Building codeuri: /Users/.../Demo/sam-tutorial1/sam-app/hello_world runtime: python3.9 metadata: {} architecture: x86_64 functions: HelloWorldFunction
  Running PythonPipBuilder:CleanUp
  Running PythonPipBuilder:ResolveDependencies
  Running PythonPipBuilder:CopySource
  Running PythonPipBuilder:CopySource
  
  Build Succeeded
  
  Built Artifacts  : .aws-sam/build
  Built Template   : .aws-sam/build/template.yaml
  
  Commands you can use next
  =========================
  [*] Validate SAM template: sam validate
  [*] Invoke Function: sam local invoke
  [*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch
  [*] Deploy: sam deploy --guided
  ```

  Voici un exemple abrégé du répertoire `.aws-sam` créé par la CLI AWS SAM  :

  ```
  .aws-sam
  ├── build
  │   ├── HelloWorldFunction
  │   │   ├── __init__.py
  │   │   ├── app.py
  │   │   └── requirements.txt
  │   └── template.yaml
  └── build.toml
  ```

Quelques fichiers importants à signaler :
+ `build/HelloWorldFunction` : contient le code de votre fonction Lambda et ses dépendances. La CLI  AWS SAM crée un répertoire pour chaque fonction de votre application.
+ `build/template.yaml`— Contient une copie de votre AWS SAM modèle référencée par CloudFormation lors du déploiement.
+ `build.toml` : le fichier de configuration qui stocke les valeurs de paramètres par défaut référencées par la CLI  AWS SAM lors de la création et du déploiement de votre application.

Vous êtes maintenant prêt à déployer votre application sur le AWS Cloud.

## Étape 3 : Déployez votre application sur AWS Cloud
<a name="serverless-getting-started-hello-world-deploy"></a>

**Note**  
Cette étape nécessite la configuration AWS des informations d'identification. Pour plus d’informations, consultez [Étape 5 : utilisez le AWS CLI pour configurer les AWS informations d'identification](prerequisites.md#prerequisites-configure-credentials) dans [AWS SAM prérequis](prerequisites.md).

Au cours de cette étape, vous utilisez la CLI  AWS SAM pour déployer votre application sur le AWS Cloud. Ils AWS SAMCLI effectueront les opérations suivantes :
+ Vous guide dans la configuration des paramètres de votre application pour le déploiement.
+ Charge les fichiers de votre application sur Amazon Simple Storage Service (Amazon S3).
+ Transformez votre AWS SAM modèle en CloudFormation modèle. Il télécharge ensuite votre modèle sur le CloudFormation service pour fournir vos AWS ressources.

**Pour déployer votre application**

1. Dans votre ligne de commande, à partir du répertoire du projet `sam-app`, exécutez ce qui suit :

   ```
   $ sam deploy --guided
   ```

1. Suivez le flux interactif de la CLI  AWS SAM pour configurer les paramètres de votre application. Configurez ce qui suit :

   1. Le **nom de la CloudFormation pile** — Une pile est un ensemble de AWS ressources que vous pouvez gérer comme une seule unité. Pour en savoir plus, consultez la section [Utilisation des piles](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html) dans le *Guide de l'utilisateur AWS CloudFormation *.

   1. Le **Région AWS**sur lequel déployer votre CloudFormation stack. Pour de plus amples informations, consultez la section [Points de terminaison CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-endpoints.html) dans le *Guide de l'utilisateur AWS CloudFormation *.

   1. Pour ce didacticiel, désactivez la **confirmation des modifications avant le déploiement**.

   1. Autoriser **la création de rôles IAM** : cela permet de AWS SAM créer le rôle IAM nécessaire à l'interaction entre votre ressource API Gateway et votre ressource de fonction Lambda.

   1. Pour ce didacticiel, désactivez l'option de **désactivation de la restauration**.

   1. Autoriser **HelloWorldFunction sans autorisation définie** : ce message s'affiche car votre point de terminaison API Gateway est configuré pour être accessible au public, sans autorisation. Comme il s'agit de la configuration prévue pour votre application Hello World, autorisez la CLI  AWS SAMà continuer. Pour plus d'informations sur la configuration de l'autorisation, consultez [Contrôlez l'accès aux API avec votre AWS SAM modèle](serverless-controlling-access-to-apis.md).

   1. **Enregistrer les arguments dans le fichier de configuration** : cela mettra à jour le fichier `samconfig.toml` de votre application avec vos préférences de déploiement.

   1. Sélectionnez le **nom du fichier de configuration** par défaut.

   1. Sélectionnez l'**environnement de configuration** par défaut.

   Vous trouverez ci-dessous un exemple du résultat du flux interactif `sam deploy --guided` :

   ```
   $ sam deploy --guided
   
   Configuring SAM deploy
   ======================
   
       Looking for config file [samconfig.toml] :  Found
       Reading default arguments  :  Success
   
       Setting default arguments for 'sam deploy'
       =========================================
       Stack Name [sam-app]: ENTER
       AWS Region [us-west-2]: ENTER
       #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
       Confirm changes before deploy [Y/n]: n
       #SAM needs permission to be able to create roles to connect to the resources in your template
       Allow SAM CLI IAM role creation [Y/n]: ENTER
       #Preserves the state of previously provisioned resources when an operation fails
       Disable rollback [y/N]: ENTER
       HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y
       Save arguments to configuration file [Y/n]: ENTER
       SAM configuration file [samconfig.toml]: ENTER
       SAM configuration environment [default]: ENTER
   ```

1.  AWS SAMCLIDéploie ensuite votre application en procédant comme suit :
   + La CLI  AWS SAM crée un compartiment Amazon S3 et charge votre répertoire `.aws-sam`.
   +  AWS SAMCLITransforme votre AWS SAM modèle CloudFormation et le télécharge sur le CloudFormation service.
   + CloudFormation approvisionne vos ressources.

   Pendant le déploiement, la CLI  AWS SAM affiche votre progression. Voici un exemple de résultat :

   ```
   Looking for resources needed for deployment:
   
       Managed S3 bucket: aws-sam-cli-managed-default-samclisam-s3-demo-bucket-1a4x26zbcdkqr
       A different default S3 bucket can be set in samconfig.toml
   
       Parameter "stack_name=sam-app" in [default.deploy.parameters] is defined as a global parameter [default.global.parameters].
       This parameter will be only saved under [default.global.parameters] in /Users/.../Demo/sam-tutorial1/sam-app/samconfig.toml.
   
       Saved arguments to config file
       Running 'sam deploy' for future deployments will use the parameters saved above.
       The above parameters can be changed by modifying samconfig.toml
       Learn more about samconfig.toml syntax at
       https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-config.html
   
   File with same data already exists at sam-app/da3c598813f1c2151579b73ad788cac8, skipping upload
   
       Deploying with following values
       ===============================
       Stack name                   : sam-app
       Region                       : us-west-2
       Confirm changeset            : False
       Disable rollback             : False
       Deployment s3 bucket         : aws-sam-cli-managed-default-samclisam-s3-demo-bucket-1a4x26zbcdkqr
       Capabilities                 : ["CAPABILITY_IAM"]
       Parameter overrides          : {}
       Signing Profiles             : {}
   
   Initiating deployment
   =====================
   
   File with same data already exists at sam-app/2bebf67c79f6a743cc5312f6dfc1efee.template, skipping upload
   
   
   Waiting for changeset to be created..
   
   CloudFormation stack changeset
   ---------------------------------------------------------------------------------------------------------------------------------------------
   Operation                           LogicalResourceId                   ResourceType                        Replacement
   ---------------------------------------------------------------------------------------------------------------------------------------------
   * Modify                            HelloWorldFunction                  AWS::Lambda::Function               False
   * Modify                            ServerlessRestApi                   AWS::ApiGateway::RestApi            False
   - Delete                            AwsSamAutoDependencyLayerNestedSt   AWS::CloudFormation::Stack          N/A
                                       ack
   ---------------------------------------------------------------------------------------------------------------------------------------------
   
   
   Changeset created successfully. arn:aws:cloudformation:us-west-2:012345678910:changeSet/samcli-deploy1678917603/22e05525-08f9-4c52-a2c4-f7f1fd055072
   
   
   2023-03-15 12:00:16 - Waiting for stack create/update to complete
   
   CloudFormation events from stack operations (refresh every 0.5 seconds)
   ---------------------------------------------------------------------------------------------------------------------------------------------
   ResourceStatus                      ResourceType                        LogicalResourceId                   ResourceStatusReason
   ---------------------------------------------------------------------------------------------------------------------------------------------
   UPDATE_IN_PROGRESS                  AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE                     AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE_CLEANUP_IN_PROGRE   AWS::CloudFormation::Stack          sam-app                             -
   SS
   DELETE_IN_PROGRESS                  AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   DELETE_COMPLETE                     AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   UPDATE_COMPLETE                     AWS::CloudFormation::Stack          sam-app                             -
   ---------------------------------------------------------------------------------------------------------------------------------------------
   
   CloudFormation outputs from deployed stack
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Outputs
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Key                 HelloWorldFunctionIamRole
   Description         Implicit IAM Role created for Hello World function
   Value               arn:aws:iam::012345678910:role/sam-app-HelloWorldFunctionRole-15GLOUR9LMT1W
   
   Key                 HelloWorldApi
   Description         API Gateway endpoint URL for Prod stage for Hello World function
   Value               https://<restapiid>.execute-api.us-west-2.amazonaws.com/Prod/hello/
   
   Key                 HelloWorldFunction
   Description         Hello World Lambda Function ARN
   Value               arn:aws:lambda:us-west-2:012345678910:function:sam-app-HelloWorldFunction-yQDNe17r9maD
   ----------------------------------------------------------------------------------------------------------------------------------------------
   
   
   Successfully created/updated stack - sam-app in us-west-2
   ```

Votre application est désormais déployée et s'exécute dans le AWS Cloud \$1

## Étape 4 : exécuter votre application
<a name="serverless-getting-started-hello-world-run"></a>

Au cours de cette étape, vous allez envoyer une requête GET à votre point de terminaison d'API et consulter le résultat de votre fonction Lambda.

**Pour obtenir la valeur du point de terminaison de votre API**

1. À partir des informations affichées par la CLI  AWS SAMà l'étape précédente, localisez la section `Outputs`. Dans cette section, recherchez votre ressource `HelloWorldApi` pour trouver la valeur de votre point de terminaison HTTP. Voici un exemple de résultat :

   ```
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Outputs
   ----------------------------------------------------------------------------------------------------------------------------------------------
   ...
   Key                 HelloWorldApi
   Description         API Gateway endpoint URL for Prod stage for Hello World function
   Value               https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
   ...
   ----------------------------------------------------------------------------------------------------------------------------------------------
   ```

1. Vous pouvez également utiliser la commande **sam list endpoints --output json** pour obtenir ces informations. Voici un exemple de résultat :

   ```
   $ sam list endpoints --output json
   2023-03-15 12:39:19 Loading policies from IAM...
   2023-03-15 12:39:25 Finished loading policies from IAM.
   [
     {
       "LogicalResourceId": "HelloWorldFunction",
       "PhysicalResourceId": "sam-app-HelloWorldFunction-yQDNe17r9maD",
       "CloudEndpoint": "-",
       "Methods": "-"
     },
     {
       "LogicalResourceId": "ServerlessRestApi",
       "PhysicalResourceId": "ets1gv8lxi",
       "CloudEndpoint": [
         "https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod",
         "https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Stage"
       ],
       "Methods": [
         "/hello['get']"
       ]
     }
   ]
   ```

**Pour appeler votre fonction**
+ À l'aide de votre navigateur ou de la ligne de commande, envoyez une requête GET au point de terminaison de votre API. Voici un exemple d'utilisation de la commande curl :

  ```
  $ curl https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
  {"message": "hello world"}
  ```

## Étape 5 : Interagissez avec votre fonction dans AWS Cloud
<a name="serverless-getting-started-hello-world-remote-invoke"></a>

Au cours de cette étape, vous utilisez la CLI  AWS SAM pour invoquer votre fonction Lambda sur le AWS Cloud.

**Pour invoquer votre fonction Lambda dans le cloud**

1. Prenez note des fonctions `LogicalResourceId` que vous avez utilisées à l'étape précédente. Ça devrait être `HelloWorldFunction`.

1. Dans votre ligne de commande, à partir du répertoire du projet `sam-app`, exécutez ce qui suit :

   ```
   $ sam remote invoke HelloWorldFunction --stack-name sam-app
   ```

1.  AWS SAMCLIInvoque votre fonction dans le cloud et renvoie une réponse. Voici un exemple de résultat :

   ```
   $ sam remote invoke HelloWorldFunction --stack-name sam-app
   
   Invoking Lambda Function HelloWorldFunction                                       
   START RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9 Version: $LATEST
   END RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9
   REPORT RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9  Duration: 6.62 ms       Billed Duration: 7 ms     Memory Size: 128 MB     Max Memory Used: 67 MB  Init Duration: 164.06 ms
   {"statusCode":200,"body":"{\"message\":\"hello world\"}"}%
   ```

## Étape 6 : Modifiez et synchronisez votre application avec AWS Cloud
<a name="serverless-getting-started-hello-world-sync"></a>

Au cours de cette étape, vous utilisez la AWS SAMCLI **sam sync --watch** commande pour synchroniser les modifications locales apportées au AWS Cloud.

**Pour utiliser sam sync**

1. Dans votre ligne de commande, à partir du répertoire du projet `sam-app`, exécutez ce qui suit :

   ```
   $ sam sync --watch
   ```

1. La CLI  AWS SAM vous invite à confirmer que vous synchronisez une pile de développement. Étant donné que la **sam sync --watch** commande déploie automatiquement les modifications locales AWS Cloud en temps réel, nous la recommandons uniquement pour les environnements de développement.

   La CLI  AWS SAM effectue un déploiement initial avant de commencer à surveiller les modifications locales. Voici un exemple de résultat :

   ```
   $ sam sync --watch
   The SAM CLI will use the AWS Lambda, Amazon API Gateway, and AWS StepFunctions APIs to upload your code without
   performing a CloudFormation deployment. This will cause drift in your CloudFormation stack.
   **The sync command should only be used against a development stack**.
   
   Confirm that you are synchronizing a development stack.
   
   Enter Y to proceed with the command, or enter N to cancel:
    [Y/n]: y
   Queued infra sync. Waiting for in progress code syncs to complete...
   Starting infra sync.
   Manifest is not changed for (HelloWorldFunction), running incremental build
   Building codeuri: /Users/.../Demo/sam-tutorial1/sam-app/hello_world runtime: python3.9 metadata: {} architecture: x86_64 functions: HelloWorldFunction
   Running PythonPipBuilder:CopySource
   
   Build Succeeded
   
   Successfully packaged artifacts and wrote output template to file /var/folders/45/5ct135bx3fn2551_ptl5g6_80000gr/T/tmpq3x9vh63.
   Execute the following command to deploy the packaged template
   sam deploy --template-file /var/folders/45/5ct135bx3fn2551_ptl5g6_80000gr/T/tmpq3x9vh63 --stack-name <YOUR STACK NAME>
   
   
       Deploying with following values
       ===============================
       Stack name                   : sam-app
       Region                       : us-west-2
       Disable rollback             : False
       Deployment s3 bucket         : aws-sam-cli-managed-default-samclisam-s3-demo-bucket-1a4x26zbcdkqr
       Capabilities                 : ["CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"]
       Parameter overrides          : {}
       Signing Profiles             : null
   
   Initiating deployment
   =====================
   
   
   2023-03-15 13:10:05 - Waiting for stack create/update to complete
   
   CloudFormation events from stack operations (refresh every 0.5 seconds)
   ---------------------------------------------------------------------------------------------------------------------------------------------
   ResourceStatus                      ResourceType                        LogicalResourceId                   ResourceStatusReason
   ---------------------------------------------------------------------------------------------------------------------------------------------
   UPDATE_IN_PROGRESS                  AWS::CloudFormation::Stack          sam-app                             Transformation succeeded
   CREATE_IN_PROGRESS                  AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   CREATE_IN_PROGRESS                  AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   Resource creation Initiated
                                                                           ack
   CREATE_COMPLETE                     AWS::CloudFormation::Stack          AwsSamAutoDependencyLayerNestedSt   -
                                                                           ack
   UPDATE_IN_PROGRESS                  AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE                     AWS::Lambda::Function               HelloWorldFunction                  -
   UPDATE_COMPLETE_CLEANUP_IN_PROGRE   AWS::CloudFormation::Stack          sam-app                             -
   SS
   UPDATE_COMPLETE                     AWS::CloudFormation::Stack          sam-app                             -
   ---------------------------------------------------------------------------------------------------------------------------------------------
   
   CloudFormation outputs from deployed stack
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Outputs
   ----------------------------------------------------------------------------------------------------------------------------------------------
   Key                 HelloWorldFunctionIamRole
   Description         Implicit IAM Role created for Hello World function
   Value               arn:aws:iam::012345678910:role/sam-app-HelloWorldFunctionRole-15GLOUR9LMT1W
   
   Key                 HelloWorldApi
   Description         API Gateway endpoint URL for Prod stage for Hello World function
   Value               https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
   
   Key                 HelloWorldFunction
   Description         Hello World Lambda Function ARN
   Value               arn:aws:lambda:us-west-2:012345678910:function:sam-app-HelloWorldFunction-yQDNe17r9maD
   ----------------------------------------------------------------------------------------------------------------------------------------------
   
   
   Stack update succeeded. Sync infra completed.
   
   Infra sync completed.
   CodeTrigger not created as CodeUri or DefinitionUri is missing for ServerlessRestApi.
   ```

Ensuite, vous allez modifier le code de votre fonction Lambda. Le AWS SAMCLI détectera automatiquement ce changement et synchronisera votre application avec le AWS Cloud.

**Pour modifier et synchroniser votre application**

1. Dans l'IDE de votre choix, ouvrez le fichier `sam-app/hello_world/app.py`.

1. Remplacez le `message` et enregistrez le fichier. Voici un exemple :

   ```
   import json
   ...
   def lambda_handler(event, context):
       ...
       return {
           "statusCode": 200,
           "body": json.dumps({
               "message": "hello everyone!",
               ...
           }),
       }
   ```

1.  AWS SAMCLIDétecte votre modification et synchronise votre application avec le AWS Cloud. Voici un exemple de résultat :

   ```
   Syncing Lambda Function HelloWorldFunction...
   Manifest is not changed for (HelloWorldFunction), running incremental build
   Building codeuri: /Users/.../Demo/sam-tutorial1/sam-app/hello_world runtime: python3.9 metadata: {} architecture: x86_64 functions: HelloWorldFunction
   Running PythonPipBuilder:CopySource
   Finished syncing Lambda Function HelloWorldFunction.
   ```

1. Pour vérifier votre modification, envoyez à nouveau une requête GET au point de terminaison de votre API.

   ```
   $ curl https://ets1gv8lxi.execute-api.us-west-2.amazonaws.com/Prod/hello/
   {"message": "hello everyone!"}
   ```

## Étape 7 : (Facultatif) testez votre application localement
<a name="serverless-getting-started-hello-world-test"></a>

**Note**  
Cette étape est facultative.

**Important**  
Cette étape nécessite que vous Docker utilisiez votre machine locale. Vous devez avoir Docker installé et configuré pour utiliser le AWS SAMCLI pour les tests locaux. Pour de plus amples informations, veuillez consulter [Installation de Docker](install-docker.md).

Au cours de cette étape, vous devez utiliser la AWS SAMCLI **sam local** commande pour tester votre application localement. Pour ce faire, la CLI  AWS SAM crée un environnement local à l'aide de Docker. Cet environnement local émule l'environnement d'exécution basé sur le cloud de votre fonction Lambda.

Vous effectuez les actions suivantes :

1. Créez un environnement local pour votre fonction Lambda et appelez-la.

1. Hébergez le point de terminaison de votre API HTTP en local et utilisez-le pour appeler votre fonction Lambda.

**Pour appeler votre fonction Lambda localement**

1. Dans votre ligne de commande, à partir du répertoire du projet `sam-app`, exécutez ce qui suit :

   ```
   $ sam local invoke
   ```

1. La CLI  AWS SAM crée un conteneur Docker local et invoque votre fonction. Voici un exemple de résultat :

   ```
   $ sam local invoke
   Invoking app.lambda_handler (python3.9)
   Local image was not found.
   Removing rapid images for repo public.ecr.aws/sam/emulation-python3.9
   Building image.....................
   Using local image: public.ecr.aws/lambda/python:3.9-rapid-x86_64.
   
   Mounting /Users/.../Demo/sam-tutorial1/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
   START RequestId: b046db01-2a00-415d-af97-35f3a02e9eb6 Version: $LATEST
   END RequestId: b046db01-2a00-415d-af97-35f3a02e9eb6
   REPORT RequestId: b046db01-2a00-415d-af97-35f3a02e9eb6    Init Duration: 1.01 ms    Duration: 633.45 ms    Billed Duration: 634 ms    Memory Size: 128 MB    Max Memory Used: 128 MB
   {"statusCode": 200, "body": "{\"message\": \"hello world\"}"}
   ```

**Pour héberger votre API localement**

1. Dans votre ligne de commande, à partir du répertoire du projet `sam-app`, exécutez ce qui suit :

   ```
   $ sam local start-api
   ```

1. La CLI  AWS SAM crée un conteneur Docker local pour votre fonction Lambda et crée un serveur HTTP local pour simuler le point de terminaison de votre API. Voici un exemple de résultat :

   ```
   $ sam local start-api
   Initializing the lambda functions containers.
   Local image is up-to-date
   Using local image: public.ecr.aws/lambda/python:3.9-rapid-x86_64.
   
   Mounting /Users/.../Demo/sam-tutorial1/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
   Containers Initialization is done.
   Mounting HelloWorldFunction at http://127.0.0.1:3000/hello [GET]
   You can now browse to the above endpoints to invoke your functions. You do not need to restart/reload SAM CLI while working on your functions, changes will be reflected instantly/automatically. If you used sam build before running local commands, you will need to re-run sam build for the changes to be picked up. You only need to restart AWS SAM CLI if you update your AWS SAM template
   2023-03-15 14:25:21 WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
    * Running on http://127.0.0.1:3000
   2023-03-15 14:25:21 Press CTRL+C to quit
   ```

1. À l'aide de votre navigateur ou de la ligne de commande, envoyez une requête GET au point de terminaison de votre API local. Voici un exemple d'utilisation de la commande curl :

   ```
   $ curl http://127.0.0.1:3000/hello
   {"message": "hello world"}
   ```

## Étape 8 : Supprimez votre application du AWS Cloud
<a name="serverless-getting-started-hello-world-delete"></a>

Au cours de cette étape, vous utilisez la AWS SAMCLI **sam delete** commande pour supprimer votre application du AWS Cloud.

**Pour supprimer votre candidature du AWS Cloud**

1. Dans votre ligne de commande, à partir du répertoire du projet `sam-app`, exécutez ce qui suit :

   ```
   $ sam delete
   ```

1. La CLI  AWS SAM vous demandera de confirmer. Ensuite, il supprimera le bucket et la CloudFormation pile Amazon S3 de votre application. Voici un exemple de résultat :

   ```
   $ sam delete
       Are you sure you want to delete the stack sam-app in the region us-west-2 ? [y/N]: y
       Are you sure you want to delete the folder sam-app in S3 which contains the artifacts? [y/N]: y
       - Deleting S3 object with key c6ce8fa8b5a97dd022ecd006536eb5a4
       - Deleting S3 object with key 5d513a459d062d644f3b7dd0c8b56a2a.template
       - Deleting S3 object with key sam-app/2bebf67c79f6a743cc5312f6dfc1efee.template
       - Deleting S3 object with key sam-app/6b208d0e42ad15d1cee77d967834784b.template
       - Deleting S3 object with key sam-app/da3c598813f1c2151579b73ad788cac8
       - Deleting S3 object with key sam-app/f798cdd93cee188a71d120f14a035b11
       - Deleting Cloudformation stack sam-app
   
   Deleted successfully
   ```

## Résolution des problèmes
<a name="serverless-getting-started-hello-world-troubleshoot"></a>

Pour résoudre le problème AWS SAMCLI, voir[Résolution des problèmes de la CLI AWS SAM](sam-cli-troubleshooting.md).

## En savoir plus
<a name="serverless-getting-started-hello-world-learn"></a>

Pour en savoir plus AWS SAM, consultez les ressources suivantes :
+ **[The Complete AWS SAM Workshop](https://s12d.com/sam-ws-en-intro)** : atelier destiné à vous enseigner un bon nombre des principales fonctionnalités d' AWS SAM .
+ **[Sessions avec SAM](https://www.youtube.com/playlist?list=PLJo-rJlep0ED198FJnTzhIB5Aut_1vDAd)** — Série de vidéos créée par notre équipe AWS Serverless Developer Advocate sur l'utilisation AWS SAM.
+ **[Serverless Land](https://serverlessland.com/)** : site qui rassemble les dernières informations, blogs, vidéos, code et ressources d'apprentissage pour AWS sans serveur.

# Conversion de fonctions Lambda en applications AWS SAM
<a name="convert-lambda-to-sam"></a>

Si vous avez une fonction dans la console Lambda que vous souhaitez gérer dans VS Code en tant qu'infrastructure en tant que code (IaC), vous pouvez la transférer vers VS Code, puis la convertir en modèle. AWS SAM Une fois votre fonction convertie en AWS SAM modèle, vous pouvez contrôler le versionnement de votre infrastructure, automatiser les déploiements, déboguer les fonctions à distance et maintenir des environnements cohérents tout au long de votre cycle de développement. Grâce aux fonctionnalités de débogage locales et à distance, vous pouvez également résoudre les problèmes plus efficacement en parcourant votre code, en inspectant les variables et en définissant des points d'arrêt à la fois localement et dans le cloud. AWS 

Pour obtenir des instructions sur le déplacement de vos fonctions depuis la console et la configuration du développement local, consultez la section Développement de [fonctions Lambda localement avec VS Code](https://docs.aws.amazon.com/lambda/latest/dg/foundation-iac-local-development.html) dans le guide du *AWS Lambda développeur*. Suivez ces instructions pour déplacer une fonction Lambda de la console vers VS Code, puis la convertir en AWS SAM modèle. Après cela, vous pouvez :
+ **Déboguez votre fonction à distance dans le AWS cloud.** Pour plus de détails, voir [Déboguer à distance les fonctions Lambda avec VS](https://docs.aws.amazon.com/lambda/latest/dg/debugging.html) Code dans *AWS Lambda le* Guide du développeur.
+ **Gérez les ressources et autorisations associées en tant qu'infrastructure en tant que code.** *Pour plus de détails, consultez la section [Utilisation de Lambda avec une infrastructure en tant que code (IaC)](https://docs.aws.amazon.com/lambda/latest/dg/foundation-iac.html) dans le guide du développeur AWS Lambda *
+ **Déployez et mettez à jour votre application à l'aide du AWS SAMCLI.** Pour en savoir plus, consultez [AWS SAM CLI](using-sam-cli.md).
+ **Concevez visuellement votre architecture sans serveur à l'aide d'Infrastructure Composer.** Pour plus de détails, reportez-vous au [guide du développeur d'Infrastructure Composer](https://docs.aws.amazon.com/application-composer/latest/dg/what-is-composer.html).

## En savoir plus
<a name="convert-lambda-to-sam-learn"></a>

Pour en savoir plus AWS SAM, consultez les ressources suivantes :
+ **[The Complete AWS SAM Workshop](https://s12d.com/sam-ws-en-intro)** : atelier destiné à vous enseigner un bon nombre des principales fonctionnalités d' AWS SAM .
+ **[Sessions avec SAM](https://www.youtube.com/playlist?list=PLJo-rJlep0ED198FJnTzhIB5Aut_1vDAd)** — Série de vidéos créée par notre équipe AWS Serverless Developer Advocate sur l'utilisation AWS SAM.
+ **[Serverless Land](https://serverlessland.com/)** : site qui rassemble les dernières informations, blogs, vidéos, code et ressources d'apprentissage pour AWS sans serveur.