Fehlerbehebung für Dataform

In diesem Dokument erfahren Sie, wie Sie Probleme mit Dataform beheben.

Zugriff auf BigQuery verweigert

Der folgende Fehler tritt auf, wenn Sie eine Workflowauslösung auslösen, bevor Sie Dataform Zugriff auf BigQuery gewähren:

Access Denied: Project PROJECT_ID: User does not have bigquery.jobs.create permission in project PROJECT_ID.

Um diesen Fehler zu beheben, gewähren Sie Dataform Zugriff auf BigQuery.

Zugriffstoken für ein Remote-Repository wird abgelehnt

Der folgende Fehler tritt auf, wenn Ihr Authentifizierungstoken für ein verbundenes Repositorium eines Drittanbieters keinen Zugriff auf dieses Repositorium hat:

The access token for remote repository REPOSITORY_NAME was rejected

Prüfen Sie die erforderlichen Berechtigungen bei Ihrem Git-Anbieter und aktualisieren Sie das Secret Manager-Authentifizierungstoken entsprechend, um diesen Fehler zu beheben. Weitere Informationen zur Authentifizierung von Drittanbieter-Git-Repositories in Dataform finden Sie unter Mit einem Drittanbieter-Git-Repository verbinden.

BigQuery-Kontingent überschritten

Der folgende Fehler tritt auf, wenn die Anzahl der API-Anfragen, die Dataform an BigQuery sendet, das BigQuery-Kontingent überschreitet:

Quota exceeded: Your user_method exceeded quota for concurrent api requests
per user per method.

Um diesen Fehler zu beheben, können Sie die Anzahl der parallelen Abfragen auf folgende Weise auf weniger als 250 reduzieren:

Eine Anleitung zum Beheben dieses Fehlers in BigQuery finden Sie unter Fehlerbehebung bei Kontingent- und Limits-Fehlern.

Das Limit für die BigQuery-Abfrage-Parallelität wurde überschritten

Der folgende Fehler tritt auf, wenn die Anzahl der gleichzeitigen Abfragen, die in BigQuery ausgeführt werden, das Limit für die BigQuery-Abfrageparallelität überschreitet:

Exceeded rate limits: too many concurrent queries for this project_and_region

Um diesen Fehler zu beheben, können Sie die Anzahl der parallelen Abfragen auf folgende Weise auf weniger als 250 reduzieren:

Eine Anleitung zum Beheben dieses Fehlers in BigQuery finden Sie unter Fehlerbehebung bei Kontingent- und Limits-Fehlern.

Fehler bei der BigQuery-Workflowausführung

Die folgenden Fehler treten bei der Ausführung eines SQL-Workflows in BigQuery auf:

Informationen zum Beheben dieser Fehler finden Sie unter BigQuery-Fehlermeldungen.

In Konflikt stehende includeDependentAssertions-Properties

Der folgende Fehler tritt während der Kompilierung auf, wenn der Parameter includeDependentAssertions für dieselbe Aktion in einer Datei mit unterschiedlichen Werten festgelegt ist:

Conflicting "includeDependentAssertions" properties are not allowed. Dependency
dependencyName has different values set for this property.

Bearbeiten Sie die Datei und entfernen Sie in Konflikt stehende Wiederholungen des Parameters includeDependentAssertions, um diesen Fehler zu beheben.

Weitere Informationen zum Festlegen von Behauptungen als Abhängigkeiten mit dem Parameter includeDependentAssertions finden Sie unter Behauptungen einer ausgewählten Aktion als Abhängigkeiten festlegen.

Kompilierung fehlgeschlagen

Die folgenden Fehler treten während der Kompilierung aufgrund der Größe oder Anzahl der kompilierten Abfragen auf:

  • Compilation timed out. Reduce the complexity of your project to ensure it can compile within limits.
  • Compilation exceeded its allowed heap memory limits. Reduce the complexity of your project to ensure it can compile within limits.
  • Compilation exceeded its allowed ArrayBuffer or string memory limits. Reduce the complexity of your project to ensure it can compile within limits.

So beheben Sie diese Fehler:

  1. Aktualisieren Sie den Dataform-Kern auf die neueste Version.
  2. Prüfen Sie Ihren SQL-Workflow, um Ineffizienzen zu identifizieren und zu reduzieren.
  3. Verringern Sie die Größe der SQL-Abfragen.
  4. Reduzieren Sie die Anzahl der JavaScript-Vorgänge im Arbeitsspeicher, z. B.:

    config { config {type: "table" }}
    js {
        const tooBig = new Uint8Array(110_000_000);
    }
    SELECT ...
    
  5. Repository aufteilen

Weitere Informationen zu den Limits für die Ressourcen zur Zusammenstellung von Dataform-Objekten finden Sie unter Kontingente und Limits.

@dataform/core Abhängigkeitsfehler

Die folgenden Fehler treten während der Kompilierung auf, wenn die dataform-core-Abhängigkeit in package.json veraltet ist:

Failed to resolve @dataform/core
@dataform/core version should be X.X.X or newer

Die Abhängigkeit @dataform/core ist in package.json erforderlich. Wenn Sie den ersten Arbeitsbereich in Ihrem Repository initialisieren, wird package.json in Dataform automatisch mit der aktuellen Version von @dataform/core ausgefüllt. Sie müssen @dataform/core auf die neueste Version aktualisieren, sobald diese verfügbar ist.

Aktualisieren Sie @dataform/core auf die aktuellste Version, um diese Fehler zu beheben.

