Fehlerbehebung bei Übertragungskonfigurationen

Dieses Dokument soll Ihnen helfen, die häufigsten Fehler beim Einrichten einer Übertragung mit BigQuery Data Transfer Service zu beheben. Es werden jedoch nicht alle möglichen Fehlermeldungen oder Probleme darin behandelt.

Wenn Probleme auftreten, die in diesem Dokument nicht behandelt werden, können Sie Support anfordern.

Bevor Sie sich an Cloud Customer Care wenden, erfassen Sie die Konfiguration der Übertragung und die Details der Übertragungsausführung. Informationen zum Abrufen dieser Details finden Sie unter Übertragungsdetails abrufen und Details zur Übertragungsausführung und Logmeldungen aufrufen.

Fehler untersuchen

Wenn die erste Übertragung fehlschlägt, können Sie die Details im Ausführungsverlauf prüfen. Im Ausführungsverlauf aufgeführte Fehler können Ihnen dabei helfen, mithilfe dieses Dokuments eine geeignete Lösung zu finden.

Sie können Fehlermeldungen für einen bestimmten Übertragungsjob auch mit dem Log-Explorer aufrufen. Der folgende Logs Explorer-Filter gibt Informationen zu einem bestimmten Job für die Übertragungskonfiguration sowie alle Fehlermeldungen zurück:

resource.type="bigquery_dts_config"
labels.run_id="RUN_ID"
resource.labels.config_id="CONFIG_ID"

Ersetzen Sie dabei Folgendes:

  • RUN_ID: die ID-Nummer eines bestimmten Joblaufs
  • CONFIG_ID: Die ID-Nummer eines Jobs für die Übertragungskonfiguration.

Bevor Sie sich an den Kundensupport wenden, notieren Sie alle wichtigen Informationen aus dem Ausführungsverlauf oder Logs Explorer, einschließlich etwaiger Fehlermeldungen.

Wenn Sie ereignisgesteuerte Übertragungen verwenden, kann es sein, dass die Konfiguration für die ereignisgesteuerte Übertragung keinen Übertragungslauf auslöst. Fehlermeldungen werden oben auf der Seite Ausführungsverlauf oder Konfiguration angezeigt.

Allgemeine Probleme

Prüfen Sie zum Diagnostizieren allgemeiner Übertragungsfehler Folgendes:

  • Sie haben auf der Dokumentationsseite für den Übertragungstyp alle Schritte des Abschnitts "Vorbereitung" ausgeführt.
  • Die Attribute der Übertragungskonfiguration sind korrekt.
  • Das für die Übertragung verwendete Nutzerkonto hat Zugriff auf die zugrunde liegenden Ressourcen.

Im Folgenden sind Lösungen für gängige Probleme aufgeführt. Dabei wird vorausgesetzt, dass die Übertragungskonfiguration korrekt ist und die erforderlichen Berechtigungen erteilt wurden.

Fehler: An unexpected issue was encountered. If this issue persists, please contact customer support.
Lösung: Dieser Fehler weist in der Regel auf einen vorübergehenden Ausfall oder ein Problem in BigQuery hin. Das Problem sollte innerhalb der nächsten 2 Stunden behoben sein. Wenn das Problem weiterhin besteht, fordern Sie Support an.
Fehler: INTERNAL: An internal error occurred and the request could not be completed. This is usually caused by a transient issue...
Lösung:Dieser Fehler weist in der Regel auf ein vorübergehendes internes Problem hin. Wenn dieser Fehler auftritt, können Sie warten, bis er bei der nächsten geplanten Ausführung behoben wird, oder einen Backfill für die betroffenen Datumsbereiche manuell auslösen. Wenn das Problem weiterhin besteht, fordern Sie Support an.
Fehler: Quota Exceeded.

Lösung: Übertragungen unterliegen den BigQuery-Kontingenten für Ladejobs. Wenn Sie Ihr Kontingent erhöhen müssen, wenden Sie sich an Ihren Cloud de Confiance by S3NS Vertriebsmitarbeiter. Weitere Informationen finden Sie unter Kontingente und Limits.

