Memecahkan masalah Dataform

Dokumen ini menunjukkan cara menyelesaikan masalah terkait Dataform.

Akses ke BigQuery ditolak

Error berikut terjadi saat Anda memicu pemanggilan alur kerja sebelum memberikan akses Dataform ke BigQuery:

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

Untuk mengatasi error ini, berikan akses Dataform ke BigQuery.

Token akses untuk repositori jarak jauh ditolak

Error berikut terjadi saat token autentikasi Anda untuk repositori pihak ketiga yang terhubung tidak memiliki akses ke repositori tersebut:

The access token for remote repository REPOSITORY_NAME was rejected

Untuk mengatasi error ini, periksa izin yang diperlukan di penyedia Git Anda dan perbarui token autentikasi Secret Manager yang sesuai. Untuk mengetahui informasi selengkapnya tentang mengautentikasi repositori Git pihak ketiga di Dataform, lihat Menghubungkan ke repositori Git pihak ketiga.

Kuota BigQuery terlampaui

Error berikut terjadi saat jumlah permintaan API yang dikirim Dataform ke BigQuery melebihi kuota BigQuery:

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

Untuk mengatasi error ini, kurangi jumlah kueri paralel menjadi kurang dari 250 dengan cara berikut:

Untuk mengetahui petunjuk cara mengatasi error ini di BigQuery, lihat Memecahkan masalah error kuota dan batas.

Batas konkurensi kueri BigQuery terlampaui

Error berikut terjadi saat jumlah kueri serentak yang dijalankan ke BigQuery melebihi batas serentak kueri BigQuery:

Exceeded rate limits: too many concurrent queries for this project_and_region

Untuk mengatasi error ini, kurangi jumlah kueri paralel menjadi kurang dari 250 dengan cara berikut:

Untuk mengetahui petunjuk cara mengatasi error ini di BigQuery, lihat Memecahkan masalah error kuota dan batas.

Error pemanggilan alur kerja BigQuery

Error berikut terjadi selama eksekusi alur kerja SQL ke BigQuery:

Untuk mengatasi error ini, lihat Pesan error BigQuery.

Properti includeDependentAssertions yang bertentangan

Error berikut terjadi selama kompilasi saat parameter includeDependentAssertions ditetapkan untuk tindakan yang sama dengan nilai yang berbeda dalam satu file:

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

Untuk mengatasi error ini, edit file dan hapus pengulangan parameter includeDependentAssertions yang bertentangan.

Untuk informasi selengkapnya tentang cara menggunakan parameter includeDependentAssertions untuk menetapkan pernyataan sebagai dependensi, lihat Menetapkan pernyataan tindakan yang dipilih sebagai dependensi.

Kompilasi gagal

Error berikut terjadi selama kompilasi karena ukuran atau jumlah kueri yang dikompilasi:

  • 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.

Untuk mengatasi error ini, ikuti langkah-langkah berikut:

  1. Update core Dataform ke versi terbaru.
  2. Periksa alur kerja SQL Anda untuk mengidentifikasi dan mengurangi inefisiensi.
  3. Mengurangi ukuran kueri SQL.
  4. Mengurangi jumlah operasi JavaScript dalam memori, misalnya:

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

Untuk mengetahui informasi selengkapnya tentang batas resource kompilasi Dataform, lihat Kuota dan batas.

@dataform/core error dependensi

Error berikut terjadi selama kompilasi jika dependensi dataform-core di package.json sudah tidak berlaku:

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

Dependensi @dataform/core diperlukan di package.json. Saat Anda melakukan inisialisasi ruang kerja pertama di repositori, Dataform akan otomatis mengisi package.json dengan versi @dataform/core saat ini. Anda perlu mengupdate @dataform/core ke versi terbaru saat versi tersebut dirilis.

Untuk mengatasi error ini, update @dataform/core ke versi terbaru.

Gagal me-resolve dataform.json

Error berikut terjadi saat Anda melakukan inisialisasi ruang kerja Dataform, tetapi proses inisialisasi gagal menginstal semua paket:

