Mostrar ejecuciones de transferencia

Enumera todas las ejecuciones de una configuración de transferencia de BigQuery Data Transfer Service.

Investigar más

Para obtener documentación detallada que incluya este código de muestra, consulta lo siguiente:

Código de ejemplo

Java

Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

// Sample to get run history from transfer config.
public class RunHistory {

  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}`
    runHistory(configId);
  }

  public static void runHistory(String configId) throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      ListTransferRunsRequest request =
          ListTransferRunsRequest.newBuilder().setParent(configId).build();
      dataTransferServiceClient
          .listTransferRuns(request)
          .iterateAll()
          .forEach(run -> System.out.print("Success! Run ID :" + run.getName() + "\n"));
    } catch (ApiException ex) {
      System.out.println("Run history not found due to error." + ex.toString());
    }
  }
}

Node.js

Antes de probar este ejemplo, sigue las Node.jsinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

const client = new DataTransferServiceClient();

/**
 * Lists transfer runs for a given transfer configuration.
 *
 * This sample shows how to list all the transfer runs for a specific transfer
 * configuration, to monitor and audit data transfer jobs.
 *
 * @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 BigQuery Transfer Service config ID, for example 'example-config-id'.
 */
async function listTransferRuns(projectId, location, configId) {
  const parent = `projects/${projectId}/locations/${location}/transferConfigs/${configId}`;
  const request = {
    parent,
  };

  try {
    const [transferRuns] = await client.listTransferRuns(request);
    if (transferRuns.length === 0) {
      console.error(
        `No transfer runs found in project ${projectId} for ${location}.`,
      );
      return;
    }
    console.log(`Transfer runs for config '${configId}':`);
    for (const run of transferRuns) {
      console.log(`\nTransfer Run: ${run.name}`);
      console.log(`  Data Source Id: ${run.dataSourceId}`);
      if (run.runTime && run.runTime.seconds) {
        console.log(
          `  Run time: ${new Date(run.runTime.seconds * 1000).toISOString()}`,
        );
      }
      console.log(`  State: ${run.state}`);
    }
  } catch (err) {
    if (err.code === status.NOT_FOUND) {
      console.error(`Transfer run not found: ${parent}`);
    } else {
      console.error('Error listing transfer runs:', err);
    }
  }
}

Python

Antes de probar este ejemplo, sigue las Pythoninstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

client = bigquery_datatransfer_v1.DataTransferServiceClient()


def list_transfer_runs(project_id: str, transfer_config_id: str, location: str) -> None:
    """Lists transfer runs for a given transfer configuration.

    This method retrieves a history of runs for a specific data transfer job.

    Args:
        project_id: The Google Cloud project ID.
        transfer_config_id: The data transfer configuration ID.
        location: The geographic location of the transfer configuration (e.g., 'us-central1').
    """

    parent = client.transfer_config_path(
        project=f"{project_id}/locations/{location}",
        transfer_config=transfer_config_id,
    )
    request = bigquery_datatransfer_v1.ListTransferRunsRequest(
        parent=parent,
    )

    try:
        pager = client.list_transfer_runs(request=request)
        for run in pager:
            print(f"  Run: {run.name}, State: {run.state.name}")
    except google.api_core.exceptions.NotFound:
        print(
            f"Error: Transfer configuration not found: '{parent}'."
            "Please verify that the project ID, location, and transfer config ID are correct."
        )

Siguientes pasos

Para buscar y filtrar ejemplos de código de otros productos de Google Cloud , consulta el Google Cloud navegador de ejemplos.