取得資料來源

擷取 BigQuery 資料移轉服務支援的特定資料來源資訊,例如 Google Ads 或 YouTube。

程式碼範例

Java

在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱 BigQuery Java API 參考文件。

如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。

import com.google.api.gax.rpc.ApiException;
import com.google.api.gax.rpc.NotFoundException;
import com.google.cloud.bigquery.datatransfer.v1.DataSource;
import com.google.cloud.bigquery.datatransfer.v1.DataSourceName;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import java.io.IOException;

public class GetDataSource {

  /**
   * Retrieves a data source definition by name.
   *
   * @param projectId The Google Cloud project ID (for example, "example-project-id").
   * @param dataSourceId The data source ID (for example, "google_cloud_storage").
   */
  public static void getDataSource(String projectId, String dataSourceId) {
    DataSourceName name = DataSourceName.ofProjectDataSourceName(projectId, dataSourceId);

    try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
      DataSource response = client.getDataSource(name);

      System.out.printf("Retrieved data source: %s%n", response.getName());
      System.out.printf("Display Name: %s%n", response.getDisplayName());
      System.out.printf("Description: %s%n", response.getDescription());
      System.out.printf("Client ID: %s%n", response.getClientId());
      System.out.printf("Supports custom schedule: %s%n", response.getSupportsCustomSchedule());
    } catch (NotFoundException err) {
      System.err.printf("error: data source '%s' not found: %s%n", name, err.getMessage());
    } catch (ApiException | IOException err) {
      System.err.printf("error: failed to get data source '%s': %s%n", name, err.getMessage());
    }
  }

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();

/**
 * Retrieves a supported data source and returns its settings.
 * This sample shows how to get a data source's details, to understand its parameters and capabilities before creating a transfer.
 *
 * @param {string} projectId The project ID to use, for example 'example-project-id'
 * @param {string} location The location to use, for example 'us-central1'
 * @param {string} dataSourceId The data source ID to use, for example 'google_cloud_storage'
 */
async function getDataSource(projectId, location, dataSourceId) {
  const name = client.projectLocationDataSourcePath(
    projectId,
    location,
    dataSourceId,
  );

  const request = {
    name,
  };

  try {
    const [dataSource] = await client.getDataSource(request);
    console.log(`Data source ${dataSource.name} retrieved:`);
    console.log(`  Display Name: ${dataSource.displayName}`);
    console.log(`  Description: ${dataSource.description}`);
    console.log(`  Data Source ID: ${dataSource.dataSourceId}`);
  } catch (err) {
    if (err.code === status.NOT_FOUND) {
      console.error(
        `Data source ${dataSourceId} not found in project ${projectId} in location ${location}.`,
      );
    } else {
      console.error(`Error getting data source ${dataSourceId}:`, 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_data_source(project_id: str, data_source_id: str) -> None:
    """Retrieves a data source definition by name.

    This sample shows how to get a data source definition, which includes its
    display name, description, and other properties.

    Args:
        project_id: The Google Cloud project ID.
        data_source_id: The data source ID, for example, 'google_cloud_storage'.
    """
    name = client.data_source_path(project=project_id, data_source=data_source_id)

    try:
        response = client.get_data_source(name=name)
        print(f"Retrieved data source: {response.name}")
        print(f"Display Name: {response.display_name}")
        print(f"Description: {response.description}")
        print(f"Client ID: {response.client_id}")
        print(f"Supports custom schedule: {response.supports_custom_schedule}")
    except google.api_core.exceptions.NotFound:
        print(f"Error: Data source '{name}' was not found.")

後續步驟

如要搜尋及篩選其他 Google Cloud 產品的程式碼範例,請參閱Google Cloud 範例瀏覽工具。