サービス アカウント キーファイルを使用した認証

オンプレミスや他のパブリック クラウドにアプリケーションをデプロイするときに、BigQuery を使用するためのサービス アカウント認証情報を手動で作成して取得します。アプリケーションのデフォルトの認証情報を使用して認証情報を読み込むように環境変数を設定することも、認証情報を手動で読み込むためのパスをアプリケーション コードで指定することもできます。

このガイドでは、ファイルから認証情報を読み込む方法について説明します。

始める前に

ファイルからの認証情報の読み込み

サービス アカウント ファイルからアプリケーション内で認証情報を作成します。次に、認証情報を使用して、BigQuery クライアント ライブラリを含むサービス オブジェクトを作成します。

C#

GoogleCredential.FromStream(Stream) を使用して、JSON ファイルから認証情報を読み込みます。

GoogleCredential を作成した後、それを BigQueryClient.Create(String, GoogleCredential) に渡して BigQuery サービス オブジェクトを作成します。

例については、サーバー間での本番環境アプリケーションの認証の設定をご覧ください。

Java

ServiceAccountCredentials.fromStream(InputStream) を使用して、ファイルから ServiceAccountCredentials オブジェクトを作成します。認証情報を BigQueryOptions.Builder に渡して、それらのオプションから BigQuery サービスを作成します。

public static void explicit() throws IOException {
  // Load credentials from JSON key file. If you can't set the GOOGLE_APPLICATION_CREDENTIALS
  // environment variable, you can explicitly load the credentials file to construct the
  // credentials.
  GoogleCredentials credentials;
  File credentialsPath = new File("service_account.json");  // TODO: update to your key path.
  try (FileInputStream serviceAccountStream = new FileInputStream(credentialsPath)) {
    credentials = ServiceAccountCredentials.fromStream(serviceAccountStream);
  }

  // Instantiate a client.
  BigQuery bigquery =
      BigQueryOptions.newBuilder().setCredentials(credentials).build().getService();

  // Use the client.
  System.out.println("Datasets:");
  for (Dataset dataset : bigquery.listDatasets().iterateAll()) {
    System.out.printf("%s%n", dataset.getDatasetId().getDataset());
  }
}

Python

bigquery.Client.from_service_account_json(path) を使用して、サービス アカウント キー ファイルから BigQuery クライアントを作成します。

from google.cloud import bigquery

# Explicitly use service account credentials by specifying the private
# key file. All clients in google-cloud-python have this helper.
client = bigquery.Client.from_service_account_json(
    'path/to/service_account.json')

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。