Wenn Sie Cloud Billing-Exporte in BigQuery laden, kann der Fehler Quota Exceeded auftreten. Sowohl die Cloud-Abrechnungsexporttabellen als auch die Ziel-BigQuery-Tabellen, die vom BigQuery Data Transfer Service erstellt werden, sind partitioniert. Wenn Sie beim Einrichten solcher BigQuery Data Transfer Service-Jobs die Option Überschreiben auswählen, können je nach exportierter Datenmenge Kontingentfehler auftreten. Informationen zur Fehlerbehebung bei Kontingenten finden Sie unter Fehler bei Kontingenten und Limits beheben.

Wenn der Fehler durch BigQuery Data Transfer Service-Jobs für Cloud Billing-Exporte verursacht wird, beachten Sie, dass die einzelnen Cloud Billing-Exporttabellen partitioniert sind. Das gilt auch für die Zieltabelle, die vom BigQuery Data Transfer Service erstellt wird. Wenn Sie beim Einrichten solcher Datenübertragungsjobs die Option Überschreiben auswählen, führt dies je nach Alter der Abrechnungskonten zu DML-Kontingentfehlern. Informationen zur Fehlerbehebung bei Kontingenten finden Sie unter Fehler bei Kontingenten und Limits beheben.

Fehler: The caller does not have permission.

Lösung:Das in der Cloud de Confiance -Konsole angemeldete Konto muss mit dem Konto übereinstimmen, das Sie beim Erstellen der Übertragung für BigQuery Data Transfer Service ausgewählt haben.

  • In der Cloud de Confiance Console angemeldetes Konto:

    Screenshot: Berechtigung zur Fehlerbehebung

  • Wählen Sie ein Konto aus, um mit BigQuery Data Transfer Service fortzufahren:

    Screenshot: Berechtigung zur Fehlerbehebung

Fehler: Access Denied: ... Permission bigquery.tables.get denied on table ...

Lösung: Prüfen Sie, ob dem Dienst-Agent von BigQuery Data Transfer Service die Rolle bigquery.dataEditor für das Ziel-Dataset zugewiesen wurde. Diese Zuweisung wird beim Erstellen und Aktualisieren der Übertragung automatisch angewendet. Es ist jedoch möglich, dass die Zugriffsrichtlinie anschließend manuell geändert wurde. Informationen zum Gewähren der Berechtigung finden Sie unter Zugriff auf ein Dataset gewähren.

Fehler: region violates constraint constraints/gcp.resourceLocations on the resource projects/project_id

Lösung: Dieser Fehler tritt auf, wenn ein Nutzer versucht, eine Übertragungskonfiguration an einem eingeschränkten Standort zu erstellen, wie in der Organisationsrichtlinie zur Standortbeschränkung angegeben. Sie können dieses Problem beheben, indem Sie die Organisationsrichtlinie ändern, um die Region zuzulassen. Sie können auch die Übertragungskonfiguration in ein Ziel-Dataset ändern, das sich in einer Region befindet, die nicht durch die Organisationsrichtlinie eingeschränkt ist.

Fehler: Please look into the errors[] collection for more details.

Lösung:Dieser Fehler kann auftreten, wenn eine Datenübertragung fehlschlägt. Weitere Informationen dazu, warum die Datenübertragung fehlgeschlagen ist, finden Sie in Ihren Logs in Cloud Logging. Sie können Logs für einen bestimmten Lauf finden, indem Sie mit der Übertragung run_id suchen.

Fehler: Network Attachment with connected endpoints cannot be deleted.

Lösung:Dieser Fehler kann auftreten, wenn ein Nutzer versucht, seine Netzwerkverknüpfungen kurz nach dem Löschen seiner Übertragung zu löschen. Das liegt daran, dass es nach dem Löschen einer Übertragung mehrere Tage dauern kann, bis alle mit der Übertragung verknüpften Ressourcen vollständig aus dem BigQuery Data Transfer Service entfernt werden. Dadurch kann verhindert werden, dass die Netzwerkverbindungen gelöscht werden. Warten Sie einige Tage, bevor Sie versuchen, die Netzwerkverknüpfungen zu löschen, um diesen Fehler zu beheben. Wenn Sie die Netzwerkanhänge früher löschen lassen möchten, wenden Sie sich an den Support.

Probleme mit Autorisierung und Berechtigungen

