

# クエリエディタ: Aurora DSQL での JupyterLab の使用
<a name="SECTION_program-with-jupyter"></a>

 このガイドでは、JupyterLab と Python を使用し、Amazon Aurora DSQL に接続してクエリを実行するステップバイステップの手順について説明します。JupyterLab は、コード、テキスト、視覚化を 1 つのドキュメントにまとめた一般的なインタラクティブコンピューティング環境です。データサイエンスや研究のアプリケーションに広く使用されています。

 以下の手順では、JupyterLab のローカルインストールと、データワークフロー用の UI を備えたホスト環境を提供するフルマネージド機械学習サービスである Amazon SageMaker AI の両方における Aurora DSQL の使用の基本について説明します。

## 開始方法
<a name="SECTION_program-with-jupyter-getting-started"></a>

### 要件
<a name="SECTION_program-with-jupyter-requirements"></a>
+  Aurora DSQL クラスター 
+  AWS 認証情報の設定 (ローカルインストールのみ) 
+  Python バージョン 3.9 以降 (ローカルインストールのみ) 

### ローカル JupyterLab の使用
<a name="SECTION_program-with-jupyter-local"></a>

 JupyterLab の使用を開始するには、ユーザーはまず Python の **pip** を使用してアプリケーションをインストールする必要があります。

```
pip install jupyterlab
```

 JupyterLab は、**jupyter lab** を実行して開くことができます。これにより、ブラウザからアクセスできる localhost:8888 で JupyterLab アプリケーションが開きます。続行する前に、ローカル環境で AWS 認証情報が設定されていることを確認してください。

### Amazon SageMaker AI の使用
<a name="SECTION_program-with-jupyter-sagemaker"></a>

 AWS コンソールで、Amazon SageMaker AI コンソールページに進み、**[アプリケーションと IDE]** の **[ノートブック]** セクションに進みます。そこから **[ノートブックインスタンスの作成]** を選択して、SageMaker 環境の作成を開始できます。**[ノートブックインスタンスの作成]** をクリックする前に、インスタンスタイプとプラットフォームを選択します。

 セットアップとインスタンスオプションの詳細については、「[Amazon SageMaker AI セットアップドキュメント](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-setup-working-env.html)」を参照してください。

**注記**  
警告: Amazon SageMaker AI を使用すると、AWS アカウントに料金が発生する可能性があります。

 SageMaker インスタンスがアクティブになったら、**[JupyterLab を開く]** の **[ノートブックインスタンス]** セクションから開くことができます。ノートブックで Aurora DSQL の使用を開始する前に、SageMaker インスタンスの IAM ロールで DSQL クラスターへのアクセスを提供する必要があります。これを行う最も簡単な方法は、ノートブックインスタンスページの IAM ロールへのリンクに従うことです。そこから、SageMaker IAM ロールにアタッチされたポリシーを編集できます。Aurora DSQL へのアクセスを許可する IAM ポリシーの設定の詳細については、「[認証と認可](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/authentication-authorization.html)」を参照してください。

### JupyterLab を使用した Aurora DSQL への接続
<a name="SECTION_program-with-jupyter-connecting"></a>

 JupyterLab インスタンスを設定すると、Aurora DSQL に接続する手順はローカルと SageMaker AI で同じになります。空の Python 3 ノートブックを作成し、Python コードでセルを追加できます。

 Python セルで、公式トラストストアから Amazon ルート証明書をダウンロードします。

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

 Aurora DSQL に接続するには、まず [Python 用 Aurora DSQL コネクタ](https://github.com/awslabs/aurora-dsql-connectors/tree/main/python/connector) と Psycopg ドライバーを Python セルにインストールしてからインポートします。

```
pip install aurora_dsql_python_connector psycopg
```

```
import aurora_dsql_psycopg as dsql
```

 コネクタをインポートすると、DSQL 設定を作成して接続できます。Aurora DSQL Python コネクタは、各接続での認証トークンの作成を自動的に処理します。

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

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

 コードを実行すると、Aurora DSQL への Psycopg 接続が可能になります。その後、Psycopg カーソルを使用して SQL クエリを指定してクエリを実行できます。Postgres 互換データベースで Psycopg を使用する方法の詳細については、「[Psycopg ドキュメント](https://www.psycopg.org/psycopg3/docs/)」を参照してください。このクエリは、`results_list` のタプルのリストになります。

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

 その後、[Pandas](https://pandas.pydata.org/) などの Python フレームワークを使用して、クエリ結果を分析または視覚化できます。次に例を示します。

```
pip install pandas

import pandas as pd

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

## サンプルノートブック
<a name="SECTION_program-with-jupyter-example"></a>

 [Aurora DSQL を使用するサンプルノートブックは、Aurora DSQL サンプルリポジトリで入手できます。](https://github.com/aws-samples/aurora-dsql-samples/tree/main/python/jupyter/sample.ipynb)

## 詳細情報
<a name="SECTION_program-with-jupyter-reading"></a>

 [Amazon SageMaker AI セットアップドキュメント](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-setup-working-env.html) 

 [Python 用 Aurora DSQL コネクタ](https://github.com/awslabs/aurora-dsql-connectors/tree/main/python/connector) 

 [Pandas ドキュメント](https://pandas.pydata.org/docs/user_guide/index.html) 