

 AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. [Saiba mais](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Este tutorial mostra como executar o código Python em um ambiente de AWS Cloud9 desenvolvimento.

Seguir este tutorial pode resultar em cobranças em sua AWS conta. Isso inclui possíveis cobranças por serviços como o Amazon Elastic Compute Cloud (Amazon EC2) e o Amazon Simple Storage Service (Amazon S3). Para obter mais informações, consulte [Preço do Amazon EC2](https://aws.amazon.com/ec2/pricing/) e [Preço do Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Pré-requisitos](#sample-python-prereqs)
+ [Etapa 1: Instalar o Python](#sample-python-install)
+ [Etapa 2: Adicionar código](#sample-python-code)
+ [Etapa 3: Executar o código](#sample-python-run)
+ [Etapa 4: instalar e configurar o AWS SDK para Python (Boto3)](#sample-python-sdk)
+ [Etapa 5: adicionar código AWS SDK](#sample-python-sdk-code)
+ [Etapa 6: executar o código do AWS SDK](#sample-python-sdk-run)
+ [Etapa 7: limpar](#sample-python-clean-up)

## Pré-requisitos
<a name="sample-python-prereqs"></a>

Antes de usar esse exemplo, verifique se atende aos requisitos a seguir.
+ **Você tem um ambiente de desenvolvimento AWS Cloud9 EC2**

  Este tutorial pressupõe que você já tem um ambiente EC2, e que esse ambiente esteja conectado a uma instância do Amazon EC2, executada no Amazon Linux ou Ubuntu Server. Para mais detalhes, consulte [Criando um EC2 ambiente](create-environment-main.md).

  Se você tiver um tipo diferente de ambiente ou sistema operacional, poderá ser necessário adaptar as instruções deste tutorial.
+ **Você abriu o AWS Cloud9 IDE para esse ambiente**

  Quando você abre um ambiente, AWS Cloud9 abre o IDE desse ambiente em seu navegador da web. Para mais detalhes, consulte [Abrindo um ambiente em AWS Cloud9](open-environment.md).

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

1. Em uma sessão de terminal no AWS Cloud9 IDE, confirme se o Python já está instalado executando o **`python --version`**comando. (Para iniciar uma nova sessão de terminal, na barra de menus, escolha **Window (Janela)**, **New Terminal (Novo terminal)**.) Se o Python estiver instalado, avance para [Etapa 2: Adicionar código](#sample-python-code).

1. Execute o comando ** `yum update`** para Amazon Linux ou o comando **`apt update`** para Ubuntu Server para ajudar a garantir que as atualizações de segurança e correções de bug mais recentes estejam instaladas.

   Para Amazon Linux:

   ```
   sudo yum -y update
   ```

   Para Ubuntu Server:

   ```
   sudo apt update
   ```

1. Instale o Python executando o comando ** `install` **.

   Para Amazon Linux:

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

   Para Ubuntu Server:

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

## Etapa 2: Adicionar código
<a name="sample-python-code"></a>

No AWS Cloud9 IDE, crie um arquivo com o conteúdo a seguir e salve o arquivo com o nome`hello.py`. (Para criar um arquivo, na barra de menus, selecione **File** (Arquivo), **New File** (Novo arquivo). Para salvar o arquivo, selecione **File** (Arquivo), **Save** (Salvar).

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

## Etapa 3: Executar o código
<a name="sample-python-run"></a>

1. No AWS Cloud9 IDE, na barra de menu, escolha **Executar**, **Configurações de execução**, **Nova configuração de execução**.

1. Na guia **[New] - Stopped ([Novo] - Parado)**, insira `hello.py 5 9` para **Command (Comando)**. No código, `5` representa `sys.argv[1]` e `9` representa `sys.argv[2]`.

1. Selecione **Run (Executar)** e compare sua saída.

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

1. Por padrão, seleciona AWS Cloud9 automaticamente um executor para seu código. Para alterar o executor, escolha **Runner (Executor)** e selecione **Python 2** ou **Python 3**.
**nota**  
Você pode criar executores personalizados para versões específicas do Python. Para obter detalhes, consulte [Criar um compilador ou executor](build-run-debug.md#build-run-debug-create-builder-runner).

## Etapa 4: instalar e configurar o AWS SDK para Python (Boto3)
<a name="sample-python-sdk"></a>

 AWS SDK para Python (Boto3) Isso permite que você use o código Python para interagir com AWS serviços como o Amazon S3. Por exemplo, é possível usar o SDK para criar um bucket do Amazon S3, listar os buckets disponíveis e excluir o bucket que você acabou de criar.

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

No AWS Cloud9 IDE, confirme `pip` se a versão ativa do Python já está instalada executando o **`python -m pip --version`**comando. Se o `pip` estiver instalado, avance para a próxima seção.

Para instalar o `pip`, execute os comandos a seguir. Como o sudo está em um ambiente diferente do seu usuário, você deve especificar a versão do Python a ser usada caso ela seja diferente da versão atual com alias.

```
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 obter mais informações, consulte [Instalação](https://pip.pypa.io/en/stable/installing/) no site do `pip`.

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

Depois de instalar`pip`, instale o AWS SDK para Python (Boto3) executando o **`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 obter mais informações, consulte a seção "Installation" (Instalação) de [Quickstart (Início rápido)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) em AWS SDK para Python (Boto3).

### Configurar o gerenciamento de credenciais no ambiente
<a name="sample-python-sdk-credentials"></a>

Cada vez que você usa o AWS SDK para Python (Boto3) para chamar um AWS serviço, você deve fornecer um conjunto de credenciais com a chamada. Essas credenciais determinam se o SDK tem as permissões necessárias para fazer a chamada. Se as credenciais não cobrirem as permissões necessárias, a chamada falhará.

Para armazenar suas credenciais no ambiente, siga as instruções em [Chamando Serviços da AWS de um ambiente em AWS Cloud9](credentials.md) e retorne a este tópico.

Para obter informações adicionais, consulte [Credentials (Credenciais)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html) em AWS SDK para Python (Boto3).

## Etapa 5: adicionar código AWS SDK
<a name="sample-python-sdk-code"></a>

Adicione o código que usa o Amazon S3 para criar um bucket, liste seus buckets disponíveis e, opcionalmente, exclua o bucket que você acabou de criar.

No AWS Cloud9 IDE, crie um arquivo com o conteúdo a seguir e salve o arquivo com o nome`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()
```

## Etapa 6: executar o código do AWS SDK
<a name="sample-python-sdk-run"></a>

1. Na barra de menus, selecione **Executar**, **Configurações de execução**, **Nova configuração de execução**.

1. Em **Command**`s3.py my-test-bucket us-west-2`, insira, onde `my-test-bucket` está o nome do bucket a ser criado e `us-west-2` é o ID da AWS região em que seu bucket foi criado. Por padrão, seu bucket é excluído antes que o script seja encerrado. Para manter seu bucket, adicione `--keep_bucket` ao seu comando. Para obter uma lista de AWS regiões IDs, consulte [Amazon Simple Storage Service Endpoints and Quotas](https://docs.aws.amazon.com/general/latest/gr/s3.html) no. *Referência geral da AWS*
**nota**  
Os nomes dos buckets do Amazon S3 devem ser exclusivos em toda a sua conta, AWS não apenas em sua conta. AWS 

1. Selecione **Executar** e compare sua saída.

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

## Etapa 7: limpar
<a name="sample-python-clean-up"></a>

Para evitar cobranças contínuas AWS em sua conta depois de concluir este tutorial, exclua o AWS Cloud9 ambiente. Para instruções, consulte [Excluindo um ambiente no AWS Cloud9](delete-environment.md).