Administra transferencias

En este documento, se muestra cómo administrar las opciones de configuración de transferencia de datos existentes.

También puedes activar una transferencia existente de forma manual, también conocida como inicio de una ejecución de reabastecimiento.

Visualiza tus transferencias

Para ver tus configuraciones de transferencia existentes, visualiza la información sobre cada transferencia, enumera todas las transferencias existentes y visualiza el historial de ejecuciones de transferencias o los mensajes de registro.

Roles obligatorios

Para obtener los permisos que necesitas para ver los detalles de la transferencia, pídele a tu administrador que te otorgue el rol de IAM de usuario de BigQuery (roles/bigquery.user) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Además, si deseas ver los mensajes de registro a través de la consola de Google Cloud, debes tener permisos para ver los datos de Cloud Logging. El rol de visualizador de registros (roles/logging.viewer) te otorga acceso de solo lectura a todas las funciones de Logging. Para obtener más información sobre los permisos y los roles de Identity and Access Management (IAM) que se aplican a los datos de registros en la nube, consulta la Guía de control de acceso de Cloud Logging.

Para obtener más información sobre los roles de IAM en el Servicio de transferencia de datos de BigQuery, consulta Referencia del control de acceso.

Obtén detalles de la transferencia

Después de crear una transferencia, puedes obtener información sobre la configuración de la transferencia. La configuración incluye los valores que proporcionaste cuando creaste la transferencia y otra información importante, como los nombres de recursos.

Para obtener información sobre una configuración de la transferencia, sigue estos pasos:

Consola

  1. Ve a la página Transferencia de datos.

    Ir a Transferencias de datos

  2. Selecciona la transferencia cuyos detalles deseas obtener.

  3. Para ver la configuración de la transferencia y los detalles de la fuente de datos, haz clic en Configuración en la página Detalles de la transferencia. En el siguiente ejemplo, se muestran las propiedades de configuración para una transferencia de Google Ads:

    Configuración de transferencia en la consola

bq

Ingresa el comando bq show y proporciona el nombre del recurso de la configuración de la transferencia. La marca --format se puede usar para controlar el formato de salida.

bq show \
--format=prettyjson \
--transfer_config resource_name

Reemplaza resource_name por el nombre del recurso de la transferencia (también conocido como la configuración de transferencia). Si no conoces el nombre del recurso de la transferencia, busca el nombre del recurso con bq ls --transfer_config --transfer_location=location.

Por ejemplo, ingresa el siguiente comando para mostrar la configuración de la transferencia de projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7.

bq show \
--format=prettyjson \
--transfer_config projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

Usa el método projects.locations.transferConfigs.get y proporciona la configuración de la transferencia con el parámetro name.

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Enumerar configuraciones de transferencia

Para enumerar todas las opciones de configuración de transferencia existentes en un proyecto, sigue estos pasos:

Consola

  1. En la consola de Google Cloud, ve a la página Transferencia de datos.

    Ir a Transferencias de datos

  2. Si hay configuraciones de transferencia en el proyecto, aparecerá una lista de las opciones de configuración de transferencia en la lista de transferencia de datos.

bq

Para enumerar todas las opciones de la configuración de la transferencia de un proyecto por ubicación, ingresa el comando bq ls y proporciona las marcas --transfer_location y --transfer_config. También puedes proporcionar la marca --project_id para especificar un proyecto en particular. Si no se especifica --project_id, se usa el proyecto predeterminado. La marca --format se puede usar para controlar el formato de salida.

A fin de hacer una lista de opciones de configuración de la transferencia para fuentes de datos particulares, proporciona la marca --filter.

Para ver una cantidad específica de opciones de configuración de la transferencia en un formato de páginas, proporciona la marca --max_results a fin de especificar la cantidad de transferencias. El comando muestra un token de página que proporcionas con la marca --page_token para ver las siguientes n configuraciones. Existe un límite de 1,000 parámetros de configuración que se mostrarán si se omite --max_results, y --max_results no aceptará valores mayores que 1,000. Si tu proyecto tiene más de 1,000 parámetros de configuración, usa --max_results y --page_token para iterar por todos ellos.

