Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Mit Übertragungen arbeiten

Nach dem Erstellen einer Übertragung mit BigQuery Data Transfer Service können Sie folgende Aufgaben ausführen:

  • Informationen zu einer Übertragungskonfiguration abrufen
  • Übertragungskonfigurationen auflisten
  • Ausführungsverlauf einer Übertragung aufrufen
  • Details zur Übertragungsausführung anzeigen, z. B. Protokollmeldungen
  • Übertragung aktualisieren
  • Backfill einrichten
  • Anmeldedaten aktualisieren
  • Übertragung deaktivieren
  • Übertragung löschen

Informationen zu Übertragungen abrufen

Nachdem Sie eine Übertragung erstellt haben, können Sie Informationen zu der Übertragungskonfiguration abrufen. Die Konfiguration enthält die Werte, die Sie bei der Erstellung der Übertragung angegeben haben.

Erforderliche Berechtigungen

Sie benötigen Berechtigungen des Typs bigquery.transfers.get, um Informationen zu einer Übertragung abrufen zu können. Diese vordefinierten IAM-Rollen umfassen Berechtigungen des Typs bigquery.transfers.get:

  • bigquery.admin
  • bigquery.user

Ein Nutzer mit der Berechtigung bigquery.transfers.get kann Informationen zu allen Übertragungen in einem Projekt abrufen.

Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie in der Zugriffssteuerung.

Informationen zu einer Übertragung abrufen

So rufen Sie Informationen zu einer Übertragungskonfiguration ab:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.

    Zur Seite „BigQuery“

  2. Klicken Sie auf Übertragungen.

  3. Klicken Sie auf der Seite Übertragungen auf eine geeignete Übertragung in der Liste.

  4. Klicken Sie für die ausgewählte Übertragung auf Konfiguration.

  5. Die Übertragungskonfiguration und die Details der Datenquelle werden angezeigt. Das folgende Beispiel zeigt die Konfigurationsattribute einer Teradata-Migration.

    Grafik: Übertragungskonfiguration in der Console

bq

Geben Sie den Befehl bq show ein und fügen Sie den Ressourcennamen der Übertragungskonfiguration hinzu. Mit dem Flag --format können Sie das Ausgabeformat festlegen.

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

Wobei:

Geben Sie beispielsweise den folgenden Befehl ein, um die Übertragungskonfiguration für projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 anzeigen zu lassen:

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

API

Verwenden Sie die Methode projects.locations.transferConfigs.get und geben Sie die Übertragungskonfiguration mithilfe des Parameters name an.

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

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

Übertragungskonfigurationen auflisten

Erforderliche Berechtigungen

Sie benötigen die Berechtigung bigquery.transfers.get, um alle Übertragungen oder Übertragungskonfigurationen in einem Projekt aufzulisten. Die folgenden vordefinierten IAM-Rollen enthalten Berechtigungen vom Typ bigquery.transfers.get:

  • bigquery.admin
  • bigquery.user

Ein Nutzer mit der Berechtigung bigquery.transfers.get kann alle Übertragungen in einem Projekt auflisten lassen.

Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie in der Zugriffssteuerung.

Übertragungen auflisten

So listen Sie Übertragungskonfigurationen in einem Projekt auf:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.

    Zur Seite „BigQuery“

  2. Klicken Sie auf Übertragungen.

  3. Wenn im Projekt Übertragungskonfigurationen vorhanden sind, wird auf der Seite Übertragungen eine Liste der Übertragungskonfigurationen angezeigt.

bq

Geben Sie den Befehl bq ls ein und fügen Sie die Flags --transfer_location und --transfer_config hinzu, um alle Übertragungskonfigurationen für ein Projekt nach dem Standort anzeigen zu lassen. Sie können auch das Flag --project_id bereitstellen, um ein bestimmtes Projekt anzugeben. Wenn --project_id nicht angegeben ist, wird das Standardprojekt verwendet. Mit dem Flag --format können Sie das Ausgabeformat festlegen.

Geben Sie das Flag --filter an, um Übertragungskonfigurationen für bestimmte Datenquellen aufzulisten.

