Google Cloud SQL API は HTTP と JSON を基に構築されているため、標準の HTTP クライアントであれば、この API にリクエストを送信してレスポンスを解析できます。ただし、手動で HTTP リクエストを作成してレスポンスを解析するのではなく、Google API クライアント ライブラリを使用することをおすすめします。クライアント ライブラリでは、高度に言語が統合され、セキュリティも強化されています。また、ユーザーの承認が必要な呼び出しもサポートしています。
クライアント ライブラリは、アプリケーションのデフォルト認証情報を使用することによって、Google API で簡単に認証を行い、これらの API にリクエストを送信できます。アプリケーションのデフォルト認証情報を使用すると、ベースとなるコードを変更することなく、ローカルでアプリケーションのテストを行ったり、アプリケーションをデプロイしたりできます。詳細については、 クライアント ライブラリを使用するための認証をご覧ください。
アプリケーションのデフォルト認証情報は、Google Cloud SQL にアクセスするために使用できるクライアント ライブラリの一部です。デフォルト認証情報は、ユーザー認証情報とデフォルト サービス アカウントのいずれかでアプリケーションを識別します。ライブラリを使用するときには、コードを実行する環境の種類に基づいて認証情報を選ぶのが一般的です。
サービスへのアクセス
使用する Google Cloud SQL API クライアント ライブラリによっては、ライブラリがデフォルトのサービスパスを検出する方式を設定する必要があります。Google API Discovery Service を使用するクライアント ライブラリの場合、API 名 sqladmin
を使用してクライアントを構築します。これには、Python と JavaScript 用のライブラリが含まれています。
次のコードは、クライアントを作成して、プロジェクト内の Cloud SQL インスタンスのリストを取得する方法を示しています。
Go
Go 用クライアント ライブラリの場合は、sqladmin
パッケージをインポートします。
Java
Java 用のクライアント ライブラリの場合は、オプションでサービス パス ディレクトリを指定できます。
// Set up global SQLAdmin instance. client = new SQLAdmin.Builder(httpTransport, JSON_FACTORY, credential) .setServicePath("sql/v1beta4/") .setApplicationName(APPLICATION_NAME).build(); InstancesListResponse resp = client.instances().list("PROJECT_ID").execute(); List<DatabaseInstance> list = resp.getItems(); for (DatabaseInstance d : list) { System.out.println(d.getName()); }
JavaScript
JavaScript 用のクライアント ライブラリの場合は、sqladmin
を指定してクライアントを構築します。
gapi.client.load('sqladmin', 'v1beta4', function() { console.log('loaded');}); gapi.client.sql.instances.list({'project': PROJECT_ID}).execute(showResult); function showResult(result) { // Process the result. };
Python
Python 用のクライアント ライブラリの場合は、sqladmin
を指定してクライアントを構築します。
# Construct the service object for the interacting with the Cloud SQL Administration API. service = discovery.build('sqladmin', 'v1beta4', http=http) req = service.instances().list(project="PROJECT_ID") resp = req.execute() print json.dumps(resp, indent=2)
service
オブジェクトは、検索ドキュメントに対してクエリを実行し、正しいサービスパス(この場合は「sql/v1beta4/projects/」)を使用します。
アプリケーションが Cloud SQL に接続する方法を示すコード例を探している場合は、外部アプリケーションからの接続をご覧ください。App Engine からの接続例については、Google App Engine からの接続をご覧ください。
クライアント ライブラリの認証
クライアント ライブラリは、アプリケーションのデフォルト認証情報を使用することによって、Google API で簡単に認証を行い、これらの API にリクエストを送信できます。アプリケーションのデフォルト認証情報を使用すると、ベースとなるコードを変更することなく、ローカルでアプリケーションのテストを行ったり、アプリケーションをデプロイしたりできます。詳細については、 クライアント ライブラリを使用するための認証をご覧ください。
アプリケーションのデフォルト認証情報は、Google Cloud SQL にアクセスするために使用できるクライアント ライブラリの一部です。デフォルト認証情報は、ユーザー認証情報とデフォルト サービス アカウントのいずれかでアプリケーションを識別します。ライブラリを使用するときには、コードを実行する環境の種類に基づいて認証情報を選ぶのが一般的です。たとえば、開発環境では、gcloud auth
コマンドを使用して認証することができ、クライアント ライブラリはこれらの認証情報を使用します。環境について詳しくは、『Google Cloud Platform Auth ガイド』のデベロッパー ワークフローをご覧ください。
ライブラリとサンプルの一覧
以下の表では、最初の列に各ライブラリの開発段階(一部はまだ開発の初期段階)とライブラリのドキュメントへのリンクを示します。2 列目には、各ライブラリの使用可能なサンプルへのリンクを示します。
これらの初期段階のライブラリも用意されています。