コンテキスト エンジニアリング エージェントを使用すると、CLI からコンテキスト セットを自動的に作成してアップロードできます。このドキュメントでは、 Google Cloud コンソールでコンテキスト セット ファイルを管理するためのビジュアル インターフェースが必要な場合に、AlloyDB for PostgreSQL Studio でコンテキスト セットを作成、編集、削除する方法について説明します。AlloyDB Studio でコンテキスト セットを作成すると、AlloyDB Studio は、選択したリージョンのプロジェクトの default コンテキスト セット グループに保存し、現在のデータベースにリンクします。コンテキスト セット名(および派生したコンテキスト セット ID)は、特定のリージョンのプロジェクトの default コンテキスト セット グループ内で、すべてのデータベースとインスタンスにわたって一意である必要があります。AlloyDB Studio で、派生 ID がすでに存在する名前のコンテキスト セットを作成すると、検証に失敗します。データベースの関連付けを維持しながらコンテンツを上書きするには、既存のコンテキスト セットを編集します。コンテキスト エンジニアリング エージェントまたは Dataplex API を使用して、既存のコンテキスト セット ID で直接アップロードすると、そのコンテンツと、指定されている場合はデータベースの関連付けが置き換えられます。
AlloyDB Studio の [コンテキスト セット] リストには、現在のデータベースにリンクされている、サポートされているすべてのリージョンの default コンテキスト セット グループ内のコンテキスト セットのみが表示されます。別のデータベース用に作成されたコンテキスト セット、または databases(またはカスタム コンテキスト セット グループ)でデータベース リソースをリンクせずに API を介して作成されたコンテキスト セットは、AlloyDB Studio のリストに表示されません。
始める前に
コンテキスト セットを作成またはアップロードする前に、次の前提条件を満たす必要があります。
コンテキスト セットは、us-central1、us-east1、europe-west4、asia-southeast1 の各リージョンで作成できます。
必要なサービスを有効にする
プロジェクトで次のサービスを有効にします。AlloyDB for PostgreSQL のクラスタ、インスタンス、データベースを準備する
既存の AlloyDB クラスタとインスタンスにアクセスできることを確認するか、新しいクラスタとインスタンスを作成します。このチュートリアルでは、AlloyDB インスタンスにデータベースが必要です。詳細については、データベースを作成するをご覧ください。
必要なロールと権限
alloydb.iam_authenticationデータベース フラグをon(alloydb.iam_authentication=on)に設定して、インスタンスで Identity and Access Management(IAM)データベース認証を有効にします。詳細については、IAM 認証を有効または無効にするをご覧ください。- データベース レベルでクラスタに IAM ユーザーまたはサービス アカウントを追加します。詳細については、IAM 認証を管理するをご覧ください。
- プロジェクト レベルで IAM ユーザーに
roles/alloydb.databaseUser、roles/serviceusage.serviceUsageConsumer、roles/geminidataanalytics.queryDataUserロールを付与します。詳細については、プロジェクトの IAM ポリシー バインディングを追加するをご覧ください。 - コンテキスト セットを作成、アップロード、管理するには、プロジェクト レベルで IAM ユーザーに Dataplex Catalog 編集者(
roles/dataplex.catalogEditor)または Dataplex Catalog 管理者(roles/dataplex.catalogAdmin)ロールを付与します。詳細については、コンテキスト セットの権限をご覧ください。 - また、IAM ユーザーまたはサービス アカウントに読み取り専用のデータベース権限を付与する必要があります。
GRANT SELECT ON ALL TABLES IN SCHEMA public TO "USER_NAME";
USER_NAME は、ユーザーのメールアドレス、または.サフィックスのないサービス アカウント アドレス(my-sa@my-project.iamなど)に置き換えます。識別子には特殊文字(@ と .)が含まれているため、識別子を引用符で囲む必要があります。
詳細については、IAM ユーザーに適切なデータベース権限を付与するをご覧ください。
AlloyDB for PostgreSQL インスタンスに executesql 権限を付与する
AlloyDB for PostgreSQL インスタンスに executesql 権限を付与し、dataApiAccess インスタンス フィールドを ENABLED に設定するには(デフォルトでは AlloyDB Studio などの一部の内部 Google Cloud サービスが許可されていますが、QueryData には必要です)、次の curl コマンドを使用します。
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
-H "x-goog-user-project: PROJECT_ID" \
https://alloydb.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=dataApiAccess \
-d '{
"dataApiAccess": "ENABLED"
}'
PROJECT_ID: 実際の Google Cloud プロジェクト ID。LOCATION: AlloyDB クラスタが配置されているリージョン。CLUSTER_ID: AlloyDB クラスタの ID。INSTANCE_ID: AlloyDB インスタンスの ID。
コンテキスト セットを作成する
コンテキスト セットを作成する手順は次のとおりです。
Google Cloud コンソールで、[AlloyDB] ページに移動します。
リストからクラスタを選択します。
ナビゲーション メニューで [AlloyDB Studio] をクリックします。
IAM 認証を使用して AlloyDB Studio にログインします。
[エクスプローラ] ペインで、[コンテキスト セット] の横にある [アクションを表示] をクリックします。
[コンテキスト セットを作成] をクリックします。
[コンテキスト セット名] に、一意のコンテキスト セット名を入力します。AlloyDB Studio では、名前は 4 ~ 30 文字で、先頭に空白文字を使用することはできません。Studio は、名前を小文字に変換し、英数字以外の文字をハイフン(
-)に置き換えることで、コンテキスト セット ID を導出します。導出されたコンテキスト セット ID は、選択したリージョンのプロジェクトのdefaultコンテキスト セット グループ内で一意である必要があります。たとえば、コンテキスト セット名querydata_e2e_testのコンテキスト セット ID はquerydata-e2e-testです。コンテキスト エンジニアリング エージェントまたは Dataplex API を使用してコンテキスト セットを直接アップロードする場合、コンテキスト セット ID は大文字と小文字が区別され、スラッシュ(/)を含めることはできません。また、4 ~ 30 文字、英数字、ハイフン、アンダースコアに制限されません。省略可。[コンテキスト セットの説明] に、コンテキスト セットの説明を追加します。
省略可。コンテキスト セット ファイルをアップロードするには、[コンテキスト セット ファイルのアップロード] セクションで [参照] をクリックし、コンテキスト セット ファイルを選択します。
省略可。コンテキスト セットのリージョンを選択するには、[詳細オプションを表示] をクリックし、[ロケーションを選択] でリージョンを選択します(作成ごとにデフォルトで
us-east1に設定されます)。us-east1以外のリージョンを選択する場合は、コンテキスト セット名を入力する前にリージョンを選択して、AlloyDB Studio がそのリージョンで名前の一意性を検証するようにします。[作成] をクリックします。
コンテキスト セットを構築する
Studio で空のコンテキスト セットを作成した場合や、既存のコンテキスト セットを更新する場合は、コンテキスト エンジニアリング エージェントを使用してコンテキスト セットを構築して最適化するの手順に沿って、コンテキスト セット ファイルを生成して最適化します。コンテキスト エンジニアリング エージェントは、CLI からコンテキスト セットを直接作成してアップロードできます。また、Studio でコンテキスト セットを編集して、コンテキスト セット ファイルを手動でアップロードすることもできます。
コンテキスト セットを編集する
コンテキスト セットを編集する手順は次のとおりです。
Google Cloud コンソールで、[AlloyDB] ページに移動します。
リストからクラスタを選択します。
ナビゲーション メニューで [AlloyDB Studio] をクリックします。
IAM 認証を使用して AlloyDB Studio にログインします。
編集するコンテキスト セットの横にある [アクションを表示] をクリックします。
[コンテキスト セットを編集] をクリックします。
省略可。[コンテキスト セットの説明] を編集します。
[コンテキスト セット ファイルのアップロード] セクションで [参照] をクリックし、コンテキスト セット ファイルを選択します。
[保存] をクリックします。
コンテキスト セットを削除する
コンテキスト セットを削除する手順は次のとおりです。
Google Cloud コンソールで、[AlloyDB] ページに移動します。
リストからクラスタを選択します。
ナビゲーション メニューで [AlloyDB Studio] をクリックします。
IAM 認証を使用して AlloyDB Studio にログインします。
削除するコンテキスト セットの横にある [アクションを表示] をクリックします。
[コンテキスト セットを削除] をクリックします。
[コンテキスト セットを削除しますか?] 確認ダイアログで、コンテキスト セットの ID を入力します。
[確認] をクリックして、コンテキスト セットを削除します。
次のステップ
- コンテキスト セットの詳細を確認する。
- AlloyDB Studio で QueryData をテストする方法を確認する。
- コンテキスト エンジニアリング エージェントを使用してコンテキスト セットを構築して最適化する方法を学習する。
- QueryData をアプリケーションと統合する方法を学習する。