Tutorial de Python para AWS Cloud9 - AWS Cloud9

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

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

El uso de este tutorial puede producir cargos en su cuenta de AWS. 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 y Precios de Amazon S3.

Requisitos previos

Antes de utilizar este ejemplo, asegúrese de que cumple los siguientes requisitos.

  • Tiene un entorno de desarrollo de EC2 de AWS Cloud9

    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 Creación de un entorno de EC2.

    Si tiene un tipo de entorno o sistema operativo distinto, es posible que tenga que adaptar las instrucciones de este tutorial.

  • Ha abierto el IDE de AWS Cloud9 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 Apertura de un entorno en AWS Cloud9.

Paso 1: Instalar Python

  1. En una sesión del terminal del IDE de AWS Cloud9, confirme si Python ya se ha instalado. Para ello, ejecute el comando python --version . (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.

  2. 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
  3. 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

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

  1. En el IDE de AWS Cloud9, en la barra de menús, elija Run (Ejecutar), Run Configurations (Configuraciones de ejecución), New Run Configuration (Nueva configuración de ejecución).

  2. 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].

  3. 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.
  4. De forma predeterminada, AWS Cloud9 selecciona 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.

Paso 4: Instalar y configurar el AWS SDK for Python (Boto3)

AWS SDK for Python (Boto3) le permite utilizar el código de Python para interactuar con los servicios de AWS, 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

En el IDE de AWS Cloud9, confirme si pip ya está instalado para la versión activa de Python mediante la ejecución del comando python -m pip --version . 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 en el sitio web de pip.

Instalar la AWS SDK for Python (Boto3)

Después de instalar pip, instale AWS SDK for Python (Boto3) mediante la ejecución del comando pip install.

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 de AWS SDK for Python (Boto3).

Configurar las credenciales en su entorno

Cada vez que utilice el AWS SDK for Python (Boto3) para llamar a un servicio de AWS, 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 a los Servicios de AWS desde un entorno en AWS Cloud9 y, a continuación, vuelva a este tema.

Para obtener información adicional, consulte Credenciales en la AWS SDK for Python (Boto3).

Paso 5: Agregar el código de AWS SDK

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 IDE de AWS Cloud9, cree un archivo con el siguiente contenido y guárdelo con el 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: Ejecutar el código de AWS SDK

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

  2. En Command (Comando), introduzca s3.py my-test-bucket us-west-2, donde my-test-bucket es el nombre del bucket que va a crear y us-west-2 es el ID de la región de AWS en la que se ha creado el bucket. De forma predeterminada, el bucket se elimina antes de que el script salga. Para conservar el bucket, añada --keep_bucket al comando. Para ver una lista de ID de región de AWS, consulte Puntos de conexión y cuotas de Amazon Simple Storage Service en la Referencia general de AWS.

    nota

    Los nombres de bucket de Amazon S3 deben ser únicos en AWS, no solo en la cuenta de AWS.

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

Para evitar que se apliquen cargos continuos en su cuenta de AWS cuando finalice este tutorial, elimine el entorno de AWS Cloud9. Para obtener instrucciones, consulte Eliminación de un entorno en AWS Cloud9.