

# Aurora クエリエディタの使用
<a name="query-editor"></a><a name="query_editor"></a>

 Aurora クエリエディタを使用すると、AWS マネジメントコンソール を介して Aurora DB クラスターで SQL ステートメントを実行できます。SQL クエリ、データ操作 (DML) ステートメント、およびデータ定義 (DDL) ステートメントを実行できます。コンソールインターフェイスを使用すると、データベースのメンテナンス、レポートの作成、SQL 実験の実行を行うことができます。EC2 インスタンスやラップトップコンピュータなどの別のクライアントシステムから DB クラスターに接続するためのネットワーク設定を避けることができます。

クエリエディタは、RDS Data API (Data API) が有効になっている Aurora DB クラスターを必要とします。Data API をサポートする DB クラスターとその有効化方法については、「[Amazon RDS Data API の使用](data-api.md)」を参照してください。実行できる SQL には、Data API の制限が適用されます。詳細については、「[Amazon RDS Data API の制限](data-api.limitations.md)」を参照してください。

## クエリエディタの可用性
<a name="query-editor.regions"></a>

クエリエディタは、Data API をサポートする特定の Aurora MySQL と Aurora PostgreSQL エンジンバージョンを使用する Aurora DB クラスターで、Data API が利用可能な AWS リージョン で使用できます。詳細については、「[RDS Data API でサポートされているリージョンと Aurora DB エンジン](Concepts.Aurora_Fea_Regions_DB-eng.Feature.Data_API.md)」を参照してください。

## クエリエディタへのアクセスの承認
<a name="query-editor.access"></a>

ユーザーは、クエリエディタでクエリを実行するための承認を受ける必要があります。ユーザーがクエリエディタでクエリを実行することを承認するには、`AmazonRDSDataFullAccess` ポリシー (事前定義済みの AWS Identity and Access Management (IAM) ポリシー) をユーザーに追加します。

**注記**  
IAM ユーザーを作成するときには、管理ユーザー名とパスワードなど、データベースユーザーに対して行ったときと同じユーザー名とパスワードを使用してください。詳細については、*AWS Identity and Access Managementユーザーガイド*の「[AWS アカウント での IAM ユーザーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)」を参照してください。

クエリエディタにアクセス権を付与する IAM ポリシーを作成することもできます。作成したポリシーは、クエリエディタにアクセスする必要がある各ユーザーに追加します。

