Dokumen ini menunjukkan cara menyelesaikan masalah pada Dataform.
Akses ke BigQuery ditolak
Error berikut terjadi saat Anda memicu pemanggilan pipeline 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 sesuai kebutuhan. Untuk mengetahui informasi selengkapnya tentang cara 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:
- Di Dataform, kategorikan tindakan dengan tag, dan jalankan hanya tag yang dipilih dalam satu waktu.
- Di Dataform, perkenalkan dependensi antar-tindakan.
- Di Dataform, bagi eksekusi tindakan di antara project yang berbeda Google Cloud .
Untuk mengetahui petunjuk cara mengatasi error ini di BigQuery, lihat Memecahkan masalah kuota dan batas error.
Batas konkurensi kueri BigQuery terlampaui
Error berikut terjadi saat jumlah kueri serentak yang dijalankan ke BigQuery melebihi batas konkurensi kueri BigQuery limit:
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:
- Di Dataform, kategorikan tindakan dengan tag, dan jalankan hanya tag yang dipilih dalam satu waktu.
- Di Dataform, perkenalkan dependensi antar-tindakan.
- Di Dataform, bagi eksekusi tindakan di antara project yang berbeda Google Cloud .
Untuk mengetahui petunjuk cara mengatasi error ini di BigQuery, lihat Memecahkan masalah kuota dan batas error.
Error pemanggilan pipeline BigQuery
Error berikut terjadi selama eksekusi alur kerja ke BigQuery:
- Error pemanggilan pipeline yang dimulai dengan error BigQuery pesan.
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 mengetahui 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:
- Update Dataform core ke versi terbaru.
- Periksa alur kerja Anda untuk mengidentifikasi dan mengurangi inefisiensi.
- Kurangi ukuran kueri SQL.
Kurangi jumlah operasi JavaScript dalam memori, misalnya:
config { config {type: "table" }} js { const tooBig = new Uint8Array(110_000_000); } SELECT ...
Untuk mengetahui informasi selengkapnya tentang batas resource kompilasi Dataform, lihat Kuota dan batas.
Error dependensi @dataform/core
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 menginisialisasi ruang kerja pertama di repositori, Dataform akan otomatis mengisi package.json dengan versi @dataform/core saat ini. Anda harus mengupdate @dataform/core ke versi terbaru saat dirilis.
Untuk mengatasi error ini,
update @dataform/core ke versi terbaru.
Gagal memuat dataform.json
Error berikut terjadi saat Anda menginisialisasi 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, lalu klik Install packages.
Gagal memuat workflow_settings.yaml
Error berikut terjadi saat Anda menginisialisasi 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, lalu klik Install packages.
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 mengetahui informasi selengkapnya tentang cara menginstal paket
di Dataform, lihat Menginstal paket.
Izin kredensial pengguna akhir ditolak
Error berikut terjadi saat Anda menjalankan workload menggunakan kredensial pengguna Akun Google, tetapi Dataform tidak memiliki izin yang diperlukan:
Dataform does not have the necessary permissions to run your workload using end user credentials. Error details: Account restricted: https://accounts.google.com/info/servicerestricted?...
Error ini dapat terjadi jika organisasi Anda menggunakan aturan Akses Kontekstual yang membatasi akses ke Google Cloud layanan berdasarkan identitas dan konteks pengguna.
Untuk mengatasi error ini, Anda mungkin perlu memperbarui konfigurasi Akses Kontekstual agar Dataform dapat menggunakan kredensial pengguna Akun Google. Untuk melakukannya, Anda harus mengecualikan client ID OAuth Dataform dalam konfigurasi tingkat akses. Untuk mengetahui detail tentang cara mengecualikan aplikasi, lihat Mengonfigurasi tingkat akses untuk aplikasi yang didukung.
Untuk mendapatkan client ID OAuth untuk Dataform, hubungi Cloud Customer Care.
Penginstalan paket mengalami error waktu tunggu
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 ukuran total dependensi NPM yang ditentukan tidak melebihi 200 MB.
Izin ditolak untuk bertindak sebagai akun layanan
Error berikut terjadi saat mode bertindak sebagai akun layanan yang ketat diaktifkan dan akun utama yang melakukan tindakan tidak memiliki izin iam.serviceAccounts.actAs pada akun layanan yang efektif:
Permission denied: Principal CALLER_EMAIL is missing 'iam.serviceAccounts.actAs' permission on service account SERVICE_ACCOUNT_EMAIL.
Error ini dapat terjadi selama tindakan berikut:
- Membuat atau memperbarui repositori.
- Membuat atau memperbarui konfigurasi alur kerja.
- Membuat pemanggilan alur kerja.
- Memperbarui konfigurasi rilis.
Untuk mengatasi error ini, berikan
peran Pengguna Akun Layanan
(roles/iam.serviceAccountUser) kepada akun utama di akun layanan yang efektif. Untuk mengetahui informasi selengkapnya, lihat
Memberikan peran IAM yang diperlukan.
Akun layanan tidak terlihat di menu drop-down
Saat mengonfigurasi repositori atau pemanggilan alur kerja, menu Service account mungkin tidak mencantumkan akun layanan kustom yang ada.
Dataform menggunakan Identity and Access Management API untuk mencantumkan akun layanan. Hal ini memerlukan izin iam.serviceAccounts.list di tingkat project.
Untuk mengatasi masalah ini, lakukan salah satu tindakan berikut:
- Klik Enter manually dan masukkan ID akun layanan.
- Minta administrator project Anda untuk memberi Anda peran
Lihat Akun Layanan
(
roles/iam.serviceAccountViewer) atau peran lain yang mencakup iziniam.serviceAccounts.listdi project.
Registry paket pribadi tidak dapat dijangkau
Error berikut terjadi saat autentikasi Dataform untuk paket pribadi berakhir masa berlakunya:
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.
Repositori jarak jauh tidak dapat dijangkau
Error berikut terjadi karena Git tidak stabil atau saat koneksi repositori pihak ketiga tidak disiapkan dengan benar:
Remote repository REPOSITORY_NAME could not be reached.
Untuk mengatasi error ini, pastikan semua langkah yang tercantum di Menghubungkan ke repositori Git pihak ketiga telah diikuti. Secara khusus, pastikan host repositori Git Anda dapat diakses dari internet publik. Selain itu, pastikan token autentikasi atau kunci pribadi sudah benar dan memiliki izin yang diperlukan untuk mengakses repositori.
Repositori jarak jauh tidak dapat dijangkau: generic::invalid_argument
Error berikut terjadi di halaman Release configurations details 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 berlanjut, rilis terjadwal berikutnya dapat berhasil.
Secret untuk repositori jarak jauh tidak dapat dijangkau
Error berikut terjadi saat agen layanan atau 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 agen layanan atau akun layanan Dataform Anda memiliki akses ke secret.
- Kecualikan secret dari perimeter layanan VPC-SC Anda. Dataform tidak mendukung VPC-SC saat ini.
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.0atau yang lebih baru. Selalu uji versi paket baru di lingkungan non-produksi sebelum men-deploy di lingkungan produksi. - Sebagai praktik terbaik, selalu gunakan versi terbaru paket Dataform core yang tersedia.
- Tentukan versi paket secara eksplisit di
package.json, misalnya,3.0.0. Jangan gunakan opsidependencieslain daripackage.json, misalnya,>version.