構成メタデータを取得する

転送構成メタデータを取得します。

さらに詳しい情報

このコードサンプルを含む詳細なドキュメントについては、以下をご覧ください。

コードサンプル

Java

このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Java の設定手順を完了してください。詳細については、BigQuery Java API のリファレンス ドキュメントをご覧ください。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.GetTransferConfigRequest;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import java.io.IOException;

// Sample to get config info.
public class GetTransferConfigInfo {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String configId = "MY_CONFIG_ID";
    // i.e projects/{project_id}/transferConfigs/{config_id}` or
    // `projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}`
    getTransferConfigInfo(configId);
  }

  public static void getTransferConfigInfo(String configId) throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      GetTransferConfigRequest request =
          GetTransferConfigRequest.newBuilder().setName(configId).build();
      TransferConfig info = dataTransferServiceClient.getTransferConfig(request);
      System.out.print("Config info retrieved successfully." + info.getName() + "\n");
    } catch (ApiException ex) {
      System.out.print("config not found." + ex.toString());
    }
  }
}

Node.js

このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Node.js の設定手順を完了してください。詳細については、BigQuery Node.js API のリファレンス ドキュメントをご覧ください。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

const {DataTransferServiceClient} =
  require('@google-cloud/bigquery-data-transfer').v1;
const {status} = require('@grpc/grpc-js');

const client = new DataTransferServiceClient();

/**
 * Gets a transfer configuration for a BigQuery data transfer.
 * A transfer configuration contains all metadata needed to perform a data transfer.
 *
 * @param {string} projectId The Google Cloud project ID (for example, 'example-project-id').
 * @param {string} location The Google Cloud region (for example, 'us-central1').
 * @param {string} configId The transfer configuration ID (for example, '1234a567-b89c-12d3-45e6-f789g01h23i4').
 */
async function getTransferConfig(projectId, location, configId) {
  const name = client.projectLocationTransferConfigPath(
    projectId,
    location,
    configId,
  );
  const request = {
    name,
  };

  try {
    const [config] = await client.getTransferConfig(request);
    console.log(`Got transfer config: ${config.name}`);
    console.log(`  Display Name: ${config.displayName}`);
    console.log(`  Data Source ID: ${config.dataSourceId}`);
    console.log(`  Destination Dataset ID: ${config.destinationDatasetId}`);
    console.log(`  State: ${config.state}`);
  } catch (err) {
    if (err.code === status.NOT_FOUND) {
      console.error(
        `Transfer config ${configId} not found in project ${projectId} in location ${location}.`,
      );
    } else {
      console.error(`Error getting transfer config ${configId}:`, err);
    }
  }
}

Python

このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Python の設定手順を完了してください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。

BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

import google.api_core.exceptions
from google.cloud import bigquery_datatransfer_v1

client = bigquery_datatransfer_v1.DataTransferServiceClient()


def get_transfer_config(
    project_id: str,
    location: str,
    transfer_config_id: str,
) -> None:
    """Gets information about a data transfer configuration.

    This sample demonstrates how to retrieve the details of a BigQuery
    Data Transfer Service configuration, which contains metadata about a
    data transfer, such as its schedule and destination.

    Args:
        project_id: The Google Cloud project ID.
        location: The geographic location of the transfer config, for example "us-central1"
        transfer_config_id: The transfer configuration ID
    """

    try:
        transfer_config_name = client.transfer_config_path(
            project=f"{project_id}/locations/{location}",
            transfer_config=transfer_config_id,
        )
        transfer_config = client.get_transfer_config(name=transfer_config_name)

        print(f"Got transfer config: {transfer_config.name}")
        print(f"Display name: {transfer_config.display_name}")
        print(f"Destination dataset: {transfer_config.destination_dataset_id}")
        print(f"Data source: {transfer_config.data_source_id}")
        if "time_based_schedule" in transfer_config.schedule_options_v2:
            print(
                f"Schedule: {transfer_config.schedule_options_v2.time_based_schedule.schedule}"
            )
        else:
            print("Schedule: None")
    except google.api_core.exceptions.NotFound:
        print(f"Error: Transfer config '{transfer_config_name}' not found.")

次のステップ

他の Google Cloud プロダクトのコードサンプルを検索およびフィルタするには、Google Cloud サンプル ブラウザをご覧ください。