次のポリシーでは、クエリエディタにアクセスするための必要最低限のアクセス許可をユーザーに付与します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "QueryEditor0",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutResourcePolicy",
                "secretsmanager:PutSecretValue",
                "secretsmanager:DeleteSecret",
                "secretsmanager:DescribeSecret",
                "secretsmanager:TagResource"
            ],
            "Resource": "arn:aws:secretsmanager:*:*:secret:rds-db-credentials/*"
        },
        {
            "Sid": "QueryEditor1",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword",
                "tag:GetResources",
                "secretsmanager:CreateSecret",
                "secretsmanager:ListSecrets",
                "dbqms:CreateFavoriteQuery",
                "dbqms:DescribeFavoriteQueries",
                "dbqms:UpdateFavoriteQuery",
                "dbqms:DeleteFavoriteQueries",
                "dbqms:GetQueryString",
                "dbqms:CreateQueryHistory",
                "dbqms:UpdateQueryHistory",
                "dbqms:DeleteQueryHistory",
                "dbqms:DescribeQueryHistory",
                "rds-data:BatchExecuteStatement",
                "rds-data:BeginTransaction",
                "rds-data:CommitTransaction",
                "rds-data:ExecuteStatement",
                "rds-data:RollbackTransaction"
            ],
            "Resource": "*"
        }
    ]
}
```

------

IAM ポリシーの作成については、*AWS Identity and Access ManagementIAM ユーザーガイド*の「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

IAM ポリシーをユーザーに追加する方法については、*AWS Identity and Access Management ユーザーガイド*の「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

## クエリエディタでのクエリの実行
<a name="query-editor.running"></a>

クエリエディタで Aurora DB クラスターに対して SQL ステートメントを実行できます。実行できる SQL には、Data API の制限が適用されます。詳細については、「[Amazon RDS Data API の制限](data-api.limitations.md)」を参照してください。

**クエリエディタでクエリを実行するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. AWS マネジメントコンソール の右上で、クエリを実行する対象の Aurora DB クラスターを作成した AWS リージョン を選択します。

1. ナビゲーションペインで、**[Databases]** (データベース) を選択します。

1. SQL クエリを実行する Aurora DB クラスターを選択します。

1. [**アクション**]、[**クエリ**] の順に選択します。まだデータベースに接続していない場合は、[**Connect to database (データベースに接続)**] ページが開きます。  
![\[クエリエディタの [データベースに接続] ページ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/query-editor-connect.png)

1. 次の情報を入力します。

   1. **[データベースインスタンスまたはクラスター]** で、SQL クエリを実行する Aurora DB クラスターを選択します。

   1. [**データベースユーザーネーム**] で、接続するデータベースユーザーのユーザーネームを選択するか、[**Add new database credentials (新しいデータベース認証情報の追加)**] を選択します。[**Add new database credentials (新しいデータベース認証情報の追加)**] を選択した場合は、[**Enter database username (データベースユーザーネームを入力)**] に新しいデータベース認証情報のユーザーネームを入力します。

   1. [**Enter database password (データベースパスワードの入力)**] に、選択したデータベースユーザーのパスワードを入力します。

   1. 最後のボックスに、Aurora DB クラスターに使用するデータベースまたはスキーマの名前を入力します。

   1. [**Connect to database (データベースに接続)**] を選択します。
**注記**  
接続に成功すると、接続および認証情報が AWS Secrets Manager に保存されます。接続情報を再度入力する必要はありません。

1. クエリエディタで、データベースに対して実行する SQL クエリを入力します。  
![\[テキスト領域に SQL ステートメントを含むクエリエディタ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/query-editor.png)

   SQL ステートメントをそれぞれ自動的にコミットするか、トランザクションの一部としてスクリプト内で SQL ステートメントを実行することができます。この動作を制御するには、クエリウィンドウの上にある歯車アイコンを選択します。  
![\[クエリエディタの歯車アイコン\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/query-editor-gear.png)

   [**クエリエディタ設定**] ウィンドウが表示されます。  
![\[クエリエディタ設定\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/query-editor-settings.png)

   [**Auto-commit (自動コミット)**] を選択した場合、SQL ステートメントはそれぞれ、自動的にコミットされます。[**トランザクション**] を選択すると、スクリプト内のステートメントのグループを実行できます。ステートメントは、スクリプトの終了前に明示的にコミットまたはロールバックしない限り、スクリプトの最後に自動的にコミットされます。また、[**Stop on error (エラー時に停止)**] を有効にして、エラー発生時にスクリプトの実行を停止するように選択することもできます。
**注記**  
ステートメントのグループで、データ定義言語 (DDL) ステートメントによって前のデータ操作言語 (DML) ステートメントがコミットされる場合があります。また、`COMMIT` ステートメントおよび `ROLLBACK` ステートメントをスクリプトのステートメントのグループに含めることもできます。

   [**クエリエディタ設定**] ウィンドウで選択したら、[**保存**] を選択します。

1. [**実行**] を選択するか、Ctrl\$1Enter を押すと、クエリの結果がクエリエディタに表示されます。

   クエリを実行したら、[**保存**] を選択し、そのクエリ結果を [**Saved queries (保存したクエリ)**] に保存します。

   [**CSV へエクスポート**] を選択して、クエリ結果をスプレッドシート形式でエクスポートします。

以前のクエリを検索、編集、再実行することができます。そのためには、[**Recent (最新)**] タブ、または [**Saved queries (保存したクエリ)**] タブを選択し、クエリテキストを選択して、[**Run (実行)**] を選択します。

データベースを変更するには、[**Change database (データベースの変更)**] を選択します。

# Database Query Metadata Service (DBQMS) API リファレンス
<a name="dbqms-api"></a>

データベースクエリメタデータサービス (`dbqms`) は、内部専用のサービスです。このサービスでは、Amazon RDS を含む複数の AWS サービスについて、最新および保存済みのクエリを、AWS マネジメントコンソール のクエリエディタ用に提供します。

**Topics**
+ [CreateFavoriteQuery](#CreateFavoriteQuery)
+ [CreateQueryHistory](#CreateQueryHistory)
+ [CreateTab](#CreateTab)
+ [DeleteFavoriteQueries](#DeleteFavoriteQueries)
+ [DeleteQueryHistory](#DeleteQueryHistory)
+ [DeleteTab](#DeleteTab)
+ [DescribeFavoriteQueries](#DescribeFavoriteQueries)
+ [DescribeQueryHistory](#DescribeQueryHistory)
+ [DescribeTabs](#DescribeTabs)
+ [GetQueryString](#GetQueryString)
+ [UpdateFavoriteQuery](#UpdateFavoriteQuery)
+ [UpdateQueryHistory](#UpdateQueryHistory)
+ [UpdateTab](#UpdateTab)

## CreateFavoriteQuery
<a name="CreateFavoriteQuery"></a>

新しいお気に入りクエリを保存します。各 ユーザーは最大 1000 個の保存済みクエリを作成できます。この制限は将来変更される可能性があります。

## CreateQueryHistory
<a name="CreateQueryHistory"></a>

新しいクエリ履歴エントリを保存します。

## CreateTab
<a name="CreateTab"></a>

新しいクエリタブを保存します。各 ユーザーは最大 10 個のクエリタブを作成できます。

## DeleteFavoriteQueries
<a name="DeleteFavoriteQueries"></a>

1 つまたは複数の保存されたクエリを削除します。

## DeleteQueryHistory
<a name="DeleteQueryHistory"></a>

クエリ履歴エントリを削除します。

## DeleteTab
<a name="DeleteTab"></a>

クエリタブエントリを削除します。

## DescribeFavoriteQueries
<a name="DescribeFavoriteQueries"></a>

特定のアカウントのユーザーによって作成された保存済みクエリを一覧表示します。

## DescribeQueryHistory
<a name="DescribeQueryHistory"></a>

クエリ履歴エントリを一覧表示します。

## DescribeTabs
<a name="DescribeTabs"></a>

特定のアカウントでユーザーによって作成されたクエリタブを一覧表示します。

## GetQueryString
<a name="GetQueryString"></a>

クエリ ID からクエリテキスト全体を取得します。

## UpdateFavoriteQuery
<a name="UpdateFavoriteQuery"></a>

クエリ文字列、説明、名前、または有効期限を更新します。

## UpdateQueryHistory
<a name="UpdateQueryHistory"></a>

クエリ履歴のステータスを更新します。

## UpdateTab
<a name="UpdateTab"></a>

クエリタブ名とクエリ文字列を更新します。