

 AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio come di consueto. [Ulteriori informazioni](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Tutorial in Python per AWS Cloud9
<a name="sample-python"></a>

Questo tutorial mostra come eseguire codice Python in un ambiente di AWS Cloud9 sviluppo.

Seguire questo tutorial potrebbe comportare addebiti sul tuo AWS account. Questi includono possibili addebiti per servizi come Amazon Elastic Compute Cloud (Amazon EC2) e Amazon Simple Storage Service (Amazon S3). Per ulteriori informazioni, consulta [Prezzi di Amazon EC2](https://aws.amazon.com/ec2/pricing/) e [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Prerequisiti](#sample-python-prereqs)
+ [Fase 1: installare Python](#sample-python-install)
+ [Fase 2: aggiungere un codice](#sample-python-code)
+ [Fase 3: eseguire il codice](#sample-python-run)
+ [Fase 4: Installare e configurare AWS SDK per Python (Boto3)](#sample-python-sdk)
+ [Passaggio 5: Aggiungere il codice AWS SDK](#sample-python-sdk-code)
+ [Passaggio 6: Esegui il codice AWS SDK](#sample-python-sdk-run)
+ [Fase 7: pulire](#sample-python-clean-up)

## Prerequisiti
<a name="sample-python-prereqs"></a>

Prima di usare questo tutorial, assicurati di soddisfare i seguenti requisiti.
+ **Hai un ambiente di sviluppo AWS Cloud9 EC2**

  Nel tutorial si presume che tu disponga di un ambiente EC2 connesso a un'istanza Amazon EC2 in cui viene eseguito Amazon Linux o Ubuntu Server. Per informazioni dettagliate, vedi [Creare un ambiente EC2](create-environment-main.md).

  Se disponi di un tipo diverso di ambiente o sistema operativo, potrebbe essere necessario adattare le istruzioni di questo tutorial.
+ **Hai aperto l' AWS Cloud9 IDE per quell'ambiente**

  Quando apri un ambiente, AWS Cloud9 apre l'IDE per quell'ambiente nel tuo browser web. Per informazioni dettagliate, vedi [Aprire un ambiente in AWS Cloud9](open-environment.md).

## Fase 1: installare Python
<a name="sample-python-install"></a>

1. In una sessione terminale nell' AWS Cloud9 IDE, conferma se Python è già installato eseguendo il **`python --version`**comando. Per avviare una nuova sessione del terminale, dalla barra dei menu seleziona **Window (Finestra)**, **New Terminal (Nuovo terminale)**. Se Python è installato, passa alla [Fase 2: aggiungere un codice](#sample-python-code).

1. Esegui il comando ** `yum update`** (per Amazon Linux) o **`apt update`** (per Ubuntu Server) per verificare che siano installati gli aggiornamenti di sicurezza e le correzioni dei bug più recenti.

   Per Amazon Linux:

   ```
   sudo yum -y update
   ```

   Per Ubuntu Server:

   ```
   sudo apt update
   ```

1. Installa Python eseguendo il comando ** `install` **.

   Per Amazon Linux:

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

   Per Ubuntu Server:

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

## Fase 2: aggiungere un codice
<a name="sample-python-code"></a>

Nell' AWS Cloud9 IDE, create un file con il seguente contenuto e salvate il file con il nome`hello.py`. (Per creare un file, nella barra dei menu scegli **File**, **New File** (Nuovo file). Per salvare il file, scegli **File**, **Save** (Salva)).

```
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))
```

## Fase 3: eseguire il codice
<a name="sample-python-run"></a>

1. Nell' AWS Cloud9 IDE, nella barra dei menu scegli **Esegui, Esegui** **configurazioni**, **Nuova configurazione di esecuzione**.

1. Nella scheda **[New] - Stopped ([Nuovo] - Arrestato)** digitare `hello.py 5 9` per **Command**. Nel codice, `5` rappresenta `sys.argv[1]` e `9` rappresenta `sys.argv[2]`.

1. Seleziona **Run (Esegui)** ed esegui un confronto dell'output.

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

1. Per impostazione predefinita, seleziona AWS Cloud9 automaticamente un runner per il codice. Per modificare lo strumento di esecuzione, scegliere **Runner (Strumento di esecuzione)**, quindi scegliere **Python 2** o **Python 3**.
**Nota**  
È possibile creare strumenti di esecuzione personalizzati per versioni specifiche di Python. Per informazioni dettagliate, vedi [Creazione di un builder o un'esecuzione](build-run-debug.md#build-run-debug-create-builder-runner).

## Fase 4: Installare e configurare AWS SDK per Python (Boto3)
<a name="sample-python-sdk"></a>

Ti AWS SDK per Python (Boto3) consente di utilizzare il codice Python per interagire con AWS servizi come Amazon S3. Ad esempio, puoi utilizzare l'SDK per creare un bucket Amazon S3, elencare i bucket disponibili ed eliminare il bucket appena creato.

### Installazione pip.
<a name="sample-python-sdk-install-pip"></a>

Nell' AWS Cloud9 IDE, verifica se `pip` è già installato per la versione attiva di Python eseguendo il **`python -m pip --version`**comando. Se `pip` è installato, passare alla sezione successiva.

Esegui i comandi seguenti per installare `pip`. Poiché sudo si trova in un ambiente diverso da quello dell'utente, è necessario specificare la versione di Python da utilizzare se differisce dalla versione con alias corrente.

```
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.
```

Per ulteriori informazioni, vedere [Installazione](https://pip.pypa.io/en/stable/installing/) sul sito Web `pip`.

### Installa il AWS SDK per Python (Boto3)
<a name="sample-python-sdk-install-sdk"></a>

Dopo l'installazione`pip`, installala AWS SDK per Python (Boto3) eseguendo il **`pip install`**comando.

```
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.
```

Per ulteriori informazioni, consulta la sezione "Installazione" di [Quickstart](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) in AWS SDK per Python (Boto3).

### Configurazione delle credenziali nell'ambiente
<a name="sample-python-sdk-credentials"></a>

Ogni volta che si utilizza il AWS SDK per Python (Boto3) per chiamare un AWS servizio, è necessario fornire un set di credenziali con la chiamata. Queste credenziali determinano se l'SDK dispone delle autorizzazioni necessarie per effettuare la chiamata. Se le credenziali non coprono le autorizzazioni necessarie, la chiamata non riesce.

Per archiviare le credenziali nell'ambiente, segui le istruzioni riportate in [Chiamata Servizi AWS da un ambiente in AWS Cloud9](credentials.md) e torna a questo argomento.

Per ulteriori informazioni, consulta [Credenziali](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html) in AWS SDK per Python (Boto3).

## Passaggio 5: Aggiungere il codice AWS SDK
<a name="sample-python-sdk-code"></a>

Aggiungi del codice utilizzato da Amazon S3 per creare un bucket, elencare i bucket disponibili e, facoltativamente, eliminare il bucket appena creato.

Nell' AWS Cloud9 IDE, create un file con il seguente contenuto e salvate il file con il nome`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()
```

## Passaggio 6: Esegui il codice AWS SDK
<a name="sample-python-sdk-run"></a>

1. Nella barra dei menu, selezionare **Run (Esegui)**, **Run Configurations (Configurazioni esecuzione)**, **New Run Configuration (Nuova configurazione esecuzione)**.

1. Per **Comando**, inserisci`s3.py my-test-bucket us-west-2`, `my-test-bucket` dov'è il nome del bucket da creare e l'ID della AWS regione in cui `us-west-2` è stato creato il bucket. Per impostazione predefinita, il bucket viene eliminato prima della chiusura dello script. Per mantenere il bucket, aggiungi `--keep_bucket` al comando. Per un elenco delle AWS regioni IDs, consulta [Amazon Simple Storage Service Endpoints and Quotas](https://docs.aws.amazon.com/general/latest/gr/s3.html) nel. *Riferimenti generali di AWS*
**Nota**  
I nomi dei bucket Amazon S3 devono essere univoci per tutti gli account, AWS non solo per il tuo account. AWS 

1. Seleziona **Run (Esegui)** ed esegui un confronto dell'output.

   ```
   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
   ```

## Fase 7: pulire
<a name="sample-python-clean-up"></a>

Per evitare addebiti continui sul tuo AWS account dopo aver terminato questo tutorial, elimina l'ambiente. AWS Cloud9 Per istruzioni, consulta [Eliminazione di un ambiente in AWS Cloud9](delete-environment.md).