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 (AmazonEC2) 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.
-
Dispone de 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 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 AWS Cloud9 IDE para ese entorno
Cuando abre un entorno, AWS Cloud9 abre el IDE correspondiente a ese entorno en su navegador web. Para obtener más información, consulte Apertura de un entorno en AWS Cloud9.
Paso 1: Instalar Python
-
En una sesión de terminal en 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 la barra de menús AWS Cloud9 IDE, 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 for Python (Boto3)
AWS SDK for Python (Boto3) Le permite utilizar el código Python para interactuar con AWS servicios como Amazon S3. Por ejemplo, puede usar 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 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 for Python (Boto3)
Tras la instalaciónpip
, instálelo AWS SDK for 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 for Python (Boto3) para llamar a un AWS servicio, debe proporcionar un conjunto de credenciales con la llamada. Estas credenciales determinan si 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: Añadir AWS SDK código
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 el 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 AWS SDK código
-
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óndemy-test-bucket
está el nombre del depósito queus-west-2
se va a crear y 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 regionesIDs, 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 Eliminación de un entorno en AWS Cloud9.