bq ls \
--transfer_config \
--transfer_location=location \
--project_id=project_id \
--max_results=integer \
--filter=dataSourceIds:data_sources

Reemplaza lo siguiente:

Ejemplos comparativos entre

Ingresa el siguiente comando a fin de mostrar todas las opciones de configuración de la transferencia en EE.UU. de tu proyecto predeterminado. El resultado se controla con la marca --format.

bq ls \
--format=prettyjson \
--transfer_config \
--transfer_location=us

Ingresa el siguiente comando para mostrar todas las configuraciones de transferencia en EE.UU. para el ID del proyecto myproject.

bq ls \
--transfer_config \
--transfer_location=us \
--project_id=myproject

Ingresa el siguiente comando para enumerar las 3 configuraciones de transferencia más recientes.

bq ls \
--transfer_config \
--transfer_location=us \
--project_id=myproject \
--max_results=3

El comando muestra un token de la página siguiente. Copia el token de página y proporciónalo en el comando bq ls para ver los 3 resultados siguientes.

bq ls \
--transfer_config \
--transfer_location=us \
--project_id=myproject \
--max_results=3 \
--page_token=AB1CdEfg_hIJKL

Ingresa el siguiente comando a fin de hacer una lista de las opciones de configuración de la transferencia de Ads y Campaign Manager para el ID del proyecto myproject.

bq ls \
--transfer_config \
--transfer_location=us \
--project_id=myproject \
--filter=dataSourceIds:dcm_dt,google_ads

API

Usa el método projects.locations.transferConfigs.list y proporciona el ID del proyecto con el parámetro parent.

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

// Sample to get list of transfer config
public class ListTransferConfigs {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    final String projectId = "MY_PROJECT_ID";
    listTransferConfigs(projectId);
  }

  public static void listTransferConfigs(String projectId) throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      ProjectName parent = ProjectName.of(projectId);
      ListTransferConfigsRequest request =
          ListTransferConfigsRequest.newBuilder().setParent(parent.toString()).build();
      dataTransferServiceClient
          .listTransferConfigs(request)
          .iterateAll()
          .forEach(config -> System.out.print("Success! Config ID :" + config.getName() + "\n"));
    } catch (ApiException ex) {
      System.out.println("Config list not found due to error." + ex.toString());
    }
  }
}

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

from google.cloud import bigquery_datatransfer

transfer_client = bigquery_datatransfer.DataTransferServiceClient()

project_id = "my-project"
parent = transfer_client.common_project_path(project_id)

configs = transfer_client.list_transfer_configs(parent=parent)
print("Got the following configs:")
for config in configs:
    print(f"\tID: {config.name}, Schedule: {config.schedule}")

Visualiza el historial de ejecuciones de transferencias

A medida que se ejecutan las transferencias programadas, se mantiene un historial de ejecución para cada configuración de transferencia que incluye ejecuciones de transferencia correctas y las ejecuciones de transferencia fallidas Las ejecuciones de transferencia con más de 90 días de antigüedad se borran de forma automática del historial de ejecución.

Para ver el historial de ejecución de una configuración de la transferencia, sigue estos pasos:

Consola

  1. En la consola de Google Cloud, ve a la página Transferencia de datos.

    Ir a Transferencias de datos

  2. Haz clic en la transferencia de la lista de transferencias de datos.

  3. Esto te llevará a la página HISTORIAL DE EJECUCIÓN de la transferencia seleccionada.

bq

Para enumerar las ejecuciones de transferencia de una configuración de la transferencia en particular, ingresa el comando bq ls y proporciona la marca --transfer_run. También puedes proporcionar la marca --project_id para especificar un proyecto en particular. Si resource_name no contiene información del proyecto, se usa el valor --project_id. Si no se especifica --project_id, se usa el proyecto predeterminado. La marca --format se puede usar para controlar el formato del resultado.

Para ver una cantidad específica de ejecuciones de transferencia, proporciona la marca --max_results. El comando muestra un token de página que proporcionas con la marca --page_token para ver las siguientes n configuraciones.

Para enumerar las ejecuciones de transferencias según el estado de ejecución, ingresa la marca --filter.

