

# Editores de consultas: usar o JupyterLab com o Aurora DSQL
<a name="SECTION_program-with-jupyter"></a>

 Este guia fornece instruções passo a passo sobre como conectar e consultar o Amazon Aurora DSQL usando o JupyterLab com o Python. O JupyterLab é um ambiente computacional interativo conhecido que combina código, texto e visualizações em um único documento. É amplamente utilizado para aplicações de pesquisa e ciência de dados. 

 As instruções abaixo abordarão os conceitos básicos do uso do Aurora DSQL em uma instalação local do JupyterLab e no uso do Amazon SageMaker AI, um serviço de machine learning totalmente gerenciado que oferece um ambiente hospedado com uma interface de usuário para fluxos de trabalho de dados. 

## Introdução
<a name="SECTION_program-with-jupyter-getting-started"></a>

### Requisitos
<a name="SECTION_program-with-jupyter-requirements"></a>
+  Um cluster do Aurora DSQL 
+  Credenciais da AWS configuradas (somente instalação local) 
+  Python versão 3.9 ou posterior (somente instalação local) 

### Usar o JupyterLab local
<a name="SECTION_program-with-jupyter-local"></a>

 Para começar a utilizar o JupyterLab, os usuários devem primeiro instalar a aplicação usando o **pip** do Python:

```
pip install jupyterlab
```

 O JupyterLab pode então ser aberto executando **jupyter lab**. Isso abrirá a aplicação JupyterLab em localhost:8888, acessível em um navegador. Tenha as credenciais da AWS configuradas em seu ambiente local antes de continuar. 

### Usar o Amazon SageMaker AI
<a name="SECTION_program-with-jupyter-sagemaker"></a>

 No console da AWS, vá para a página do console do Amazon SageMaker AI e depois para a seção **Bloco de anotações** em **Aplicações e IDEs**. Nela, você pode selecionar **Criar instância do bloco de anotações** para começar a criar um ambiente do SageMaker. Selecione um tipo de instância e uma plataforma antes de clicar em **Criar instância do bloco de anotações**. 

 Consulte a documentação de [configuração do Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-setup-working-env.html) para acessar mais informações sobre opções de configuração e instância. 

**nota**  
Aviso: o uso do Amazon SageMaker AI pode gerar cobranças na conta da AWS.

 Depois que a instância do SageMaker estiver ativa, você poderá abri-la na seção **Instâncias do bloco de anotações** com **Abrir JupyterLab**. Antes de começar a usar o Aurora DSQL no seu bloco de anotações, você deve conceder acesso ao seu cluster do DSQL no perfil do IAM da instância do SageMaker. A maneira mais simples de fazer isso é seguir o link para o perfil do IAM na página da instância do bloco de anotações. A partir daí, você pode editar as políticas anexadas ao seu perfil do IAM do SageMaker. Consulte [Autenticação e autorização](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/authentication-authorization.html) para acessar mais informações sobre como configurar uma política do IAM para permitir acesso ao Aurora DSQL. 

### Conectar-se ao Aurora DSQL usando o JupyterLab
<a name="SECTION_program-with-jupyter-connecting"></a>

 Depois de configurar uma instância do JupyterLab, as etapas para se conectar ao Aurora DSQL são as mesmas localmente e no SageMaker AI. Crie um caderno do Python 3 vazio, no qual você pode incluir células com código Python. 

 Em uma célula Python, baixe o certificado raiz da Amazon da loja oficial de confiança: 

```
import urllib.request
urllib.request.urlretrieve('https://www.amazontrust.com/repository/AmazonRootCA1.pem', 'root.pem')
```

 Para se conectar ao Aurora DSQL, primeiro instale o [conector do Aurora DSQL para Python](https://github.com/awslabs/aurora-dsql-connectors/tree/main/python/connector) e o driver Psycopg em uma célula Python e, depois, importe-o: 

```
pip install aurora_dsql_python_connector psycopg
```

```
import aurora_dsql_psycopg as dsql
```

 Com o conector importado, você pode criar uma configuração do DSQL e se conectar. O conector do Aurora DSQL para Python processará automaticamente a criação de um token de autenticação em cada conexão. 

```
config = {
    'host': "your-cluster.dsql.us-east-1.on.aws",
    'region': "us-east-1",
    'user': "admin"
    }

conn = dsql.connect(**config)
```

 Ao executar o código, agora você deve ter uma conexão Psycopg com o Aurora DSQL. Depois, você poderá executar consultas usando o cursor Psycopg e fornecendo sua consulta SQL. Consulte a [documentação do Psycopg](https://www.psycopg.org/psycopg3/docs/) para acessar mais informações sobre como usar a Psycopg com um banco de dados compatível com Postgres. Essa consulta vai gerar uma lista de tuplas em `results_list`. 

```
with conn:
    with conn.cursor() as cur:
        cur.execute("SELECT * FROM table")
        results_list = cur.fetchall()
```

 Depois, você pode usar frameworks Python, como o [Pandas](https://pandas.pydata.org/), para analisar ou visualizar os resultados da consulta, por exemplo: 

```
pip install pandas

import pandas as pd

df = pd.DataFrame(tuples_list)
print(df)
print(f"Total records: {len(df)}")
```

## Caderno de exemplo
<a name="SECTION_program-with-jupyter-example"></a>

 [Um caderno de amostra usando o Aurora DSQL está disponível no repositório de exemplos do Aurora DSQL.](https://github.com/aws-samples/aurora-dsql-samples/tree/main/python/jupyter/sample.ipynb) 

## Outras fontes de leitura
<a name="SECTION_program-with-jupyter-reading"></a>

 [Documentação de configuração do Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-setup-working-env.html) 

 [Conector do Aurora DSQL para Python](https://github.com/awslabs/aurora-dsql-connectors/tree/main/python/connector) 

 [Documentação do Pandas](https://pandas.pydata.org/docs/user_guide/index.html) 