Im Folgenden sind einige gängige Berechtigungsfehler aufgeführt, die beim Übertragen von Daten aus verschiedenen Datenquellen auftreten können:

Fehler: BigQuery Data Transfer Service is not enabled for <project_id>
Fehler: BigQuery Data Transfer Service has not been used in project <project_id> before or it is disabled ...

Lösung:Prüfen Sie mit den folgenden Schritten, ob die Dienst-Agent-Rolle gewährt wurde:

  1. Rufen Sie in der Cloud de Confiance Console die Seite IAM & Verwaltung auf.

    Zu „IAM und Verwaltung“

  2. Klicken Sie auf das Kästchen Von S3NSbereitgestellte Rollenzuweisungen einschließen.

  3. Prüfen Sie, ob das Dienstkonto mit dem Namen service-<project_number>@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com angezeigt wird oder ihm die Rolle Dienst-Agent für BigQuery Data Transfer Service zugewiesen wurde.

    Prüfen, ob das Dienstkonto die Dienst-Agent-Rolle hat.

Wenn das Dienstkonto nicht angezeigt wird oder ihm nicht die Rolle „Dienst-Agent für BigQuery Data Transfer Service“ zugewiesen wurde, weisen Sie die vordefinierte Rolle in der Cloud de Confiance Konsole oder durch Ausführen des folgenden Google Cloud CLI-Befehls zu:

gcloud projects add-iam-policy-binding PROJECT_NUMBER \
--member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com \
--role roles/bigquerydatatransfer.serviceAgent

Ersetzen Sie PROJECT_NUMBER durch die Projektnummer, die diesem Dienstkonto zugeordnet ist.

Fehler: There was an error loading this table. Check that the table exists and that you have the correct permissions.

Lösung:

  1. Rufen Sie in der Cloud de Confiance Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie auf das in der Übertragung verwendete Zieldataset.

  3. Klicken Sie auf das Menü Freigabe und dann auf Berechtigungen.

  4. Maximieren Sie die Rolle BigQuery-Datenbearbeiter.

  5. Prüfen Sie, ob der Dienst-Agent für BigQuery Data Transfer Service dieser Rolle hinzugefügt wurde. Wenn nicht, weisen Sie dem Dienst-Agent für BigQuery Data Transfer Service die Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor) zu.

Prüfen Sie, ob die Rolle „BigQuery-Dateneditor“ hinzugefügt wurde.

Fehler: A permission denied error was encountered: PERMISSION_DENIED. Please ensure that the user account setting up the transfer config has the necessary permissions, and that the configuration settings are correct

Lösung:

  1. Rufen Sie in der Cloud de Confiance Console die Seite Datenübertragungen auf.

    Zu „Datenübertragungen“

  2. Klicken Sie auf die fehlgeschlagene Übertragung und wählen Sie den Tab Konfiguration aus.

  3. Prüfen Sie, ob der im Feld Nutzer aufgeführte Übertragungsinhaber alle erforderlichen Berechtigungen für die Datenquelle hat.

Wenn der Übertragungsinhaber nicht alle erforderlichen Berechtigungen hat, erteilen Sie die erforderlichen Berechtigungen, indem Sie seine Anmeldedaten aktualisieren. Sie können den Übertragungsinhaber auch auf einen anderen Nutzer mit den erforderlichen Berechtigungen umstellen.

Fehler: Authentication failure: User Id not found. Error code: INVALID_USERID

Lösung: Der Übertragungsinhaber hat eine ungültige Nutzer-ID. Ändern Sie den Übertragungsinhaber in einen anderen Nutzer. Dazu aktualisieren Sie seine Anmeldedaten. Wenn Sie ein Dienstkonto verwenden, sollten Sie auch prüfen, ob die Konten, mit denen die Datenübertragung ausgeführt wird, alle erforderlichen Berechtigungen zur Verwendung eines Dienstkontos haben.

Fehler: The user does not have permission

Lösung: Prüfen Sie, ob der Übertragungsinhaber ein Dienstkonto ist und dieser Dienst alle erforderlichen Berechtigungen hat. Eine weitere Möglichkeit besteht darin, dass das verwendete Dienstkonto in einem anderen Projekt als dem Projekt erstellt wurde, das für diese Übertragung verwendet wurde. Informationen zum Beheben von projektübergreifenden Berechtigungsproblemen finden Sie in den folgenden Ressourcen:

Fehler: HttpError 403 when requesting returned "The caller does not have permission"

googleapiclient.errors.HttpError: <HttpError 403 when requesting returned "The caller does not have permission". Details: "The caller does not have permission">

Dieser Fehler kann auftreten, wenn Sie versuchen, eine geplante Abfrage mit einem Dienstkonto einzurichten.

Lösung: Prüfen Sie, ob das Dienstkonto alle erforderlichen Berechtigungen zum Planen oder Ändern einer geplanten Abfrage hat. Achten Sie auch darauf, dass der Nutzer, der die geplante Abfrage einrichtet, Zugriff auf das Dienstkonto hat.

Wenn die erforderlichen Berechtigungen zugewiesen sind, der Fehler aber weiterhin auftritt, prüfen Sie, ob die Richtlinie Projektübergreifende Dienstkontonutzung deaktivieren standardmäßig für das Projekt erzwungen wird. Sie können die Richtlinie in der Cloud de Confiance Console prüfen. Rufen Sie dazu IAM und Verwaltung > Organisationsrichtlinien auf und suchen Sie nach der Richtlinie.

Prüfen, ob die Richtlinie „Projektübergreifende Dienstkontonutzung“ für ein Dienstkonto erzwungen wird

Wenn die Richtlinie Projektübergreifende Dienstkontonutzung deaktivieren erzwungen wird, können Sie die Richtlinie so deaktivieren:

  1. Ermitteln Sie die mit dem Projekt verknüpften Dienstkonten in der Cloud de Confiance Console, indem Sie zu IAM & Verwaltung > Dienstkonten wechseln. In dieser Ansicht werden alle Dienstkonten für das aktuelle Projekt angezeigt.
  2. Deaktivieren Sie die Richtlinie in dem Projekt, in dem sich die Dienstkonten befinden. Nutzen Sie dazu den folgenden Befehl. Zum Deaktivieren dieser Richtlinie muss der Nutzer ein Organisationsrichtlinien-Administrator sein. Nur der Organisationsadministrator kann einem Nutzer diese Rolle zuweisen.
gcloud resource-manager org-policies disable-enforce iam.disableCrossProjectServiceAccountUsage --project=[PROJECT-ID]

Probleme bei der ereignisgesteuerten Übertragungskonfiguration

Im Folgenden finden Sie typische Probleme beim Erstellen einer ereignisgesteuerten Übertragung.

Fehler: Data Transfer Service is not authorized to pull message from the provided Pub/Sub subscription.

Lösung:Prüfen Sie, ob dem Dienst-Agent von BigQuery Data Transfer Service die Rolle pubsub.subscriber zugewiesen wurde:

  1. Rufen Sie in der Cloud de Confiance Console die Seite Pub/Sub auf.

    Zu Pub/Sub

  2. Wählen Sie das Pub/Sub-Abo aus, das Sie bei der ereignisgesteuerten Übertragung verwendet haben.

  3. Wenn das Infofeld ausgeblendet ist, klicken Sie oben rechts auf Infofeld ansehen.

  4. Prüfen Sie auf dem Tab Permissions (Berechtigungen), ob dem Dienst-Agent von BigQuery Data Transfer Service die Rolle pubsub.subscriber zugewiesen wurde.

Prüfen Sie, ob der Dienst-Agent die Rolle „pubsub.subscriber“ für das Abo hat.

Wenn dem Dienst-Agent die Rolle pubsub.subscriber nicht zugewiesen ist. Klicken Sie auf Hauptkonto hinzufügen, um service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com die Rolle pubsub.subscriber zuzuweisen.

Fehler: Cloud Pub/Sub API has not been used in project PROJECT_NUMBER before or it is disabled.

Lösung:Prüfen Sie, ob die Cloud Pub/Sub API für Ihr Projekt aktiviert ist:

  1. Rufen Sie in der Cloud de Confiance Console die Seite APIs und Dienste auf.

    Rufen Sie "APIs & Dienste" auf.

  2. Klicken Sie auf APIs und Dienste aktivieren.

  3. Suchen Sie nach Cloud Pub/Sub API, wählen Sie das erste Ergebnis aus und klicken Sie auf Aktivieren.