bq ls \
--transfer_run \
--max_results=integer \
--transfer_location=location \
--project_id=project_id \
--filter=states:state, ... \
resource_name

Reemplaza lo siguiente:

  • integer es el número de resultados a mostrar.
  • location es la ubicación de las configuraciones de transferencia. La ubicación se especifica cuando creas una transferencia.
  • project_id es el ID del proyecto.
  • state, ... es una de las siguientes o una lista separada por comas:
    • SUCCEEDED
    • FAILED
    • PENDING
    • RUNNING
    • CANCELLED
  • resource_name es el nombre del recurso de la transferencia (también conocido como la configuración de transferencia). Si no conoces el nombre del recurso de la transferencia, busca el nombre del recurso con bq ls --transfer_config --transfer_location=location.

Ejemplos comparativos entre

Ingresa el siguiente comando para mostrar las 3 ejecuciones más recientes de la configuración de la transferencia projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7. El resultado se controla con la marca --format.

bq ls \
--format=prettyjson \
--transfer_run \
--max_results=3 \
--transfer_location=us \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

El comando muestra un token de la página siguiente. Copia el token de página y proporciónalo en el comando bq ls para ver los 3 resultados siguientes.

bq ls \
--format=prettyjson \
--transfer_run \
--max_results=3 \
--page_token=AB1CdEfg_hIJKL \
--transfer_location=us \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

Ingresa el siguiente comando para mostrar todas las ejecuciones fallidas de la configuración de la transferencia projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7.

bq ls \
--format=prettyjson \
--transfer_run \
--filter=states:FAILED \
--transfer_location=us \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

Usa el método projects.locations.transferConfigs.runs.list y especifica el ID del proyecto con el parámetro parent.

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Visualiza detalles de la ejecución de la transferencia y mensajes de registro

Cuando aparece una ejecución de la transferencia en el historial de ejecuciones, puedes ver los detalles de la ejecución, incluidos los mensajes de registro, las advertencias y los errores, el nombre de la ejecución, y la hora de inicio y finalización.

Para ver los detalles de la ejecución de la transferencia, sigue estos pasos:

Consola

  1. En la consola de Google Cloud, ve a la página Transferencia de datos.

    Ir a Transferencias de datos

  2. Haz clic en la transferencia de la lista de transferencias de datos.

  3. Esto te llevará a la página HISTORIAL DE EJECUCIÓN de la transferencia seleccionada.

  4. Haz clic en una ejecución individual de la transferencia y se abrirá el panel Detalles de ejecución para esa ejecución de la transferencia.

  5. En Run details, escribe los mensajes de error. Esta información es necesaria si te comunicas con Atención al cliente de Cloud. Los detalles de ejecución también incluyen mensajes de registro y advertencias.

    Ejecuta detalles en Console

bq

Para ver los detalles de la ejecución de la transferencia, ingresa el comando bq show y proporciona el nombre de ejecución de la transferencia con la marca --transfer_run. La marca --format se puede usar para controlar el formato de salida.

bq show \
--format=prettyjson \
--transfer_run run_name

Reemplaza run_name por el nombre de ejecución de la transferencia. Puedes recuperar el nombre de la ejecución con el comando bq ls.

Ejemplo:

Ingresa el siguiente comando para mostrar los detalles de la ejecución de la transferencia projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g.

bq show \
--format=prettyjson \
--transfer_run \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

Para ver los mensajes del registro de transferencias de una ejecución de la transferencia, ingresa el comando bq ls con la marca --transfer_log. Puedes filtrar los mensajes de registro por tipo con la marca --message_type.

Para ver una cantidad específica de mensajes de registro, proporciona la marca --max_results. El comando muestra un token de página que proporcionas con la marca --page_token para ver los próximos n mensajes.

bq ls \
--transfer_log \
--max_results=integer \
--message_type=messageTypes:message_type \
run_name

Reemplaza lo siguiente:

  • integer es el número de mensajes de registro que se mostrarán.
  • message_type es el tipo de mensaje de registro para vistas (un solo valor o una lista separada por comas):
    • INFO
    • WARNING
    • ERROR
  • run_name es el nombre de ejecución de la ejecución de transferencia. Puedes recuperar el nombre de la ejecución con el comando bq ls.