Wenn eine bestimmte Anzahl von Übertragungskonfigurationen auf einer Seite angezeigt werden soll, geben Sie das Flag --max_results an, um die Anzahl von Übertragungen festzulegen. Durch diesen Befehl wird ein Seitentoken zurückgegeben, das Sie mit dem Flag --page_token angeben, um die nächsten n Konfigurationen aufzurufen. Es gibt ein Limit von 1.000 Konfigurationen, die zurückgegeben werden, wenn --max_results weggelassen wird. --max_results akzeptiert keine Werte, die größer als 1.000 sind. Wenn Ihr Projekt mehr als 1.000 Konfigurationen hat, können Sie mit --max_results und --page_token alle iterieren.

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

Wobei:

Beispiele:

Geben Sie den folgenden Befehl ein, um für Ihr Standardprojekt alle Übertragungskonfigurationen in den USA aufzurufen. Mit dem Flag --format können Sie das Ausgabeformat festlegen.

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

Geben Sie den folgenden Befehl ein, um für die Projekt-ID myproject alle Übertragungskonfigurationen in den USA aufzurufen.

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

Geben Sie den folgenden Befehl ein, um die letzten drei Übertragungskonfigurationen aufzulisten.

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

Durch diesen Befehl wird ein Token für die nächste Seite zurückgegeben. Kopieren Sie das Seitentoken und geben Sie es im Befehl bq ls an, um die nächsten drei Ergebnisse anzeigen zu lassen.

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

Geben Sie den folgenden Befehl ein, um die Übertragungskonfigurationen für Google Ads und Campaign Manager für die Projekt-ID myproject aufzulisten.

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

API

Verwenden Sie die Methode projects.locations.transferConfigs.list und geben Sie die Projekt-ID mithilfe des Parameters parent an.

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

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

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.

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}")

Ausführungsverlauf ansehen

Beim Ausführen der geplanten Übertragungen wird für alle Übertragungskonfigurationen ein Ausführungsverlauf erstellt, der u. a. die erfolgreichen Übertragungen und fehlgeschlagenen Übertragungen enthält. Übertragungen, die älter als 90 Tage sind, werden automatisch aus dem Ausführungsverlauf gelöscht.

Erforderliche Berechtigungen

Sie benötigen Berechtigungen des Typs bigquery.transfers.get, um den Ausführungsverlauf für eine Übertragungskonfiguration anzeigen zu lassen. Sowohl die vordefinierten IAM-Rollen bigquery.user und bigquery.admin enthalten die Berechtigungen bigquery.transfers.get.

Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie in der Zugriffssteuerung.

Ausführungsverlauf aufrufen

So zeigen Sie den Ausführungsverlauf für eine Übertragungskonfiguration an:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.

    Zur Seite „BigQuery“

  2. Klicken Sie auf Übertragungen.

  3. Klicken Sie auf der Seite Übertragungen auf eine geeignete Übertragung in der Liste.

  4. Sie werden dann zur Seite Ausführungsverlauf für die ausgewählte Übertragung weitergeleitet.

bq

Geben Sie den Befehl bq ls mit dem Flag --transfer_run ein, um Übertragungsausführungen für eine bestimmte Übertragungskonfiguration aufzulisten. Sie können auch das Flag --project_id bereitstellen, um ein bestimmtes Projekt anzugeben. Wenn resource_name keine Projektinformationen enthält, wird der Wert --project_id verwendet. Wenn --project_id nicht angegeben ist, wird das Standardprojekt verwendet. Mit dem Flag --format können Sie das Ausgabeformat festlegen.

Geben Sie das Flag --max_results an, um eine bestimmte Anzahl von Übertragungsaufführungen anzeigen zu lassen. Durch diesen Befehl wird ein Seitentoken zurückgegeben, das Sie mit dem Flag --page_token angeben, um die nächsten n Konfigurationen aufzurufen.

Geben Sie das Flag --filter an, um Übertragungsausführungen basierend auf dem Ausführungsstatus aufzulisten.

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

Wobei:

  • integer ist die Anzahl der zurückzugebenden Ergebnisse.
  • location ist der Speicherort der Übertragungskonfigurationen. Der Standort wird beim Erstellen einer Übertragung angegeben.
  • project_id ist die Projekt-ID.
  • state, ... ist einer der folgenden Werte oder eine durch Kommas getrennte Liste:
    • SUCCEEDED
    • FAILED
    • PENDING
    • RUNNING
    • CANCELLED
  • resource_name ist der Ressourcenname der Übertragung (auch als Übertragungskonfiguration bezeichnet). Wenn Sie den Ressourcennamen der Übertragung nicht kennen, suchen Sie den Ressourcennamen mit bq ls --transfer_config --transfer_location=location.