dataform.json konnte nicht aufgelöst werden

Der folgende Fehler tritt auf, wenn Sie einen Dataform-Arbeitsbereich initialisieren, aber bei der Initialisierung nicht alle Pakete installiert werden:

Uncaught Error: Failed to resolve dataform.json

Öffnen Sie in Ihrem Arbeitsbereich package.json und klicken Sie auf Pakete installieren, um diesen Fehler zu beheben.

workflow_settings.yaml konnte nicht aufgelöst werden

Der folgende Fehler tritt auf, wenn Sie einen Dataform-Arbeitsbereich initialisieren, aber bei der Initialisierung nicht alle Pakete installiert werden:

Uncaught Error: Failed to resolve workflow_settings.yaml

Öffnen Sie in Ihrem Arbeitsbereich workflow_settings.yaml und klicken Sie auf Pakete installieren, um diesen Fehler zu beheben.

git+-Paketziele werden nicht unterstützt

Der folgende Fehler tritt auf, wenn Sie in package.json Pakete mit Zielen definieren, die mit git+ beginnen:

'git+' prefixed package targets are not currently supported. However,
in most cases they can be used via a '.tar.gz' suffixed target instead.

Paketziele mit dem Präfix git+ werden von Dataform nicht unterstützt.

Um diesen Fehler zu beheben, generieren Sie eine tar.gz-URL für das Paket und aktualisieren Sie das Paketziel in package.json. Weitere Informationen zum Installieren von Paketen in Dataform finden Sie unter Paket installieren.

Zeitüberschreitung bei der Paketinstallation

Der folgende Fehler tritt auf, wenn die Größe der in package.json definierten Pakete die maximale Größe von NPM-Abhängigkeiten überschreitet:

API request error: Package installation timed out

Entfernen Sie redundante Pakete aus package.json, um diesen Fehler zu beheben. Achten Sie darauf, dass die package.json-Datei keine @dataform/cli enthält und dass die Gesamtgröße der definierten NPM-Abhängigkeiten 200 MB nicht überschreitet.

Wenn Ihre Release-Konfigurationen auf Git-Commits verweisen, müssen die package.json-Dateien an ihren Zielen gültig sein.

Private Paketregistrierung kann nicht erreicht werden

Der folgende Fehler tritt auf, wenn die Dataform-Authentifizierung für ein privates Paket abläuft:

Permission denied when fetching one or more npm packages. Please verify that
private registry authentication details are valid for each npm registry

Prüfen Sie, ob die Authentifizierungsdetails für die private Registry für jede NPM-Registry gültig sind, um diesen Fehler zu beheben. Weitere Informationen finden Sie unter Privates Paket authentifizieren.

Remote-Repository nicht erreichbar

Der folgende Fehler tritt aufgrund von Instabilitäten in Git oder wenn ein Zweigname im verbundenen Git-Repository eines Drittanbieters ein Zeichen enthält, das nicht ASCII oder Englisch ist:

Remote repository REPOSITORY_NAME could not be reached.

Prüfen Sie zur Behebung dieses Fehlers die Branch-Namen im verbundenen Repository des Drittanbieters. Wenn der Name eines Branches ein Zeichen enthält, das nicht dem ASCII-Zeichensatz angehört oder nicht auf Englisch ist, löschen Sie den Branch.

Remote-Repository nicht erreichbar: generic::invalid_argument

Der folgende Fehler wird auf der Seite Details zur Release-Konfiguration angezeigt, wenn bei einer geplanten Version gelegentlich eine langsame, fehlerhafte oder unterbrochene GitHub-, GitLab- oder Bitbucket-Verbindung auftritt:

generic::invalid_argument: Remote repository 'REMOTE_REPOSITORY_URL' could not be reached.

Sie müssen nichts unternehmen. Sofern Probleme mit GitHub, GitLab oder Bitbucket Cloud nicht andauern, können die nachfolgenden geplanten Releases erfolgreich sein.

Secret für ein Remote-Repository kann nicht erreicht werden

Der folgende Fehler tritt auf, wenn Ihr Dataform-Dienstkonto nicht auf Ihr Secret Manager-Secret für ein verbundenes Repository eines Drittanbieters zugreifen kann:

Dataform's service account is unable to reach the configured secret.
Make sure the secret exists and is shared with your Dataform service account:
SERVICE_ACCOUNT_ID.

So beheben Sie diesen Fehler:

  • Prüfen Sie, ob Ihr Dataform-Dienstkonto Zugriff auf das Secret hat.
  • Schließen Sie das Geheimnis aus Ihrem VPC-SC-Dienstperimeter aus. VPC-SC wird von Dataform derzeit nicht unterstützt.

Unbekanntes Argument: „tags“

Der folgende Fehler tritt auf, wenn Ihre Version der Dataform CLI das Argument tags nicht erkennt:

Unknown argument: tags

So beheben Sie diesen Fehler:

  • Aktualisieren Sie die Version der Befehlszeile auf 3.0.0 oder höher. Testen Sie neue Paketversionen immer in einer Nicht-Produktionsumgebung, bevor Sie sie in Ihrer Produktionsumgebung bereitstellen.
  • Verwenden Sie immer die neueste verfügbare Version des Dataform-Kernpakets.
  • Geben Sie die Paketversion explizit in package.json an, z. B. 3.0.0. Verwenden Sie keine anderen dependencies-Optionen von package.json, z. B. >version.