Ejemplos:

Ingresa el siguiente comando para ver los primeros 2 mensajes de registro para la ejecución de la transferencia projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g.

bq ls \
--transfer_log \
--max_results=2 \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

El comando muestra un token de la página siguiente. Copia el token de la página y proporciónalo en el comando bq ls para ver los 2 resultados siguientes.

bq ls \
--transfer_log \
--max_results=2 \
--page_token=AB1CdEfg_hIJKL \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

Ingresa el siguiente comando para ver solo los mensajes de error de la ejecución de la transferencia projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g.

bq ls \
--transfer_log \
--message_type=messageTypes:ERROR \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

API

Usa el método projects.transferConfigs.runs.transferLogs.list y proporciona el nombre de ejecución de la transferencia con el parámetro parent.

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

// Sample to get run details from transfer config.
public class RunDetails {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    // runId examples:
    // `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}` or
    // `projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}/runs/{run_id}`
    String runId = "MY_RUN_ID";
    runDetails(runId);
  }

  public static void runDetails(String runId) throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      GetTransferRunRequest request = GetTransferRunRequest.newBuilder().setName(runId).build();
      TransferRun run = dataTransferServiceClient.getTransferRun(request);
      System.out.print("Run details retrieved successfully :" + run.getName() + "\n");
    } catch (ApiException ex) {
      System.out.print("Run details not found." + ex.toString());
    }
  }
}

Modifica tus transferencias

Puedes modificar las transferencias existentes si editas la información de la configuración de la transferencia, actualizas las credenciales de un usuario adjuntada a una configuración de la transferencia e inhabilitas o borras una transferencia.

Roles obligatorios

Para obtener los permisos que necesitas para modificar las transferencias, pídele a tu administrador que te otorgue el rol de IAM de Administrador de BigQuery (roles/bigquery.admin) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Actualizar una transferencia

Después de crear una configuración de la transferencia, puedes editar los siguientes campos:

  • Conjunto de datos de destino
  • Nombre visible
  • Cualquiera de los parámetros especificados para el tipo de transferencia específico.
  • Configuración de notificaciones de la ejecución
  • Cuenta de servicio

No puedes editar el origen de una transferencia una vez que se crea una.

Para actualizar una transferencia, sigue estos pasos:

Consola

  1. En la consola de Google Cloud, ve a la página Transferencia de datos.

    Ir a Transferencias de datos

  2. Haz clic en la transferencia de la lista de transferencias de datos.

  3. Haz clic en Editar para actualizar la configuración de transferencia.

bq

Ingresa el comando bq update, proporciona el nombre del recurso de la configuración de la transferencia con la marca --transfer_config y proporciona las marcas --display_name, --params, --refresh_window_days, --schedule o --target_dataset: De forma opcional, puedes proporcionar una marca --destination_kms_key para las consultas programadas o las transferencias de Cloud Storage.

bq update \
--display_name='NAME' \
--params='PARAMETERS' \
--refresh_window_days=INTEGER \
--schedule='SCHEDULE'
--target_dataset=DATASET_ID \
--destination_kms_key="DESTINATION_KEY" \
--transfer_config \
--service_account_name=SERVICE_ACCOUNT \
RESOURCE_NAME