Beispiele:

Geben Sie den folgenden Befehl ein, um die letzten drei Ausführungen für die Übertragungskonfiguration projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 aufzurufen. Mit dem Flag --format können Sie das Ausgabeformat festlegen.

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

Durch diesen Befehl wird ein Token für die nächste Seite zurückgegeben. Kopieren Sie das Seitentoken und geben Sie es im Befehl bq ls an, um die nächsten drei Ergebnisse anzeigen zu lassen.

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

Geben Sie den folgenden Befehl ein, um alle fehlgeschlagenen Ausführungen für die Übertragungskonfiguration projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 aufzurufen.

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

API

Verwenden Sie die Methode projects.locations.transferConfigs.runs.list und geben Sie die Projekt-ID mithilfe des Parameters parent an.

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

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

Details zur Übertragungsausführung und Logmeldungen aufrufen

Ist eine Übertragungsausführung im Verlauf aufgeführt, können Sie die Übertragungsdetails anzeigen, einschließlich Protokollmeldungen, Warnungen und Fehler, Name sowie Start- und Endzeit.

Erforderliche Berechtigungen

Sie benötigen Berechtigungen des Typs bigquery.transfers.get, um die Details von Übertragungsausführungen anzeigen zu lassen. Sowohl die vordefinierten IAM-Rollen bigquery.user und bigquery.admin enthalten die Berechtigungen bigquery.transfers.get.

Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie in der Zugriffssteuerung.

Darüber hinaus erfordert das Aufrufen von Lognachrichten über die Google Cloud Console Berechtigungen zum Aufrufen von Cloud Logging-Daten. Die Rolle "Log-Betrachter" (roles/logging.viewer) bietet den Lesezugriff auf alle Logging-Features. Weitere Informationen zu für Cloud-Logdaten relevanten IAM-Berechtigungen und -Rollen finden Sie in der Anleitung zur Zugriffssteuerung von Cloud Logging.

Details für eine Übertragungsausführung aufrufen

So zeigen Sie die Details von Übertragungsausführungen an:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.

    Zur Seite „BigQuery“

  2. Klicken Sie auf Übertragungen.

  3. Klicken Sie auf der Seite Übertragungen auf eine geeignete Übertragung in der Liste.

  4. Sie werden dann zur Seite Ausführungsverlauf für die ausgewählte Übertragung weitergeleitet.

  5. Klicken Sie auf eine einzelne Übertragungsausführung, um das Feld Ausführungsdetails für diese Übertragungsausführung zu öffnen.

  6. Sehen Sie sich unter Ausführungsdetails alle Fehlermeldungen an. Sie benötigen diese Informationen, wenn Sie sich an den Cloud Customer Care wenden. Die Ausführungsdetails enthalten auch Logmeldungen und Warnungen.

    Grafik: Ausführungsdetails in der Console

bq

Geben Sie den Befehl bq show ein und fügen Sie mit dem Flag --transfer_run den Namen der Übertragungsausführung hinzu, um die Details von Übertragungsausführungen anzeigen zu lassen. Mit dem Flag --format können Sie das Ausgabeformat festlegen.

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

Wobei:

  • run_name ist der Name der Übertragungsausführung. Sie können den Ausführungsnamen mit dem Befehl bq ls abrufen.

Beispiel:

Geben Sie den folgenden Befehl ein, um Details für die Übertragungsausführung projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g aufzurufen.

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

Geben Sie den Befehl bq ls mit dem Flag --transfer_log ein, um Übertragungslogmeldungen für eine Übertragungsausführung anzeigen zu lassen. Mit dem Flag --message_type können Sie Logmeldungen nach Typ filtern.

Geben Sie das Flag --max_results an, um eine bestimmte Anzahl von Logmeldungen anzeigen zu lassen. Bei diesem Befehl wird ein Seitentoken zurückgegeben, das Sie mit dem Flag --page_token angeben, um die nächsten n Meldungen aufzurufen.

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

