

 AWS Cloud9 n'est plus disponible pour les nouveaux clients. Les clients existants d’ AWS Cloud9 peuvent continuer à l’utiliser normalement. [En savoir plus](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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.

# Tutoriel Python pour AWS Cloud9
<a name="sample-python"></a>

Ce didacticiel explique comment exécuter du code Python dans un environnement de AWS Cloud9 développement.

Le fait de suivre ce didacticiel peut entraîner des frais sur votre AWS compte. Il peut s'agir de frais pour des services tels qu’Amazon Elastic Compute Cloud (Amazon EC2) et Amazon Simple Storage Service (Amazon S3). Pour en savoir plus, consultez les sections [Tarification Amazon EC2](https://aws.amazon.com/ec2/pricing/) et [Tarification Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Conditions préalables](#sample-python-prereqs)
+ [Étape 1 : Installer Python](#sample-python-install)
+ [Étape 2 : Ajouter du code](#sample-python-code)
+ [Étape 3 : Exécuter le code](#sample-python-run)
+ [Étape 4 : Installation et configuration du AWS SDK pour Python (Boto3)](#sample-python-sdk)
+ [Étape 5 : ajouter le code du AWS SDK](#sample-python-sdk-code)
+ [Étape 6 : Exécuter le code du AWS SDK](#sample-python-sdk-run)
+ [Étape 7 : nettoyer](#sample-python-clean-up)

## Conditions préalables
<a name="sample-python-prereqs"></a>

Avant d'utiliser ce tutoriel, vérifiez que vous respectez les conditions requises suivantes :
+ **Vous disposez d'un environnement AWS Cloud9 de développement EC2**

  Cet exemple suppose que vous disposez d'un environnement EC2 connecté à une instance Amazon EC2 s'exécutant sur Amazon Linux ou Ubuntu Server. Consultez [Création d'un EC2 environnement](create-environment-main.md) pour plus de détails.

  Si vous avez un autre type d'environnement ou de système d'exploitation, vous devrez peut-être adapter les instructions de ce tutoriel.
+ **Vous avez ouvert l' AWS Cloud9 IDE pour cet environnement**

  Lorsque vous ouvrez un environnement, AWS Cloud9 ouvre l'IDE correspondant à cet environnement dans votre navigateur Web. Consultez [Ouvrir un environnement dans AWS Cloud9](open-environment.md) pour plus de détails.

## Étape 1 : Installer Python
<a name="sample-python-install"></a>

1. Dans une session de terminal dans l' AWS Cloud9 IDE, vérifiez si Python est déjà installé en exécutant la **`python --version`**commande. (Pour démarrer une nouvelle session de terminal, dans la barre de menus, choisissez **Window (Fenêtre)**, **New Terminal (Nouveau terminal)**.) Si Python est installé, passez directement à [Étape 2 : Ajouter du code](#sample-python-code).

1. Exécutez la commande ** `yum update`** (pour Amazon Linux) ou la commande **`apt update`** (pour Ubuntu Server) afin d'être sûr que les mises à jour de sécurité et les correctifs les plus récents sont installés.

   Pour Amazon Linux :

   ```
   sudo yum -y update
   ```

   Pour Ubuntu Server :

   ```
   sudo apt update
   ```

1. Installez Python en exécutant la commande ** `install` **.

   Pour Amazon Linux :

   ```
   sudo yum -y install python3
   ```

   Pour Ubuntu Server :

   ```
   sudo apt-get install python3
   ```

## Étape 2 : Ajouter du code
<a name="sample-python-code"></a>

Dans l' AWS Cloud9 IDE, créez un fichier avec le contenu suivant et enregistrez le fichier sous son nom`hello.py`. (Pour créer un fichier, dans la barre de menus, choisissez **Fichier**, **Nouveau fichier**. Pour l'enregistrer, choisissez **Fichier**, **Enregistrer**.)

```
import sys

print('Hello, World!')

print('The sum of 2 and 3 is 5.')

sum = int(sys.argv[1]) + int(sys.argv[2])

print('The sum of {0} and {1} is {2}.'.format(sys.argv[1], sys.argv[2], sum))
```

## Étape 3 : Exécuter le code
<a name="sample-python-run"></a>

1. Dans l' AWS Cloud9 IDE, dans la barre de menu, choisissez **Run, Run** **Configurations**, **New Run Configuration**.

1. Dans l'onglet **[Nouveau] - Arrêté**, entrez `hello.py 5 9` dans **Commande**. Dans le code, `5` représente `sys.argv[1]` et `9` représente `sys.argv[2]`.

1. Choisissez **Run (Exécuter)** et comparez la sortie.

   ```
   Hello, World!
   The sum of 2 and 3 is 5.
   The sum of 5 and 9 is 14.
   ```

1. Par défaut, sélectionne AWS Cloud9 automatiquement un runner pour votre code. Pour changer l’exécuteur, choisissez **Runner (Exécuteur)**, puis **Python 2** ou **Python 3**.
**Note**  
Vous pouvez créer des exécuteurs personnalisés pour des versions spécifiques de Python. Pour en savoir plus, consultez [Création d'un générateur ou d'un exécuteur](build-run-debug.md#build-run-debug-create-builder-runner).

## Étape 4 : Installation et configuration du AWS SDK pour Python (Boto3)
<a name="sample-python-sdk"></a>

 AWS SDK pour Python (Boto3) Cela vous permet d'utiliser du code Python pour interagir avec des AWS services tels qu'Amazon S3. Par exemple, vous pouvez utiliser le kit SDK pour créer un compartiment Amazon S3, répertorier vos compartiments disponibles, puis supprimer le compartiment que vous venez de créer.

### Installation de pip
<a name="sample-python-sdk-install-pip"></a>

Dans l' AWS Cloud9 IDE, vérifiez si la version active de Python `pip` est déjà installée en exécutant la **`python -m pip --version`**commande. Si `pip` est installé, passez à la section suivante.

Pour installer `pip`, exécutez les commandes suivantes. Étant donné que sudo se trouve dans un environnement différent de celui de votre utilisateur, vous devez spécifier la version de Python à utiliser si elle diffère de la version alias actuelle.

```
curl -O https://bootstrap.pypa.io/get-pip.py # Get the install script.
sudo python3 get-pip.py                     # Install pip for Python 3.
python -m pip --version                      # Verify pip is installed.
rm get-pip.py                                # Delete the install script.
```

Pour plus d’informations, consultez [Installation](https://pip.pypa.io/en/stable/installing/) sur le site Web `pip`.

### Installez le AWS SDK pour Python (Boto3)
<a name="sample-python-sdk-install-sdk"></a>

Après l'installation`pip`, installez-le AWS SDK pour Python (Boto3) en exécutant la **`pip install`**commande.

```
sudo python3 -m pip install boto3  # Install boto3 for Python 3.
python -m pip show boto3            # Verify boto3 is installed for the current version of Python.
```

Pour plus d'informations, consultez la section « Installation » du [Quickstart](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) dans le AWS SDK pour Python (Boto3).

### Configurer les informations d'identification dans votre environnement
<a name="sample-python-sdk-credentials"></a>

Chaque fois que vous utilisez le AWS SDK pour Python (Boto3) pour appeler un AWS service, vous devez fournir un ensemble d'informations d'identification avec l'appel. Ces informations d'identification déterminent si le kit SDK dispose des autorisations nécessaires pour effectuer l'appel. Si les informations d'identification ne couvrent pas les autorisations nécessaires, l'appel échoue.

Pour stocker vos informations d'identification au sein de l'environnement, suivez les instructions fournies dans la rubrique [Téléphoner Services AWS depuis un environnement dans AWS Cloud9](credentials.md), puis revenez à cette rubrique.

Pour plus d'informations, consultez les informations relatives aux [informations d'identification](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html) dans le AWS SDK pour Python (Boto3).

## Étape 5 : ajouter le code du AWS SDK
<a name="sample-python-sdk-code"></a>

Ajoutez un code qui utilise Amazon S3 pour créer un compartiment, répertoriez vos compartiments disponibles et supprimez éventuellement le compartiment que vous venez de créer.

Dans l' AWS Cloud9 IDE, créez un fichier avec le contenu suivant et enregistrez le fichier sous son nom`s3.py`.

```
import sys
import boto3
from botocore.exceptions import ClientError


def list_my_buckets(s3_resource):
    print("Buckets:\n\t", *[b.name for b in s3_resource.buckets.all()], sep="\n\t")


def create_and_delete_my_bucket(s3_resource, bucket_name, keep_bucket):
    list_my_buckets(s3_resource)

    try:
        print("\nCreating new bucket:", bucket_name)
        bucket = s3_resource.create_bucket(
            Bucket=bucket_name,
            CreateBucketConfiguration={
                "LocationConstraint": s3_resource.meta.client.meta.region_name
            },
        )
    except ClientError as e:
        print(
            f"Couldn't create a bucket for the demo. Here's why: "
            f"{e.response['Error']['Message']}"
        )
        raise

    bucket.wait_until_exists()
    list_my_buckets(s3_resource)

    if not keep_bucket:
        print("\nDeleting bucket:", bucket.name)
        bucket.delete()

        bucket.wait_until_not_exists()
        list_my_buckets(s3_resource)
    else:
        print("\nKeeping bucket:", bucket.name)


def main():
    import argparse

    parser = argparse.ArgumentParser()
    parser.add_argument("bucket_name", help="The name of the bucket to create.")
    parser.add_argument("region", help="The region in which to create your bucket.")
    parser.add_argument(
        "--keep_bucket",
        help="Keeps the created bucket. When not "
        "specified, the bucket is deleted "
        "at the end of the demo.",
        action="store_true",
    )

    args = parser.parse_args()
    s3_resource = (
        boto3.resource("s3", region_name=args.region)
        if args.region
        else boto3.resource("s3")
    )
    try:
        create_and_delete_my_bucket(s3_resource, args.bucket_name, args.keep_bucket)
    except ClientError:
        print("Exiting the demo.")


if __name__ == "__main__":
    main()
```

## Étape 6 : Exécuter le code du AWS SDK
<a name="sample-python-sdk-run"></a>

1. Dans la barre de menus, choisissez **Exécuter**, **Configurations d'exécution**, **Nouvelle configuration d'exécution**.

1. Dans **Command**`s3.py my-test-bucket us-west-2`, entrez `my-test-bucket` le nom du bucket à créer et `us-west-2` l'ID de la AWS région dans laquelle votre bucket est créé. Par défaut, votre compartiment est supprimé avant la fin du script. Pour conserver votre compartiment, ajoutez `--keep_bucket` à votre commande. Pour obtenir la liste des AWS régions IDs, consultez [Amazon Simple Storage Service Endpoints and Quotas](https://docs.aws.amazon.com/general/latest/gr/s3.html) dans le *Références générales AWS*.
**Note**  
Les noms des compartiments Amazon S3 doivent être uniques pour l'ensemble de votre compte AWS, et pas uniquement pour ce qui est de votre AWS compte.

1. Choisissez le bouton **Run (Exécuter)** et comparez la sortie.

   ```
   Buckets:
   
           a-pre-existing-bucket
   
   Creating new bucket: my-test-bucket
   Buckets:
   
           a-pre-existing-bucket
           my-test-bucket
   
   Deleting bucket: my-test-bucket
   Buckets:
   
           a-pre-existing-bucket
   ```

## Étape 7 : nettoyer
<a name="sample-python-clean-up"></a>

Pour éviter que des frais ne soient facturés à votre AWS compte une fois que vous aurez terminé ce didacticiel, supprimez l' AWS Cloud9 environnement. Pour obtenir des instructions, veuillez consulter [Supprimer un environnement dans AWS Cloud9](delete-environment.md).