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
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. Estos 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 Amazon EC2 Pricing
Temas
Requisitos previos
Antes de utilizar este ejemplo, asegúrese de que cumple los siguientes requisitos.
-
Tiene un entorno AWS Cloud9 EC2 de desarrollo
En este tutorial se asume que tiene un EC2 entorno y que el entorno está conectado a una EC2 instancia de Amazon 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 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.
Paso 1: Instalar Python
-
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. -
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 AWS Cloud9 IDE, cree un archivo con el siguiente contenido y guárdelo con ese nombrehello.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 AWS Cloud9 IDE, en la barra de menús, seleccione Ejecutar, Ejecutar configuraciones y 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, 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.
Paso 4: Instale y configure el AWS SDK para Python (Boto3)
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
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ónpip
.
Instale el AWS SDK para Python (Boto3)
Tras la instalaciónpip
, 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
Configurar las credenciales en su entorno
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 y, a continuación, vuelva a este tema.
Para obtener información adicional, consulte Credenciales
Paso 5: Agrega el código AWS del 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 AWS Cloud9 IDE, cree un archivo con el siguiente contenido y guárdelo con ese nombres3.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
-
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
s3.py my-test-bucket us-west-2
, introduce «dónde»my-test-bucket
es el nombre del depósito que quieres crear yus-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 en. Referencia general de AWSnota
Los nombres de los buckets de Amazon S3 deben ser únicos en todas AWS las AWS cuentas, no solo en ellas.
-
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 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.