Fehler: Data Transfer Service does not have required permission to use project quota of project PROJECT_NUMBER to access Pub/Sub.

Lösung:Prüfen Sie, ob dem Dienst-Agent von BigQuery Data Transfer Service die Rolle serviceusage.serviceUsageConsumer zugewiesen wurde:

  1. Rufen Sie in der Cloud de Confiance Console die Seite IAM & Verwaltung auf.

    Zu „IAM und Verwaltung“

  2. Klicken Sie auf das Kästchen Von S3NSbereitgestellte Rollenzuweisungen einschließen.

  3. Prüfen Sie, ob das Dienstkonto mit dem Namen service-<project_number>@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com angezeigt wird und ob ihm die Rolle Service Usage Consumer zugewiesen wurde.

    Prüfen Sie, ob das Dienstkonto die Rolle „serviceusage.serviceUsageConsumer“ hat.

Problem: Wenn Sie die ereignisgesteuerte Übertragung von Cloud Storage verwenden, wird nach dem Hochladen oder Aktualisieren von Dateien in einem Cloud Storage-Bucket kein Übertragungsvorgang ausgelöst.

Übertragungen werden nicht sofort nach dem Empfang eines Ereignisses ausgelöst. Es kann einige Minuten dauern, bis ein Übertragungsvorgang ausgelöst wird. Den Status der nächsten Übertragung können Sie im Feld Zieldatum für nächsten Lauf im Ausführungsverlauf prüfen. In diesem Feld wird die geplante Zeit für die nächste Ausführung angezeigt oder Warten auf Ereignisse, um nächste Ausführung zu planen, wenn keine Ereignisse empfangen wurden. Wenn Sie Dateien in Ihren Cloud Storage-Bucket hochgeladen oder aktualisiert haben, das Zieldatum für den nächsten Lauf aber nicht aktualisiert wurde und 10 bis 20 Minuten lang keine Läufe ausgelöst werden, finden Sie unten eine mögliche Lösung.

Lösung:Prüfen Sie, ob Ihr in der Übertragungskonfiguration angegebenes Pub/Sub-Abo Nachrichten empfangen kann, die durch Cloud Storage-Ereignisse veröffentlicht werden:

  1. Rufen Sie in der Cloud de Confiance Console die Seite Pub/Sub auf.

    Zu Pub/Sub

  2. Wählen Sie das Pub/Sub-Abo aus, das Sie bei der ereignisgesteuerten Übertragung verwendet haben.

  3. Sehen Sie auf dem Tab Messwerte im Diagramm „Alter der ältesten unbestätigten Nachricht“ nach, ob Nachrichten vorhanden sind.

Prüfen, ob Nachrichten gesendet werden

Wenn keine Nachrichten veröffentlicht werden, prüfen Sie, ob die Pub/Sub-Benachrichtigung für Cloud Storage richtig konfiguriert ist. Mit dem folgenden Google Cloud CLI-Befehl können Sie die Benachrichtigungskonfigurationen für Ihren Bucket prüfen:

gcloud storage buckets notifications list gs://BUCKET_NAME

Ersetzen Sie BUCKET_NAME durch den Namen des Buckets, den Sie für Benachrichtigungen verwenden. Informationen zum Konfigurieren einer Pub/Sub-Benachrichtigung für Cloud Storage finden Sie unter Pub/Sub-Benachrichtigungen für Cloud Storage konfigurieren.

Wenn Nachrichten vorhanden sind, prüfen Sie, ob dasselbe Pub/Sub-Abo in anderen ereignisbasierten Übertragungskonfigurationen verwendet wird. Dasselbe Pub/Sub-Abo kann nicht von mehreren ereignisgesteuerten Übertragungskonfigurationen wiederverwendet werden. Weitere Informationen zu ereignisgesteuerten Übertragungen finden Sie unter Ereignisgesteuerte Übertragungen.

Kontingentprobleme

Fehler: Quota exceeded: Your project exceeded quota for imports per project.
Lösung: Prüfen Sie, ob Sie nicht zu viele Übertragungen im Projekt geplant haben. Informationen zur Berechnung der Anzahl von Ladejobs, die durch eine Übertragung initiiert werden, finden Sie unter Kontingente und Limits.