Wobei:

  • integer ist die Anzahl der zurückzugebenden Logmeldungen.
  • message_type ist der Typ der Logmeldungen ist, die angezeigt werden sollen (ein einzelner Wert oder eine durch Kommas getrennte Liste):
    • INFO
    • WARNING
    • ERROR
  • run_name ist der Name der Übertragungsausführung. Sie können den Ausführungsnamen mit dem Befehl bq ls abrufen.

Beispiele:

Geben Sie den folgenden Befehl ein, um die ersten zwei Logmeldungen für die Übertragungsausführung projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g aufzurufen.

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

Durch diesen Befehl wird ein Token für die nächste Seite zurückgegeben. Kopieren Sie das Seitentoken und geben Sie es im Befehl bq ls an, um die nächsten zwei Ergebnisse anzeigen zu lassen.

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

Geben Sie den folgenden Befehl ein, um nur Fehlermeldungen für die Übertragungsausführung projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g anzeigen zu lassen.

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

Verwenden Sie die Methode projects.transferConfigs.runs.transferLogs.list und geben Sie den Ausführungsnamen der Übertragungsausführung mithilfe des Parameters parent an.

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

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

Übertragung aktualisieren

Nachdem die Übertragung hinzugefügt wurde, können Sie sie bearbeiten. Mit Ausnahme des Feldes Quelle können Sie alle Felder, die bei der Erstellung der Übertragung ausgefüllt wurden, bearbeiten:

  • Ziel-Dataset
  • Anzeigename
  • Alle Parameter, die für den spezifischen Übertragungstyp angegeben wurden
  • Benachrichtigungseinstellungen ausführen

Erforderliche Berechtigungen

Sie benötigen Berechtigungen des Typs bigquery.transfers.update, um eine Übertragung zu aktualisieren. Die vordefinierte IAM-Rolle bigquery.admin enthält Berechtigungen vom Typ bigquery.transfers.update.

Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie in der Zugriffssteuerung.

Übertragung aktualisieren

So aktualisieren Sie eine Übertragung:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.

    Zur Seite „BigQuery“

  2. Klicken Sie auf Übertragungen.

  3. Klicken Sie auf der Seite Übertragungen auf eine geeignete Übertragung in der Liste.

  4. Klicken Sie auf Bearbeiten, um die Übertragungskonfiguration zu aktualisieren.

bq

Geben Sie den Befehl bq update ein, fügen Sie den Ressourcennamen der Übertragungskonfiguration mit dem Flag --transfer_config hinzu und geben Sie das Flag --display_name, --params, --refresh_window_days, --schedule oder --target_dataset an.

bq update \
--display_name='NAME' \
--params='PARAMETERS' \
--refresh_window_days=INTEGER \
--schedule='SCHEDULE'
--target_dataset=DATASET_ID \
--transfer_config \
RESOURCE_NAME

Dabei gilt:

  • NAME: Der Anzeigename für die Übertragungskonfiguration.
  • PARAMETERS: Die Parameter für die Übertragungskonfiguration im JSON-Format:. Beispiel: --params='{"param1":"param_value1"}' Die folgenden Parameter können bearbeitet werden:
    • Campaign Manager: bucket und network_id
    • Google Ad Manager: bucket und network_code
    • Google Ads: customer_id
    • Google Merchant Center: merchant_id
    • Google Play: bucket und table_suffix
    • Geplante Abfrage: destination_table_kms_key, destination_table_name_template, partitioning_field, partitioning_type, query und write_disposition
    • Search Ads 360: advertiser_id, agency_id, custom_floodlight_variables, include_removed_entities und table_filter
    • YouTube-Kanal: table_suffix
    • YouTube-Rechteinhaber: content_owner_id und table_suffix
  • INTEGER: ein Wert zwischen 0 und 30. Informationen zum Festlegen des Aktualisierungsfensters finden Sie in der Dokumentation für den jeweiligen Übertragungstyp.
  • SCHEDULE: Wiederkehrender Zeitplan, z. B. --schedule="every 3 hours". Eine Beschreibung der Syntax schedule finden Sie unter schedule formatieren.
  • DATASET_ID: Das Ziel-Dataset für die Übertragungskonfiguration.
  • RESOURCE_NAME: Der Ressourcenname der Übertragung (auch als Übertragungskonfiguration bezeichnet). Wenn Sie den Ressourcennamen der Übertragung nicht kennen, suchen Sie mit bq ls --transfer_config --transfer_location=location nach dem Ressourcennamen.

