

 AWS Cloud9 ya no está disponible para nuevos clientes. Los clientes existentes de AWS Cloud9 pueden seguir utilizando el servicio con normalidad. [Más información](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Tutorial de Python para AWS Cloud9
<a name="sample-python"></a>

Este tutorial muestra cómo ejecutar código Python en un entorno de AWS Cloud9 desarrollo.

Si sigue este tutorial, es posible que se le cobren cargos a su AWS cuenta. Entre estos se incluyen posibles cargos por servicios como Amazon Elastic Compute Cloud (Amazon EC2) y Amazon Simple Storage Service (Amazon S3). Para obtener más información, consulte [Precios de Amazon EC2](https://aws.amazon.com/ec2/pricing/) y [Precios de Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Requisitos previos](#sample-python-prereqs)
+ [Paso 1: Instalar Python](#sample-python-install)
+ [Paso 2: Agregar el código](#sample-python-code)
+ [Paso 3: Ejecutar el código](#sample-python-run)
+ [Paso 4: Instale y configure el AWS SDK para Python (Boto3)](#sample-python-sdk)
+ [Paso 5: Agrega el código AWS del SDK](#sample-python-sdk-code)
+ [Paso 6: ejecuta el código AWS del SDK](#sample-python-sdk-run)
+ [Paso 7: limpiar](#sample-python-clean-up)

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

Antes de utilizar este ejemplo, asegúrese de que cumple los siguientes requisitos.
+ **Dispone de un entorno AWS Cloud9 de desarrollo EC2**

  En este tutorial se da por hecho que tiene un entorno de EC2 que está conectado a una instancia de Amazon EC2 que ejecuta Amazon Linux o Ubuntu Server. Para obtener más información, consulte [Crear un entorno EC2](create-environment-main.md).

  Si tiene un tipo de entorno o sistema operativo distinto, es posible que tenga que adaptar las instrucciones de este tutorial.
+ **Ha abierto el AWS Cloud9 IDE para ese entorno**

  Al abrir un entorno, AWS Cloud9 abre el IDE de ese entorno en el navegador web. Para obtener más información, consulte [Abrir un entorno en AWS Cloud9](open-environment.md).

## Paso 1: Instalar Python
<a name="sample-python-install"></a>

1. En una sesión de terminal en el AWS Cloud9 IDE, ejecute el **`python --version`**comando para confirmar si Python ya está instalado. (Para iniciar una nueva sesión del terminal, en la barra de menús, seleccione **Window [Ventana]**, **New Terminal [Nuevo terminal]**). Si Python está instalado, vaya directamente a [Paso 2: Agregar el código](#sample-python-code).

1. Ejecute el comando ** `yum update`** (para Amazon Linux) o ** `apt update` ** (para Ubuntu Server) para garantizar que las últimas actualizaciones de seguridad y correcciones de errores están instaladas.

   Para Amazon Linux:

   ```
   sudo yum -y update
   ```

   Para Ubuntu Server:

   ```
   sudo apt update
   ```

1. Instale Python mediante la ejecución del comando ** `install` **.

   Para Amazon Linux:

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

   Para Ubuntu Server:

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

## Paso 2: Agregar el código
<a name="sample-python-code"></a>

En el AWS Cloud9 IDE, cree un archivo con el siguiente contenido y guárdelo con ese nombre`hello.py`. (Para crear un archivo, en la barra de menús, elija **File** [Archivo], **New File** [Archivo nuevo]. Para guardar el archivo, elija **File** [Archivo], **Save** [Guardar]).

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

## Paso 3: Ejecutar el código
<a name="sample-python-run"></a>

1. En el AWS Cloud9 IDE, en la barra de menús, seleccione **Ejecutar**, **Ejecutar configuraciones** y **Nueva configuración de ejecución**.

1. En la pestaña **[New] - Stopped ([Nuevo] - Detenido)**, introduzca `hello.py 5 9` en **Command (Comando)**. En el código, `5` representa `sys.argv[1]` y `9` representa `sys.argv[2]`.

1. Elija **Run (Ejecutar)** y compare los resultados.

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

1. De forma predeterminada, selecciona AWS Cloud9 automáticamente un ejecutor para el código. Para cambiar el ejecutor, seleccione **Runner (Ejecutor)** y, a continuación, seleccione **Python 2** o **Python 3**.
**nota**  
Puede crear ejecutores personalizados para versiones específicas de Python. Para obtener más información, consulte [Crear un compilador o ejecutor](build-run-debug.md#build-run-debug-create-builder-runner).

## Paso 4: Instale y configure el AWS SDK para Python (Boto3)
<a name="sample-python-sdk"></a>

 AWS SDK para Python (Boto3) Le permite usar código Python para interactuar con AWS servicios como Amazon S3. Por ejemplo, puede utilizar el SDK para crear un bucket de Amazon S3, enumerar los buckets disponibles y, a continuación, eliminar el bucket que acaba de crear.

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

En el AWS Cloud9 IDE, confirme si ya `pip` está instalada para la versión activa de Python ejecutando el **`python -m pip --version`**comando. Si `pip` está instalado, vaya a la siguiente sección.

Para instalar `pip`, ejecute los siguientes comandos. Dado que sudo se encuentra en un entorno diferente al del usuario, tiene que especificar la versión de Python que va a utilizar si difiere de la versión con alias actual.

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

Para obtener más información, consulte [Instalación](https://pip.pypa.io/en/stable/installing/) en el sitio web de `pip`.

### Instale el AWS SDK para Python (Boto3)
<a name="sample-python-sdk-install-sdk"></a>

Tras la instalación`pip`, instálelo AWS SDK para Python (Boto3) ejecutando el **`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.
```

Para obtener más información, consulte la sección "Instalación" de la [guía de inicio rápido](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) de AWS SDK para Python (Boto3).

### Configurar las credenciales en su entorno
<a name="sample-python-sdk-credentials"></a>

Cada vez que utilice el AWS SDK para Python (Boto3) para llamar a un AWS servicio, debe proporcionar un conjunto de credenciales con la llamada. Estas credenciales determinan si el SDK tiene los permisos necesarios para realizar la llamada. Si las credenciales no abarcan los permisos necesarios, se produce un error en la llamada.

Para almacenar sus credenciales en el entorno, siga las instrucciones de [Llamar Servicios de AWS desde un entorno de AWS Cloud9](credentials.md) y, a continuación, vuelva a este tema.

Para obtener información adicional, consulte [Credenciales](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html) en la AWS SDK para Python (Boto3).

## Paso 5: Agrega el código AWS del SDK
<a name="sample-python-sdk-code"></a>

Agregue el código que utiliza Amazon S3 para crear un bucket, enumere los buckets disponibles y, de forma opcional, elimine el bucket que acaba de crear.

En el AWS Cloud9 IDE, cree un archivo con el siguiente contenido y guárdelo con ese nombre`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()
```

## Paso 6: ejecuta el código AWS del SDK
<a name="sample-python-sdk-run"></a>

1. En la barra de menú, elija **Run** (Ejecutar), **Run Configurations** (Configuraciones de ejecución), **New Run Configuration** (Nueva configuración de ejecución).

1. En **Command**`s3.py my-test-bucket us-west-2`, introduce «dónde» `my-test-bucket` es el nombre del depósito que quieres crear y `us-west-2` el ID de la AWS región en la que se ha creado el depósito. De forma predeterminada, el bucket se elimina antes de que el script salga. Para conservar el bucket, añada `--keep_bucket` al comando. Para obtener una lista de AWS regiones IDs, consulte los [puntos de conexión y las cuotas de Amazon Simple Storage Service](https://docs.aws.amazon.com/general/latest/gr/s3.html) en. *Referencia general de AWS*
**nota**  
Los nombres de los buckets de Amazon S3 deben ser únicos en todas AWS las AWS cuentas, no solo en ellas.

1. Elija **Run (Ejecutar)** y compare los resultados.

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

## Paso 7: limpiar
<a name="sample-python-clean-up"></a>

Para evitar que se hagan cargos continuos a tu AWS cuenta una vez que hayas terminado con este tutorial, elimina el AWS Cloud9 entorno. Para obtener instrucciones, consulte [Eliminar un entorno en AWS Cloud9](delete-environment.md).