In diesem Dokument wird beschrieben, wie Sie Probleme mit Dataform beheben.
Zugriff auf BigQuery verweigert
Der folgende Fehler tritt auf, wenn Sie einen Pipelineaufruf 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.
Gewähren Sie Dataform Zugriff auf BigQuery, um diesen Fehler zu beheben.
Zugriffstoken für ein Remote-Repository wird abgelehnt
Der folgende Fehler tritt auf, wenn Ihr Authentifizierungstoken für ein verbundenes Drittanbieter-Repository keinen Zugriff auf dieses Repository hat:
The access token for remote repository REPOSITORY_NAME was rejected
Prüfen Sie die erforderlichen Berechtigungen in Ihrem Git-Anbieter und aktualisieren Sie das Secret Manager-Authentifizierungstoken entsprechend, um diesen Fehler zu beheben. Weitere Informationen zur Authentifizierung von Git-Repositories von Drittanbietern in Dataform finden Sie unter Mit einem Git-Repository eines Drittanbieters 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, müssen Sie die Anzahl der parallelen Abfragen auf weniger als 250 reduzieren. Das können Sie auf folgende Weise tun:
- In Dataform können Sie Aktionen mit Tags kategorisieren und jeweils nur ausgewählte Tags ausführen.
- In Dataform Abhängigkeiten zwischen Aktionen einführen
- In Dataform können Sie die Ausführung von Aktionen auf verschiedeneGoogle Cloud -Projekte aufteilen.
Eine Anleitung zum Beheben dieses Fehlers in BigQuery finden Sie unter Fehlerbehebung bei Kontingent- und Limitfehlern.
Das Limit für die Anzahl gleichzeitiger BigQuery-Abfragen wurde überschritten
Der folgende Fehler tritt auf, wenn die Anzahl der gleichzeitigen Abfragen, die in BigQuery ausgeführt werden, das Limit für die Nebenläufigkeit von BigQuery-Abfragen überschreitet:
Exceeded rate limits: too many concurrent queries for this project_and_region
Um diesen Fehler zu beheben, müssen Sie die Anzahl der parallelen Abfragen auf weniger als 250 reduzieren. Das können Sie auf folgende Weise tun:
- In Dataform können Sie Aktionen mit Tags kategorisieren und jeweils nur ausgewählte Tags ausführen.
- In Dataform Abhängigkeiten zwischen Aktionen einführen
- In Dataform können Sie die Ausführung von Aktionen auf verschiedeneGoogle Cloud -Projekte aufteilen.
Eine Anleitung zum Beheben dieses Fehlers in BigQuery finden Sie unter Fehlerbehebung bei Kontingent- und Limitfehlern.
Fehler beim Aufrufen von BigQuery-Pipelines
Die folgenden Fehler treten bei der Ausführung eines Workflows in BigQuery auf:
- Fehler beim Aufrufen der Pipeline, die mit BigQuery-Fehlermeldungen beginnen.
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 mit unterschiedlichen Werten in einer Datei festgelegt wird:
Conflicting "includeDependentAssertions" properties are not allowed. Dependency
dependencyName has different values set for this property.
Bearbeiten Sie die Datei und entfernen Sie alle sich widersprechenden Wiederholungen des Parameters includeDependentAssertions
, um diesen Fehler zu beheben.
Weitere Informationen zur Verwendung des Parameters includeDependentAssertions
zum Festlegen von Zusicherungen als Abhängigkeiten finden Sie unter Zusicherungen einer ausgewählten Aktion als Abhängigkeiten festlegen.
Kompilierung schlägt fehl
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:
- Aktualisieren Sie Dataform Core auf die neueste Version.
- Untersuchen Sie Ihren Workflow, um Ineffizienzen zu erkennen und zu reduzieren.
- Größe von SQL-Abfragen reduzieren
Reduzieren Sie die Anzahl der JavaScript-Vorgänge im Arbeitsspeicher, z. B. so:
config { config {type: "table" }} js { const tooBig = new Uint8Array(110_000_000); } SELECT ...
Weitere Informationen zu Ressourcenlimits für die Dataform-Kompilierung 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 @dataform/core
-Abhängigkeit ist in package.json
erforderlich. Wenn Sie den ersten Arbeitsbereich in Ihrem Repository initialisieren, wird package.json
automatisch mit der aktuellen Version von @dataform/core
gefüllt. Sie müssen @dataform/core
auf die jeweils neueste Version aktualisieren.
Aktualisieren Sie @dataform/core
auf die neueste 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 beim Initialisierungsvorgang nicht alle Pakete installiert werden:
Uncaught Error: Failed to resolve dataform.json
Um diesen Fehler zu beheben, öffnen Sie in Ihrem Arbeitsbereich package.json
und klicken Sie auf Pakete installieren.
workflow_settings.yaml
konnte nicht aufgelöst werden
Der folgende Fehler tritt auf, wenn Sie einen Dataform-Arbeitsbereich initialisieren, aber beim Initialisierungsvorgang nicht alle Pakete installiert werden:
Uncaught Error: Failed to resolve workflow_settings.yaml
Um diesen Fehler zu beheben, öffnen Sie in Ihrem Arbeitsbereich workflow_settings.yaml
und klicken Sie auf Pakete installieren.
git+
-Paketziele werden nicht unterstützt
Der folgende Fehler tritt auf, wenn Sie Pakete in package.json
mit Zielen definieren, denen git+
vorangestellt ist:
'git+' prefixed package targets are not currently supported. However,
in most cases they can be used via a '.tar.gz' suffixed target instead.
Dataform unterstützt keine Paketziele, denen git+
vorangestellt ist.
Um diesen Fehler zu beheben, generieren Sie eine tar.gz
-URL des Pakets 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 Datei package.json
keine @dataform/cli
enthält und die Gesamtgröße der definierten NPM-Abhängigkeiten 200 MB nicht überschreitet.
Wenn in Ihren Release-Konfigurationen auf Git-Commits verwiesen wird, prüfen Sie, ob die package.json
-Dateien an den entsprechenden Zielen gültig sind.
Private Paket-Registry 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 der privaten Registry für jede NPM-Registry gültig sind, um diesen Fehler zu beheben. Weitere Informationen finden Sie unter Privates Paket authentifizieren.
Das Remote-Repository ist nicht erreichbar
Der folgende Fehler tritt aufgrund von Git-Instabilität oder auf, wenn die Verbindung zum Drittanbieter-Repository nicht richtig eingerichtet wurde:
Remote repository REPOSITORY_NAME could not be reached.
Prüfen Sie, ob alle Schritte unter Mit einem Drittanbieter-Git-Repository verbinden ausgeführt wurden, um diesen Fehler zu beheben. Prüfen Sie insbesondere, ob Ihr Git-Repository-Host über das öffentliche Internet erreichbar ist. Prüfen Sie außerdem, ob das Authentifizierungstoken oder der private Schlüssel korrekt ist und die erforderlichen Berechtigungen für den Zugriff auf das Repository hat.
Remote-Repository kann nicht erreicht werden: generic::invalid_argument
Der folgende Fehler tritt auf der Seite Details zur Releasekonfiguration auf, wenn bei einem geplanten Release gelegentlich eine langsame, instabile oder unterbrochene GitHub-, GitLab- oder Bitbucket-Verbindung auftritt:
generic::invalid_argument: Remote repository 'REMOTE_REPOSITORY_URL' could not be reached.
Sie müssen nichts weiter tun. Sofern Probleme mit GitHub, GitLab oder Bitbucket Cloud nicht weiterhin bestehen, 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 Drittanbieter-Repository 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 Secret aus Ihrem VPC-SC-Dienstperimeter aus. Dataform unterstützt VPC-SC derzeit nicht.
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 CLI auf
3.0.0
oder höher. Testen Sie neue Paketversionen immer in einer Nicht-Produktionsumgebung, bevor Sie sie in Ihrer Produktionsumgebung bereitstellen. - Als Best Practice sollten Sie immer die aktuelle verfügbare Version des Dataform-Kernpakets verwenden.
- Geben Sie die Paketversion explizit in
package.json
an, z. B.3.0.0
. Verwenden Sie keine anderendependencies
-Optionen vonpackage.json
, z. B.>version
.