Beispiele:

Mit dem folgenden Befehl werden der Name, das Ziel-Dataset, das Aktualisierungsfenster und die Parameter für die Google Ads-Übertragung projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 aktualisiert:

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

Mit dem folgenden Befehl werden die Parameter und der Zeitplan für die geplante Abfrageübertragung projects/myproject/locations/us/transferConfigs/5678z567-5678-5z67-5yx9-56zy3c866vw9 aktualisiert:

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

Verwenden Sie die Methode projects.transferConfigs.patch und geben Sie den Ressourcennamen der Übertragung mithilfe des Parameters transferConfig.name an. Wenn Sie den Ressourcennamen der Übertragung nicht kennen, suchen Sie mit bq ls --transfer_config --transfer_location=location nach dem Ressourcennamen. Sie können auch die folgende Methode aufrufen und die Projekt-ID mit dem Parameter parent angeben, um alle Übertragungen aufzulisten: projects.locations.transferConfigs.list.

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

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

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.

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}'")

Backfill- und Aktualisierungsausführungen einrichten

Aktualisieren

Für diese Übertragungstypen sind keine Backfills verfügbar. Sie können jedoch eine Aktualisierungsausführung einrichten.

Backfill

Daten-Backfills können Sie jederzeit manuell initiieren. Zusätzlich zu den Quelllimits unterstützt BigQuery Data Transfer Service Zeiträume von maximal 180 Tagen pro Backfill-Anfrage. Gleichzeitige Backfill-Anfragen werden nicht unterstützt.

Informationen darüber, wie viele Daten für Backfills verfügbar sind, finden Sie in der Dokumentation zu Ihrer Datenquelle:

  • Amazon S3
  • Campaign Manager
  • Cloud Storage
  • Dataset-Kopie
  • Google Ad Manager
  • Google Ads (ehemals AdWords)
    • Wenn Sie einen Backfill für Google Ads einrichten, werden einmal täglich Snapshots von Match-Tables erstellt und in der Partition für das letzte Ausführungsdatum gespeichert. Bei der Planung eines Backfills werden die Match-Table-Snapshots für die folgenden Tabellen NICHT aktualisiert:
      • Ad
      • AdGroup
      • Altersbereich
      • Zielgruppe
      • BidGoal
      • Budget
      • Kampagne
      • Kriterien
      • Kunde
      • Geschlecht
      • Keyword
      • LocationBasedCampaignCriterion
      • Elternstatus
      • Placement
      • Video
  • Google Ads (Vorschau)
  • Google Merchant Center
  • Google Play
  • Geplante Abfragen
  • Search Ads 360
    • Wenn Sie einen Backfill für Search Ads 360 einrichten, werden einmal täglich Snapshots von Match-Tables erstellt und in der Partition für das letzte Ausführungsdatum gespeichert. Bei der Planung eines Backfills werden die Match-Table-Snapshots für die folgenden Tabellen NICHT aktualisiert:
      • Account
      • Ad
      • Advertiser
      • AdGroup
      • AdGroupTarget
      • BidStrategy
      • Campaign
      • CampaignTarget
      • FeedItem
      • FloodlightActivity
      • Keyword
      • NegativeAdGroupKeyword
      • NegativeAdGroupTarget
      • NegativeCampaignKeyword
      • NegativeCampaignTarget
      • ProductAdvertised
      • ProductGroup
      • ProductLeadAndCrossSellFloodlightStats
      • Video
      • Placement
      • Video
  • YouTube-Kanal
  • YouTube-Rechteinhaber
  • Teradata
  • Amazon Redshift

Für Übertragungen in Cloud Storage sind keine Backfills verfügbar. Sie können jedoch eine Aktualisierungsausführung einer Cloud Storage-Übertragung einrichten.

Erforderliche Berechtigungen

Sie benötigen Berechtigungen des Typs bigquery.transfers.update, um einen Backfill zu planen. Die vordefinierte IAM-Rolle bigquery.admin enthält Berechtigungen vom Typ bigquery.transfers.update.

Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie in der Zugriffssteuerung.

Planen Sie einen Backfill.