Reemplaza lo siguiente:

  • NAME es el nombre visible de la configuración de transferencia.
  • PARAMETERS son los parámetros de la configuración de la transferencia en formato JSON. Por ejemplo: --params='{"param1":"param_value1"}'. Los siguientes parámetros son modificables:
    • Campaign Manager: bucket y network_id
    • Google Ad Manager: bucket y network_code
    • Google Ads: customer_id
    • Google Merchant Center: merchant_id
    • Google Play: bucket y table_suffix
    • Consulta programada: destination_table_kms_key, destination_table_name_template, partitioning_field, partitioning_type, query y write_disposition
    • Search Ads 360: advertiser_id, agency_id, custom_floodlight_variables, include_removed_entities y table_filter
    • Canal de YouTube: table_suffix
    • Propietario del contenido de YouTube: content_owner_id y table_suffix
  • INTEGER: Es un valor de 0 a 30. Para obtener información sobre cómo configurar la ventana de actualización, consulta la documentación de tu tipo de transferencia.
  • SCHEDULE: Es una programación recurrente, como --schedule="every 3 hours". Para obtener una descripción de la sintaxis schedule, consulta Define el formato de schedule.
  • DATASET_ID es el conjunto de datos de destino para la configuración de transferencia.
  • DESTINATION_KEY: el ID de recurso de la clave de Cloud KMS, por ejemplo, projects/project_name/locations/us/keyRings/key_ring_name/cryptoKeys/key_name. CMEK solo está disponible para transferencias de consultas programadas o Cloud Storage.
  • SERVICE_ACCOUNT: Especifica una cuenta de servicio para usar con esta transferencia.
  • RESOURCE_NAME es el nombre del recurso de la transferencia (también conocido como la configuración de transferencia). Si no conoces el nombre del recurso de la transferencia, busca el nombre del recurso con: bq ls --transfer_config --transfer_location=location.

Ejemplos:

El siguiente comando actualiza el nombre comercial, el conjunto de datos de destino, la ventana de actualización y los parámetros para la transferencia de Google Ads projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7:

bq update \
--display_name='My changed transfer' \
--params='{"customer_id":"123-123-5678"}' \
--refresh_window_days=3 \
--target_dataset=mydataset2 \
--transfer_config \
 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

Con el siguiente comando, se actualizan los parámetros y el programa para la transferencia de consulta programada projects/myproject/locations/us/transferConfigs/5678z567-5678-5z67-5yx9-56zy3c866vw9:

bq update \
--params='{"destination_table_name_template":"test", "write_disposition":"APPEND"}' \
--schedule="every 24 hours" \
--transfer_config \
projects/myproject/locations/us/transferConfigs/5678z567-5678-5z67-5yx9-56zy3c866vw9

API

Usa el método projects.transferConfigs.patch y proporciona el nombre del recurso de la transferencia con el parámetro transferConfig.name. Si no conoces el nombre del recurso de la transferencia, busca el nombre del recurso con bq ls --transfer_config --transfer_location=location. También puedes llamar al siguiente método y proporcionar el ID del proyecto con el parámetro parent para enumerar todas las transferencias: projects.locations.transferConfigs.list.

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import com.google.cloud.bigquery.datatransfer.v1.UpdateTransferConfigRequest;
import com.google.protobuf.FieldMask;
import com.google.protobuf.util.FieldMaskUtil;
import java.io.IOException;

// Sample to update transfer config.
public class UpdateTransferConfig {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String configId = "MY_CONFIG_ID";
    TransferConfig transferConfig =
        TransferConfig.newBuilder()
            .setName(configId)
            .setDisplayName("UPDATED_DISPLAY_NAME")
            .build();
    FieldMask updateMask = FieldMaskUtil.fromString("display_name");
    updateTransferConfig(transferConfig, updateMask);
  }

  public static void updateTransferConfig(TransferConfig transferConfig, FieldMask updateMask)
      throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      UpdateTransferConfigRequest request =
          UpdateTransferConfigRequest.newBuilder()
              .setTransferConfig(transferConfig)
              .setUpdateMask(updateMask)
              .build();
      TransferConfig updateConfig = dataTransferServiceClient.updateTransferConfig(request);
      System.out.println("Transfer config updated successfully :" + updateConfig.getDisplayName());
    } catch (ApiException ex) {
      System.out.print("Transfer config was not updated." + ex.toString());
    }
  }
}

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

from google.cloud import bigquery_datatransfer
from google.protobuf import field_mask_pb2

transfer_client = bigquery_datatransfer.DataTransferServiceClient()

transfer_config_name = "projects/1234/locations/us/transferConfigs/abcd"
new_display_name = "My Transfer Config"

transfer_config = bigquery_datatransfer.TransferConfig(name=transfer_config_name)
transfer_config.display_name = new_display_name

