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
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
Temas
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 Crear un entorno 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
-
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. -
Ejecute el comando
yum update
(para Amazon Linux) oapt 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
-
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
-
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).
-
En la pestaña [New] - Stopped ([Nuevo] - Detenido), introduzca
hello.py 5 9
en Command (Comando). En el código,5
representasys.argv[1]
y9
representasys.argv[2]
. -
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.
-
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ónpip
.
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
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
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
-
En la barra de menú, elija Run (Ejecutar), Run Configurations (Configuraciones de ejecución), New Run Configuration (Nueva configuración de ejecución).
-
En Command (Comando), introduzca
s3.py my-test-bucket us-west-2
, dondemy-test-bucket
es el nombre del bucket que va a crear yus-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.
-
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.