So planen Sie ein Backfill:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.

    Zur Seite „BigQuery“

  2. Klicken Sie auf Übertragungen.

  3. Klicken Sie auf der Seite Übertragungen auf eine geeignete Übertragung in der Liste.

  4. Klicken Sie auf das Menü Mehr und wählen Sie Backfill planen aus.

  5. Wählen Sie im Dialogfeld Backfill planen das Startdatum und das Enddatum aus.

    Grafik: Aktualisierungstermine festlegen

bq

Geben Sie den Befehl bq mk mit dem Flag --transfer_run ein und legen Sie --start_time und --end_time fest.

bq mk \
--transfer_run \
--start_time='start_time' \
--end_time='end_time' \
resource_name

Wobei:

  • start_time und end_time sind Zeitstempel, die mit Z enden oder einen gültigen Zeitzonen-Offset enthalten. Beispiel:

    • 2017-08-19T12:11:35.00Z
    • 2017-05-25T00:00:00+00:00
  • resource_name ist der Ressourcenname der Übertragung (auch als Übertragungskonfiguration bezeichnet). Wenn Sie den Ressourcennamen der Übertragung nicht kennen, suchen Sie mit bq ls --transfer_config --transfer_location=location nach dem Ressourcennamen.

Beispiele:

Geben Sie den folgenden Befehl ein, um einen Backfill für die Übertragungskonfiguration projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 zu planen.

bq mk \
--transfer_run \
--start_time 2017-05-25T00:00:00Z \
--end_time 2017-05-25T00:00:00Z \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

Verwenden Sie die Methode projects.locations.transferConfigs.startManualRuns und geben Sie die Übertragungskonfigurationsressource mithilfe des Parameters parent an.

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ScheduleTransferRunsRequest;
import com.google.cloud.bigquery.datatransfer.v1.ScheduleTransferRunsResponse;
import com.google.protobuf.Timestamp;
import java.io.IOException;
import org.threeten.bp.Clock;
import org.threeten.bp.Instant;
import org.threeten.bp.temporal.ChronoUnit;

// Sample to run schedule back fill for transfer config
public class ScheduleBackFill {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String configId = "MY_CONFIG_ID";
    Clock clock = Clock.systemDefaultZone();
    Instant instant = clock.instant();
    Timestamp startTime =
        Timestamp.newBuilder()
            .setSeconds(instant.minus(5, ChronoUnit.DAYS).getEpochSecond())
            .setNanos(instant.minus(5, ChronoUnit.DAYS).getNano())
            .build();
    Timestamp endTime =
        Timestamp.newBuilder()
            .setSeconds(instant.minus(2, ChronoUnit.DAYS).getEpochSecond())
            .setNanos(instant.minus(2, ChronoUnit.DAYS).getNano())
            .build();
    scheduleBackFill(configId, startTime, endTime);
  }

  public static void scheduleBackFill(String configId, Timestamp startTime, Timestamp endTime)
      throws IOException {
    try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
      ScheduleTransferRunsRequest request =
          ScheduleTransferRunsRequest.newBuilder()
              .setParent(configId)
              .setStartTime(startTime)
              .setEndTime(endTime)
              .build();
      ScheduleTransferRunsResponse response = client.scheduleTransferRuns(request);
      System.out.println("Schedule backfill run successfully :" + response.getRunsCount());
    } catch (ApiException ex) {
      System.out.print("Schedule backfill was not run." + ex.toString());
    }
  }
}

Python

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.

import datetime

from google.cloud import bigquery_datatransfer

transfer_client = bigquery_datatransfer.DataTransferServiceClient()

transfer_config_name = "projects/1234/locations/us/transferConfigs/abcd"
now = datetime.datetime.now(datetime.timezone.utc)
start_time = now - datetime.timedelta(days=5)
end_time = now - datetime.timedelta(days=2)

# Some data sources, such as scheduled_query only support daily run.
# Truncate start_time and end_time to midnight time (00:00AM UTC).
start_time = datetime.datetime(
    start_time.year, start_time.month, start_time.day, tzinfo=datetime.timezone.utc
)
end_time = datetime.datetime(
    end_time.year, end_time.month, end_time.day, tzinfo=datetime.timezone.utc
)

response = transfer_client.schedule_transfer_runs(
    parent=transfer_config_name,
    start_time=start_time,
    end_time=end_time,
)

print("Started transfer runs:")
for run in response.runs:
    print(f"backfill: {run.run_time} run: {run.name}")

Anmeldedaten aktualisieren

