コンテンツに移動
デベロッパー

Visual Studio Code から Cloud Spanner データベースを閲覧してクエリを実行する

2021年5月31日
Google Cloud Japan Team

※この投稿は米国時間 2021 年 5 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。

Visual Studio Code は、デベロッパーが使用できるさまざまな拡張機能を有することもあり、最も広く使用されている IDE の 1 つです。Cloud Spanner と対話するアプリケーションを構築しているデベロッパー向けに、Google はこのたび、広く利用されている VS Code 用の SQLTools 拡張機能のための Google Cloud Spanner ドライバを発表いたします。

SQLTools 拡張機能がさまざまな SQL ドライバと連携し、デベロッパーは VS Code 内からのデータベース接続の管理、クエリの実行と生成などが可能となります。Cloud Spanner ドライバを SQLTools とともに使用することで、デベロッパーは IDE を利用しながら、テーブルを閲覧し、Cloud Spanner データベースにクエリ、DDL ステートメント、DML ステートメントを実行できます。

この投稿では、拡張機能のインストール、Cloud Spanner データベースへの接続、データベースでの SQLTools の使用のプロセスについて説明します。

前提事項

ご利用の前に、Cloud Spanner インスタンスとデータベースを備えた Google Cloud Platform プロジェクトを準備する必要があります。Cloud Spanner をまだ使用したことがない場合は、この Codelab で手順をガイドいたします。または、エミュレータを使用することもできます。また、VS Code をコンピュータにインストールする必要があります。

インストール

SQLTools 用の Cloud Spanner ドライバをインストールするには、VS Code 内の拡張機能アイコンをクリックして、「cloud spanner driver」を検索し、「Google Cloud Spanner Driver」という拡張機能をインストールします。また、Visual Studio Marketplaceからも SQLTools 用の Cloud Spanner ドライバをインストールできます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/extensions_marketplace.max-500x500.max-500x500.png

拡張機能をインストールすると、以下の画像で赤い四角で囲んだ SQLTools 用のデータベース アイコンが VS Code 内に表示されます。このデータベース アイコンをクリックして、拡張機能にアクセスします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Screen_Shot_2021-04-01_at_10.29.04_AM.max-40.max-400x400.png

Cloud Spanner データベースへの接続

拡張機能をインストールしたら、SQLTools の [Add New Connection] アイコンをクリックして、接続アシスタントを開き、Google Cloud Spanner ドライバを選択します。Google Cloud の Spanner インスタンス、またはエミュレータ インスタンスに接続できます。

エミュレータを使用して接続を構成する

Cloud SDK が備えるローカル インメモリ エミュレータを開発とテストに使用できます。エミュレータで SQLTools 拡張機能を使用するには、まずエミュレータを起動する必要があります。次に、接続設定の手順で、[Connection name]、[Google Cloud Project ID]、[Spanner Instance ID]、[Spanner Database ID] の各値を入力します。[Connetct to emulator] の横にあるチェックボックスをオンにします。この設定を使用する際に、指定したインスタンスとデータベースがエミュレータにまだない場合は、自動的に作成されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/unnamed_5_7MGdvpb.max-600x600.max-600x600.png

Google Cloud 上の Cloud Spanner データベースへの接続を構成する

Google Cloud で稼働している Cloud Spanner データベースに接続する場合、[Google Cloud Project ID]、[Spanner Instance ID]、[Spanner Database ID] を指定する必要があります。[Connection name] については任意の値を入力できます。また、2 つの方法のいずれかで認証情報を指定する必要があります。1 つは、接続アシスタントで認証キーファイルへの絶対パスを入力する方法。もう 1 つは、認証キーファイルへのパスに GOOGLE_ACCOUNT_CREDENTIALS 環境変数を設定する方法です。GOOGLE_ACCOUNT_CREDENTIALS 環境変数を使用する場合、環境変数の設定前に VS Code がすでに実行されていると、VS Code を再起動する必要があります。サービス アカウントには、Cloud Spanner を操作するための適切な権限が付与されている必要があります。認証情報の詳細については、サービス アカウントサービス アカウント キーの作成に関するドキュメントをご覧ください。Cloud Spanner のロールの一覧は、こちらの表でご確認いただけます。

接続をテストして確立する

接続設定情報を入力したら [TEST CONNECTION] をクリックして、正常に接続されていることを確認し、[SAVE CONNECTION] をクリックします。

接続アシスタントの最後の手順として、[CONNECT NOW] をクリックします。

データベース テーブルを閲覧する

SQLTools の接続セクションで、データベース内のテーブルを表示できます。以下のスクリーンショットでは、コメント テーブル内の列を確認できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/unnamed_6_5zLZJIK.max-500x500.max-500x500.png

テーブル名を右クリックすると、テーブル レコードの表示や挿入クエリの生成などのオプションが提供されます。

クエリとステートメントを実行する

Cloud Spanner ドライバは、クエリ、DDL ステートメント、DML ステートメントの実行をサポートしています。1 つのスクリプトで複数のステートメントを実行する場合、各ステートメントは別々のトランザクションで実行されます。拡張機能は、データベースの本番環境の管理ではなく、開発とテストでの使用を目的としています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Screen_Shot_2021-04-01_at_11.38.45_AM.max-60.max-600x600.png

クエリは単回使用読み取り専用トランザクションを使用し、DML ステートメントは読み書きトランザクションを使用します。使用するサービス アカウントにクエリやステートメントの実行に必要な権限が必ずあるようにしてください。トランザクションのタイプの詳細については、こちらのドキュメントをご覧ください。

次のステップ

IDE 内からの Cloud Spanner データベースの操作により、開発プロセスの効率性が高まるとともに、複数のツールやインターフェース間の切り替えの必要性が低減されます。今すぐ実際に試してみてください。SQLTools 用の Cloud Spanner ドライバをインストールし、VS Code 内から Cloud Spanner データベースの探索と操作を始めてください。提案や問題がございましたら、Issue Tracker に上げてください。また、質問やコメントについて、Twitter でお気軽にお寄せください。皆様からのフィードバックをお待ちしております。

-Cloud デベロッパー アドボケイト Jan Kleinert

投稿先