Uncaught Error: Failed to resolve dataform.json

Untuk mengatasi error ini, di ruang kerja Anda, buka package.json dan klik Install packages.

Gagal me-resolve workflow_settings.yaml

Error berikut terjadi saat Anda melakukan inisialisasi ruang kerja Dataform, tetapi proses inisialisasi gagal menginstal semua paket:

Uncaught Error: Failed to resolve workflow_settings.yaml

Untuk mengatasi error ini, di ruang kerja Anda, buka workflow_settings.yaml dan klik Instal paket.

Target paket git+ tidak didukung

Error berikut terjadi saat Anda menentukan paket di package.json dengan target yang diawali dengan git+:

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

Dataform tidak mendukung target paket yang diawali dengan git+.

Untuk mengatasi error ini, buat URL tar.gz paket dan perbarui target paket di package.json. Untuk informasi selengkapnya tentang cara menginstal paket di Dataform, lihat Menginstal paket di Dataform.

Waktu habis untuk penginstalan paket

Error berikut terjadi saat ukuran paket yang ditentukan di package.json melebihi ukuran maksimum dependensi NPM:

API request error: Package installation timed out

Untuk mengatasi error ini, hapus paket yang berlebihan dari package.json. Pastikan file package.json tidak berisi @dataform/cli, dan bahwa total ukuran dependensi NPM yang ditentukan tidak melebihi 200 Mb.

Jika konfigurasi rilis Anda mereferensikan commit Git, pastikan file package.json di targetnya valid.

Registry paket pribadi tidak dapat dijangkau

Error berikut terjadi saat masa berlaku autentikasi Dataform untuk paket pribadi berakhir:

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

Untuk mengatasi error ini, pastikan detail autentikasi registry pribadi valid untuk setiap registry NPM. Untuk mengetahui informasi selengkapnya, lihat Mengautentikasi paket pribadi di Dataform.

Repositori jarak jauh tidak dapat dijangkau

Error berikut terjadi karena ketidakstabilan Git atau saat nama cabang di repositori Git pihak ketiga yang terhubung berisi karakter non-ascii atau non-bahasa Inggris:

Remote repository REPOSITORY_NAME could not be reached.

Untuk mengatasi error ini, periksa nama cabang di repositori pihak ketiga yang terhubung. Jika nama cabang berisi karakter non-ASCII atau non-Inggris, hapus cabang tersebut.

Repositori jarak jauh tidak dapat dijangkau: generic::invalid_argument

Error berikut terjadi di halaman Detail konfigurasi rilis saat rilis terjadwal terkadang mengalami koneksi GitHub, GitLab, atau Bitbucket yang lambat, tidak stabil, atau terputus:

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

Anda tidak perlu melakukan tindakan apa pun. Kecuali jika masalah GitHub, GitLab, atau Bitbucket Cloud terus berlanjut, rilis terjadwal berikutnya dapat berhasil.

Secret untuk repositori jarak jauh tidak dapat dijangkau

Error berikut terjadi saat akun layanan Dataform Anda tidak dapat mengakses secret Secret Manager untuk repositori pihak ketiga yang terhubung:

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.

Untuk mengatasi error ini, lakukan hal berikut:

  • Pastikan akun layanan Dataform Anda memiliki akses ke secret.
  • Kecualikan secret dari perimeter layanan VPC-SC Anda. Dataform saat ini tidak mendukung VPC-SC.

Argumen tidak dikenal: tags

Error berikut terjadi saat versi Dataform CLI Anda tidak mengenali argumen tags:

Unknown argument: tags

Untuk mengatasi error ini, lakukan hal berikut:

  • Update versi CLI ke 3.0.0 atau yang lebih baru. Selalu uji versi paket baru di lingkungan non-produksi sebelum men-deploy di lingkungan produksi Anda.
  • Sebagai praktik terbaik, selalu gunakan paket inti Dataform versi terbaru yang tersedia.
  • Tentukan versi paket secara eksplisit di package.json, misalnya, 3.0.0. Jangan gunakan opsi dependencies lain dari package.json, misalnya, >version.