Bei einer Übertragung werden die Anmeldedaten des Nutzers, der sie erstellt hat, verwendet. Wenn Sie den einer Übertragung zugeordneten Nutzer ändern müssen, können Sie die Anmeldedaten der Übertragung aktualisieren. Dies ist hilfreich, wenn der Nutzer, der die Übertragung erstellt hat, der Organisation nicht mehr angehört.

Erforderliche Berechtigungen

Sie benötigen Berechtigungen des Typs bigquery.transfers.update, um Anmeldedaten zu aktualisieren. Die vordefinierte IAM-Rolle bigquery.admin enthält Berechtigungen vom Typ bigquery.transfers.update.

Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie in der Zugriffssteuerung.

Anmeldedaten einer Übertragung aktualisieren

So aktualisieren Sie die Anmeldedaten für eine Übertragung:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.

    Zur Seite „BigQuery“

  2. Klicken Sie auf Übertragungen.

  3. Klicken Sie auf der Seite Übertragungen auf eine geeignete Übertragung in der Liste.

  4. Klicken Sie auf das Menü Mehr und wählen Sie Refresh credentials aus.

  5. Melden Sie sich in Ihrem Google-Konto an und klicken Sie auf Zulassen, um BigQuery Data Transfer Service die Berechtigung zum Ansehen Ihrer Berichtsdaten und zum Aufrufen und Verwalten der Daten in BigQuery zu erteilen.

bq

Geben Sie den Befehl bq update ein, fügen Sie den Ressourcennamen der Übertragungskonfiguration mit dem Flag --transfer_config hinzu und geben Sie das Flag --update_credentials an.

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

Wobei:

  • boolean ist ein boolescher Wert, mit dem angegeben wird, ob die Anmeldedaten für die Übertragungskonfiguration aktualisiert werden sollen.
  • resource_name ist der Ressourcenname der Übertragung (auch als Übertragungskonfiguration bezeichnet). Wenn Sie den Ressourcennamen der Übertragung nicht kennen, suchen Sie mit bq ls --transfer_config --transfer_location=location nach dem Ressourcennamen.

Beispiele:

Geben Sie den folgenden Befehl ein, um die Anmeldedaten für die Google Ads-Übertragung projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 zu aktualisieren.

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

API

Verwenden Sie die Methode projects.transferConfigs.patch und geben Sie die Parameter authorizationCode und updateMask an.

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

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

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.

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

Übertragung deaktivieren

Wenn Sie eine Übertragung deaktivieren, wird dem Übertragungsnamen disabled hinzugefügt. Sobald die Übertragung deaktiviert ist, werden keine neuen Übertragungsausführungen geplant und keine neuen Backfills zugelassen. Alle laufenden Übertragungen werden abgeschlossen.

Bei der Deaktivierung einer Übertragung werden Daten, die bereits in BigQuery übertragen wurden, nicht entfernt. Für zuvor übertragene Daten werden die standardmäßigen Speicherkosten für BigQuery berechnet, bis Sie das Dataset löschen oder die Tabellen löschen.

Erforderliche Berechtigungen

Sie benötigen Berechtigungen des Typs bigquery.transfers.update, um eine Übertragung zu deaktivieren. Die vordefinierte IAM-Rolle bigquery.admin enthält Berechtigungen vom Typ bigquery.transfers.update.

Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie in der Zugriffssteuerung.

Übertragung deaktivieren

So deaktivieren Sie eine Übertragung:

Console

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.

    BigQuery aufrufen

  2. Klicken Sie auf Übertragungen.

  3. Klicken Sie auf der Seite Übertragungen in der Liste auf die Übertragung, die Sie deaktivieren möchten.

  4. Klicken Sie auf Deaktivieren. Klicken Sie auf Aktivieren, um die Übertragung wieder zu aktivieren.

bq

Das Deaktivieren einer Übertragung wird von der Befehlszeile nicht unterstützt.

API

Verwenden Sie die Methode projects.locations.transferConfigs.patch und setzen Sie in der Ressource projects.locations.transferConfig die Option disabled auf true.

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

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 disable transfer config.
public class DisableTransferConfig {

  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).setDisabled(true).build();
    FieldMask updateMask = FieldMaskUtil.fromString("disabled");
    disableTransferConfig(transferConfig, updateMask);
  }

  public static void disableTransferConfig(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 disabled successfully :" + updateConfig.getDisplayName());
    } catch (ApiException ex) {
      System.out.print("Transfer config was not disabled." + ex.toString());
    }
  }
}