transfer_config = transfer_client.update_transfer_config(
    {
        "transfer_config": transfer_config,
        "update_mask": field_mask_pb2.FieldMask(paths=["display_name"]),
    }
)

print(f"Updated config: '{transfer_config.name}'")
print(f"New display name: '{transfer_config.display_name}'")

Actualizar credenciales

Una transferencia usa las credenciales del usuario que la creó. Si necesitas cambiar el usuario adjunto a una configuración de transferencia, puedes actualizar las credenciales de la transferencia. Esto es útil si el usuario que creó la transferencia ya no está en tu organización.

Para actualizar las credenciales de una transferencia, haz lo siguiente:

Consola

  1. En la consola de Google Cloud, ve a la página Transferencia de datos.

    Ir a Transferencias de datos

  2. Haz clic en la transferencia de la lista de transferencias de datos.

  3. Haz clic en el menú MORE (Más) y, luego, selecciona Refresh credentials (Actualizar credenciales).

  4. Ingresa a tu Cuenta de Google y haz clic en Permitir a fin de otorgar permiso al Servicio de Transferencia de datos de BigQuery para ver los datos de informes, además de acceder y administrar los datos en BigQuery.

bq

Ingresa el comando bq update, proporciona el nombre del recurso de la configuración de la transferencia con la marca --transfer_config y, también, ingresa la marca --update_credentials.

bq update \
--update_credentials=boolean \
--transfer_config \
resource_name

Reemplaza lo siguiente:

  • boolean es un valor booleano que indica si las credenciales deben actualizarse para la configuración de la transferencia.
  • resource_name es el nombre del recurso de la transferencia (también conocido como la configuración de transferencia). Si no conoces el nombre del recurso de la transferencia, busca el nombre del recurso con bq ls --transfer_config --transfer_location=location.

Ejemplos:

Ingresa el siguiente comando a fin de actualizar las credenciales para la transferencia de Google Ads projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7.

bq update \
--update_credentials=true \
--transfer_config \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

Usa el método projects.transferConfigs.patch y proporciona los parámetros authorizationCode y updateMask.

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import com.google.cloud.bigquery.datatransfer.v1.UpdateTransferConfigRequest;
import com.google.protobuf.FieldMask;
import com.google.protobuf.util.FieldMaskUtil;
import java.io.IOException;

// Sample to update credentials in transfer config.
public class UpdateCredentials {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String configId = "MY_CONFIG_ID";
    String serviceAccount = "MY_SERVICE_ACCOUNT";
    TransferConfig transferConfig = TransferConfig.newBuilder().setName(configId).build();
    FieldMask updateMask = FieldMaskUtil.fromString("service_account_name");
    updateCredentials(transferConfig, serviceAccount, updateMask);
  }

  public static void updateCredentials(
      TransferConfig transferConfig, String serviceAccount, FieldMask updateMask)
      throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      UpdateTransferConfigRequest request =
          UpdateTransferConfigRequest.newBuilder()
              .setTransferConfig(transferConfig)
              .setUpdateMask(updateMask)
              .setServiceAccountName(serviceAccount)
              .build();
      dataTransferServiceClient.updateTransferConfig(request);
      System.out.println("Credentials updated successfully");
    } catch (ApiException ex) {
      System.out.print("Credentials was not updated." + ex.toString());
    }
  }
}

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

from google.cloud import bigquery_datatransfer
from google.protobuf import field_mask_pb2

transfer_client = bigquery_datatransfer.DataTransferServiceClient()

service_account_name = "abcdef-test-sa@abcdef-test.iam.gserviceaccount.com"
transfer_config_name = "projects/1234/locations/us/transferConfigs/abcd"

transfer_config = bigquery_datatransfer.TransferConfig(name=transfer_config_name)

transfer_config = transfer_client.update_transfer_config(
    {
        "transfer_config": transfer_config,
        "update_mask": field_mask_pb2.FieldMask(paths=["service_account_name"]),
        "service_account_name": service_account_name,
    }
)

print("Updated config: '{}'".format(transfer_config.name))

Inhabilitar una transferencia

Cuando inhabilitas una transferencia, disabled se agrega al no