So aktivieren Sie die Übertragung wieder:

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Java-Einrichtungsanleitung in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

/*
 * Copyright 2020 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.example.bigquerydatatransfer;

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 disable transfer config.
public class DisableTransferConfig {

  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).setDisabled(true).build();
    FieldMask updateMask = FieldMaskUtil.fromString("disabled");
    disableTransferConfig(transferConfig, updateMask);
  }

  public static void disableTransferConfig(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 disabled successfully :" + updateConfig.getDisplayName());
    } catch (ApiException ex) {
      System.out.print("Transfer config was not disabled." + ex.toString());
    }
  }
}

Übertragung löschen

Wenn eine Übertragung gelöscht wird, werden keine neuen Übertragungsausführungen geplant. Laufende Übertragungen werden beendet.

Beim Löschen einer Übertragung werden Daten, die bereits in BigQuery übertragen wurden, nicht entfernt. Für zuvor übertragene Daten werden die standardmäßigen Speicherkosten für BigQuery berechnet, bis Sie das Dataset löschen oder die Tabellen löschen.

Erforderliche Berechtigungen

Sie benötigen Berechtigungen des Typs bigquery.transfers.update, um eine Übertragung zu löschen. Die vordefinierte IAM-Rolle bigquery.admin enthält Berechtigungen vom Typ bigquery.transfers.update.

Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie in der Zugriffssteuerung.

Übertragung löschen

So löschen Sie Ihre Übertragung:

Console

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.

    BigQuery aufrufen

  2. Klicken Sie auf Übertragungen.

  3. Klicken Sie auf der Seite Übertragungen in der Liste auf die Übertragung, die Sie löschen möchten.

  4. Klicken Sie auf Löschen. Aus Sicherheitsgründen müssen Sie das Wort „delete“ in ein Feld eingeben, um Ihre Absicht zu bestätigen.

bq

Geben Sie den Befehl bq rm ein und fügen Sie den Ressourcennamen der Übertragungskonfiguration hinzu. Mit dem Flag -f können Sie eine Übertragungskonfiguration ohne Bestätigung löschen.

bq rm \
-f \
--transfer_config \
resource_name

Wobei:

  • resource_name ist der Ressourcenname der Übertragung (auch als Übertragungskonfiguration bezeichnet). Wenn Sie den Ressourcennamen der Übertragung nicht kennen, führen Sie den Befehl bq ls --transfer_config --transfer_location=location aus, um alle Übertragungen aufzulisten.

Geben Sie beispielsweise den folgenden Befehl ein, um die Übertragungskonfiguration projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 zu löschen.

bq rm \
--transfer_config \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

Verwenden Sie die Methode projects.locations.transferConfigs.delete und geben Sie die zu löschende Ressource mithilfe des Parameters name an.

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

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

// Sample to delete a transfer config
public class DeleteTransferConfig {

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

  public static void deleteTransferConfig(String configId) throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      DeleteTransferConfigRequest request =
          DeleteTransferConfigRequest.newBuilder().setName(configId).build();
      dataTransferServiceClient.deleteTransferConfig(request);
      System.out.println("Transfer config deleted successfully");
    } catch (ApiException ex) {
      System.out.println("Transfer config was not deleted." + ex.toString());
    }
  }
}

Python

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.

import google.api_core.exceptions
from google.cloud import bigquery_datatransfer

transfer_client = bigquery_datatransfer.DataTransferServiceClient()

transfer_config_name = "projects/1234/locations/us/transferConfigs/abcd"
try:
    transfer_client.delete_transfer_config(name=transfer_config_name)
except google.api_core.exceptions.NotFound:
    print("Transfer config not found.")
else:
    print(f"Deleted transfer config: {transfer_config_name}")

Logging und Monitoring

BigQuery Data Transfer Service exportiert Logs und Messwerte nach Cloud Logging und Cloud Monitoring, die Beobachtbarkeit für Ihre Übertragungen ermöglichen. Weitere Informationen zum Logging und Monitoring von BigQuery Data Transfer Service finden Sie unter Audit-Logging, Cloud Logging und Cloud Monitoring.