Halaman ini menjelaskan cara mengekspor rekaman aktivitas menggunakan Cloud Trace API dan Google Cloud CLI. Anda harus menggunakan Google Cloud CLI versi 274.0.0 atau yang lebih baru.
Untuk mengetahui informasi cara mengupdate Google Cloud CLI, lihat
gcloud components update
.
Beberapa contoh di halaman ini dibuat menggunakan curl
. Untuk informasi tentang cara mengonfigurasi alat ini, lihat Menggunakan curl
.
Untuk contoh yang mengilustrasikan penggunaan perintah Google Cloud CLI guna mencantumkan, membuat, mendeskripsikan, memperbarui, dan menghapus sink, lihat Contoh menyeluruh.
Terminologi
Untuk menyederhanakan contoh di halaman ini, variabel lingkungan telah digunakan.
Contoh Google Cloud CLI menggunakan variabel lingkungan berikut:
SINK_ID
: Nama, atau ID, sink. Contoh,my-sink
. Anda tidak perlu memberikan perintah yang sepenuhnya memenuhi syarat ke Google Cloud CLI, karena perintah ini dapat menentukan project Google Cloud Anda.DESTINATION
: Menyimpan nama tujuan yang sepenuhnya memenuhi syarat. Set data ini harus berupa set data BigQuery. Misalnya, tujuan yang valid adalah:bigquery.googleapis.com/projects/DESTINATION_PROJECT_NUMBER/datasets/DATASET_ID
dengan
DESTINATION_PROJECT_NUMBER
adalah nomor projectGoogle Cloud tujuan, danDATASET_ID
adalah ID set data BigQuery.
Contoh curl
menggunakan variabel lingkungan berikut:
ACCESS_TOKEN
: Menyimpan token otorisasi. Untuk informasi selengkapnya, lihat Menggunakancurl
.PROJECT_ID
: Menyimpan ID project atau nomor project Google Cloud .PROJECT_NUMBER
: Menyimpan nomor project Google Cloud .SINK_ID
: Nama, atau ID, sink. Contoh,my-sink
.SINK_BODY
: Menyimpan deskripsi resourceTraceSink
. Resource TraceSink menyertakan nama dan tujuan sink. Nama tersebut harus menentukan nomor project Google Cloud .DESTINATION
: Menyimpan nama tujuan yang sepenuhnya memenuhi syarat. Set data ini harus berupa set data BigQuery.
Mengonfigurasi tujuan
Untuk mengekspor rekaman aktivitas ke BigQuery, lakukan hal berikut:
Buat set data tujuan.
Buat sink menggunakan Cloud Trace API atau Google Cloud CLI. Untuk mengetahui detailnya, lihat Membuat sink.
Berikan peran
dataEditor
ke sink untuk set data BigQuery Anda:Dapatkan identitas penulis dari sink. Untuk informasi tentang identitas penulis, lihat Properti dan terminologi sink.
Identitas penulis untuk sink disertakan dalam data respons ke perintah create. Data ini juga disertakan dalam data respons perintah list.
Tambahkan identitas penulis sink sebagai akun layanan ke set data BigQuery Anda dan beri peran BigQuery data editor.
Untuk menambahkan izin menggunakan konsol Google Cloud , lihat Mengontrol akses ke set data.
Untuk menambahkan izin menggunakan Google Cloud CLI, gunakan perintah
add-iam-policy-binding
dan berikan ID project Google Clouddan identitas penulis sink:gcloud projects add-iam-policy-binding ${DESTINATION_PROJECT_ID} \ --member serviceAccount:${WRITER_IDENTITY} \ --role roles/bigquery.dataEditor
Pada perintah sebelumnya,
WRITER_IDENTITY
adalah variabel lingkungan yang menyimpan identitas penulis sink danDESTINATION_PROJECT_ID
adalah ID project set data BigQuery Google Cloud .
Mencantumkan sink
Untuk mencantumkan semua sink dalam project Google Cloud , termasuk
identitas penulisnya, panggil
metode traceSinks.list
.
gcloud
Untuk mencantumkan sink yang ditentukan dengan project default menggunakan Google Cloud CLI, jalankan perintah berikut:
gcloud alpha trace sinks list
Protokol
Untuk menampilkan daftar sink menggunakan curl
, kirim permintaan GET
ke:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Misalnya, permintaan berikut mengambil semua sink:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Menampilkan detail sink tertentu
Untuk menampilkan detail sink tertentu yang ada di project
Google Cloud, panggil metode traceSinks.get
.
gcloud
Untuk menampilkan detail sink yang ID-nya disimpan di SINK_ID
menggunakan Google Cloud CLI, jalankan perintah berikut:
gcloud alpha trace sinks describe ${SINK_ID}
Protokol
Untuk menampilkan detail sink yang ID-nya disimpan di SINK_ID
menggunakan curl
, kirim permintaan GET
ke:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/%{SINK_ID}
Misalnya, permintaan berikut mengambil detail sink yang ditentukan:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Membuat sink
Untuk membuat sink di project Google Cloud ,
panggil metode traceSinks.create
.
Tujuan sink harus berupa set data BigQuery.
Set data ini harus ada sebelum Anda membuat sink. Rekaman aktivitas tidak memverifikasi keberadaan tujuan. Lihat Membuat set data untuk mengetahui informasi tentang cara membuat set data BigQuery.
gcloud
Untuk membuat sink menggunakan Google Cloud CLI, jalankan perintah berikut:
gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}
Protokol
Untuk membuat sink menggunakan curl, kirim permintaan POST
ke:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Misalnya, untuk membuat sink bernama test_sink
guna mengekspor span rekaman aktivitas ke
test_dataset
dalam project dengan ${PROJECT_NUMBER}
, tentukan variabel
lingkungan SINK_BODY
seperti yang ditunjukkan:
SINK_BODY='{"name":"projects/12345/traceSinks/test_sink","output_config":{"destination":"bigquery.googleapis.com/projects/12345/datasets/test_dataset"}}'
Untuk membuat sink, jalankan perintah berikut:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" --header "Content-Type: application/json" -X POST -d ${SINK_BODY} https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Mungkin perlu waktu beberapa menit setelah Anda membuat sink sebelum span rekaman aktivitas diekspor ke tujuan.
Menghapus sink
Untuk menghapus sink yang ada di project Google Cloud ,
panggil perintah traceSinks.delete
.
gcloud
Untuk menghapus sink yang ID-nya disimpan di SINK_ID
menggunakan Google Cloud CLI, jalankan perintah berikut:
gcloud alpha trace sinks delete ${SINK_ID}
Protokol
Untuk menghapus sink yang ID-nya disimpan di SINK_ID
menggunakan curl
, kirim permintaan DELETE
ke:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Misalnya, permintaan berikut akan menghapus sink:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" -X DELETE https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Memperbarui sink
Untuk mengupdate sink yang ada di project Google Cloud ,
panggil perintah traceSinks.patch
.
Set data ini harus ada sebelum Anda membuat sink. Rekaman aktivitas tidak memverifikasi keberadaan tujuan.
gcloud
Untuk mengupdate sink yang ID-nya disimpan di SINK_ID
menggunakan Google Cloud CLI, jalankan perintah berikut:
gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}
Variabel lingkungan DESTINATION
, menyimpan tujuan baru untuk
sink.
Protokol
Untuk memperbarui tujuan sink yang ID-nya disimpan di SINK_ID
menggunakan curl
, kirim permintaan PATCH
ke:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Misalnya, permintaan berikut memperbarui tujuan sink:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" --header "Content-Type: application/json" -X PATCH -d ${SINK_BODY} https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}?update_mask=output_config.destination
Untuk contoh SINK_BODY
, lihat contoh untuk membuat sink.
Mungkin perlu waktu beberapa menit setelah Anda memperbarui sink sebelum span rekaman aktivitas diekspor ke tujuan baru.
Contoh end-to-end
Bagian ini mengilustrasikan penggunaan perintah Google Cloud CLI untuk mencantumkan, membuat, menjelaskan, mengupdate, dan menghapus sink. Perintah dieksekusi untuk project
dengan ID project a-sample-project
. Project ini telah dikonfigurasi sebelumnya untuk berisi 2 set data BigQuery. Terakhir, dalam
contoh ini, sink dan tujuan berada dalam project yang sama. Hal ini
tidak diwajibkan. Penampung dan tujuan dapat berada di projectGoogle Cloud yang berbeda.
Langkah konfigurasi
Verifikasi setelan project default:
$ gcloud config list
Contoh respons:
[compute] zone = us-east1-b [core] account = user@example.com disable_usage_reporting = True project = a-sample-project Your active configuration is: [default]
Pastikan Google Cloud CLI setidaknya versi 274.0.0:
$ gcloud --version
Contoh respons:
Google Cloud SDK 275.0.0 alpha 2020.01.03 beta 2020.01.03 bq 2.0.51 core 2020.01.03 gsutil 4.46 kubectl 2020.01.03
Identifikasi set data yang tersedia di project default:
$ bq ls
Contoh respons:
datasetId --------------- dataset_1 dataset_other
Perhatikan bahwa saat pertama kali menggunakan perintah
bq
, Anda mungkin perlu memilih project.
Menyiapkan variabel lingkungan
Tetapkan variabel env yang digunakan oleh perintah Google Cloud CLI:
$ PROJECT_ID=a-sample-project $ PROJECT_NUMBER=123456789000 $ SINK_ID=a-sample-sink $ DATA_SET_NAME=dataset_1 $ DESTINATION=bigquery.googleapis.com/projects/${PROJECT_NUMBER}/datasets/${DATA_SET_NAME}
Dalam contoh ini, tujuan dan sink berada dalam project yang sama. Hal ini tidak diwajibkan. Penampung dan tujuan dapat berada di projectGoogle Cloud yang berbeda.
Pastikan setelan:
$ echo $SINK_ID a-sample-sink $ echo $DATA_SET_NAME dataset_1 $ echo $DESTINATION bigquery.googleapis.com/projects/123456789000/datasets/dataset_1
Mencantumkan sink
Untuk menampilkan semua sink, jalankan perintah berikut:
$ gcloud alpha trace sinks list
Karena project ini tidak memiliki sink, responsnya adalah:
Listed 0 items.
Membuat sink
Untuk membuat sink, jalankan perintah berikut:
$ gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}
Contoh respons:
You can give permission to the service account by running the following command. gcloud projects add-iam-policy-binding bigquery-project \ --member serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com \ --role roles/bigquery.dataEditor
Perhatikan bahwa nama akun layanan menyertakan
export-0000001cbe991a08-3434
. Angka 0000001cbe991a08 adalah representasi heksadesimal dariPROJECT_NUMBER
. Nilai3434
adalah nilai acak.Sebelum menjalankan Google Cloud CLI dalam respons sebelumnya, Anda harus mengganti
bigquery-project
dengan ID project Anda.Pastikan sink telah dibuat:
$ gcloud alpha trace sinks list
Contoh respons:
NAME DESTINATION WRITER_IDENTITY a-sample-sink bigquery.googleapis.com/projects/123456789000/datasets/dataset_1 export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Jelaskan detail wastafel:
$ gcloud alpha trace sinks describe ${SINK_ID}
Contoh respons:
destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_1 name: a-sample-sink writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Berikan izin
bigquery.dataEditor
ke identitas tulis sink. Perintah sink create menampilkan perintah Google Cloud CLI yang dapat Anda gunakan untuk memperbarui izin.Agar perintah ini berhasil, lakukan tindakan berikut:
- Pastikan Anda memiliki izin untuk mengubah izin tujuan.
- Ganti
bigquery-project
dengan ID project Anda:
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com --role roles/bigquery.dataEditor
Perhatikan bahwa entri pertama dalam contoh respons ini adalah identitas penulis sink:
Updated IAM policy for project [a-sample-project]. bindings: - members: - serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com role: roles/bigquery.dataEditor - members: - user:user@example.com role: roles/cloudtrace.admin - members: - serviceAccount:service-123456789000@compute-system.iam.gserviceaccount.com role: roles/compute.serviceAgent - members: - serviceAccount:service-123456789000@container-engine-robot.iam.gserviceaccount.com role: roles/container.serviceAgent - members: - serviceAccount:service-123456789000@container-analysis.iam.gserviceaccount.com role: roles/containeranalysis.ServiceAgent - members: - serviceAccount:service-123456789000@containerregistry.iam.gserviceaccount.com role: roles/containerregistry.ServiceAgent - members: - serviceAccount:123456789000-compute@developer.gserviceaccount.com - serviceAccount:123456789000@cloudservices.gserviceaccount.com role: roles/editor - members: - user:user@example.com role: roles/owner etag: BwWbqGVnShQ= version: 1
Mengubah tujuan sink
Dalam contoh ini, tujuan diubah dari dataset_1
menjadi dataset_other
:
Update variabel lingkungan
DATA_SET_NAME
danDESTINATION
:$ DATA_SET_NAME=dataset_other $ DESTINATION=bigquery.googleapis.com/projects/${PROJECT_NUMBER}/datasets/${DATA_SET_NAME} $ echo ${DESTINATION} bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
Pastikan untuk memuat ulang nilai
DESTINATION
setelah mengubahDATA_SET_NAME
atauPROJECT_NUMBER
.Ubah tujuan sink:
$ gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}
Contoh output-nya adalah:
Updated [https://cloudtrace.googleapis.com/v2beta1/projects/123456789000/traceSinks/a-sample-sink]. destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_other name: a-sample-sink writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Jalankan perintah deskripsi untuk melihat detail sink:
$ gcloud alpha trace sinks describe ${SINK_ID} destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_other name: a-sample-sink writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Saat memperbarui tujuan sink, Anda tidak mengubah identitas penulis sink, sehingga Anda tidak perlu memperbarui izin untuk sink.
Menghapus sink
Untuk menghapus sink, jalankan perintah berikut:
$ gcloud alpha trace sinks delete ${SINK_ID}
Contoh output-nya adalah:
Really delete sink [a-sample-sink]? Do you want to continue (y/N)? y Deleted [https://cloudtrace.googleapis.com/v2beta1/projects/123456789000/traceSinks/a-sample-sink].
Anda dapat memverifikasi hasilnya dengan menjalankan perintah list
:
$ gcloud alpha trace sinks list Listed 0 items.
Validasi
Anda dapat menggunakan metrik exported_span_count
Cloud Monitoring sebagai dasar untuk diagram yang menampilkan error saat data Trace diekspor ke BigQuery. Anda juga dapat membuat kebijakan pemberitahuan untuk memberi tahu Anda jika terjadi error ekspor.
Membuat diagram
Untuk melihat metrik untuk resource yang dimonitor menggunakan Metrics Explorer, lakukan langkah berikut:
-
Di konsol Google Cloud , buka halaman leaderboard Metrics explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Pada elemen Metric, luaskan menu Select a metric,
masukkan
Spans Exported to BigQuery
di panel filter, lalu gunakan submenu untuk memilih jenis dan metrik resource tertentu:- Di menu Active resources, pilih Cloud Trace.
- Di menu Active metric categories, pilih Bigquery_explort.
- Di menu Active metrics, pilih Spans Exported to BigQuery.
- Klik Terapkan.
- Konfigurasi cara data dilihat.
- Kosongkan elemen Filter. Dengan pilihan ini, diagram akan menampilkan semua data status.
Di elemen Aggregation, tetapkan menu pertama ke Mean, dan tetapkan menu kedua ke status.
Pilihan ini menghasilkan satu deret waktu untuk setiap nilai status unik. Tabel berikut menampilkan kemungkinan nilai status:
Nilai Status Arti dan tindakan korektif ok
Transfer data berhasil. bigquery_permission_denied
Ekspor data ke tujuan gagal. Ekspor dapat gagal karena salah satu alasan berikut:
- Akun layanan di sink rekaman aktivitas tidak memiliki izin untuk menulis ke set data tujuan. Lihat Izin ditolak.
- Tujuan set data di sink tidak ada. Lihat Tujuan tidak valid.
- Error internal BigQuery. Ini adalah error sementara dan tidak terduga.
bigquery_quota_exceeded
Project BigQuery telah melampaui kuota streaming BigQuery-nya. Lihat Kuota habis. invalid_span
internal_errors
invalid_destination
Error yang tidak diketahui mencegah ekspor data ke BigQuery. Untuk mengatasi kondisi ini, hubungi dukungan teknis atau ajukan pertanyaan di Stack Overflow. Untuk informasi, lihat Mendapatkan dukungan.
Untuk informasi selengkapnya tentang cara mengonfigurasi diagram, lihat Memilih metrik saat menggunakan Metrics Explorer.
Jika sink Trace berhasil mengekspor data, diagram yang dibuat dengan setelan sebelumnya akan menampilkan satu deret waktu dengan nilai status ok
. Jika terjadi error selama ekspor,
deret waktu tambahan akan muncul di diagram.
Membuat kebijakan pemberitahuan
Untuk membuat kebijakan pemberitahuan yang terpicu jika terjadi error saat mengekspor data Cloud Trace ke BigQuery, gunakan setelan berikut.
Kolom New condition |
Nilai |
---|---|
Resource and Metric | Di menu Resources, pilih Cloud Trace. Di menu Metric categories, pilih Bigquery_export. Di menu Metrics, pilih Spans Exported to BigQuert. |
Filter | status != ok |
Di seluruh deret waktu Mengelompokkan deret waktu menurut |
status |
Di seluruh deret waktu Agregasi deret waktu |
sum |
Rolling window | 1 m |
Rolling window function | rate |
Kolom Configure alert trigger |
Nilai |
---|---|
Condition type | Threshold |
Alert trigger | Any time series violates |
Threshold position | Above threshold |
Threshold value | 0 |
Retest window | 1 minute |
Menggunakan curl
Bagian ini menjelaskan konvensi dan penyiapan yang digunakan untuk memanggil Cloud Trace API menggunakan alat curl
:
Autentikasi
Buat variabel lingkungan untuk menyimpan ID project Google Cloud :
PROJECT_ID=my-project
Buat variabel lingkungan untuk menyimpan nomor project Google Cloud :
PROJECT_NUMBER=12345
Lakukan autentikasi Google Cloud CLI:
gcloud auth login
Tetapkan ID project Google Cloud default:
gcloud config set project ${PROJECT_ID}
Buat token otorisasi dan simpan dalam variabel lingkungan:
ACCESS_TOKEN=`gcloud auth print-access-token`
Verifikasi token akses:
echo ${ACCESS_TOKEN}
Respons terhadap perintah harus berupa string karakter yang panjang. Misalnya, di satu sistem, respons dimulai sebagai:
y29.GluiBjo....
Memanggil curl
Setiap perintah curl
menyertakan kumpulan argumen, diikuti dengan URL resource Cloud Trace API. Argumen umum mencakup nilai yang ditentukan oleh
variabel lingkungan PROJECT_ID
dan ACCESS_TOKEN
.
Setiap pemanggilan curl
memiliki bentuk umum berikut:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" [OTHER_ARGS] https://cloudtrace.googleapis.com/[API_VERSION]/projects/${PROJECT_ID}/[RESOURCE]
dengan:
[OTHER_ARGS]
(Opsional): Hapus kolom ini jika Anda mengeluarkan permintaanGET
. Untuk jenis permintaan HTTP lainnya, ganti placeholder ini dengan jenis permintaan dan data tambahan yang diperlukan untuk memenuhi permintaan.[API_VERSION]
: Tentukan versi API.[RESOURCE]
: Tentukan nama resource Cloud Trace API.
Misalnya, untuk mencantumkan 1.000 rekaman aktivitas terbaru dalam project Anda, jalankan perintah berikut:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v1/projects/${PROJECT_ID}/traces
Pemecahan masalah
Bagian ini berisi informasi pemecahan masalah yang dapat membantu Anda menyelesaikan kegagalan saat mengonfigurasi ekspor.
Error argumen tidak valid untuk set data
Pesan error berikut menunjukkan bahwa nama set data tidak valid:
ERROR: (gcloud.alpha.trace.sinks.create) INVALID_ARGUMENT: Request contains an invalid argument. - '@type': type.googleapis.com/google.rpc.DebugInfo detail: '[ORIGINAL ERROR] generic::invalid_argument: sink destination is malformed: bigquery.googleapis.com/projects/123456789000/datasets/a-sample-project:dataset_1.
Error ini disebabkan oleh tujuan yang menyertakan ID project Google Cloud, a-sample-project
, sebagai penentu untuk nama set data.
Untuk mengatasi error ini, ganti a-sample-project:dataset_1
dengan dataset_1
,
lalu berikan perintah create.
Perhatikan bahwa Anda dapat mencantumkan set data dengan perintah bq ls
.
Tidak ada data rekaman aktivitas yang diterima
Ada beberapa alasan mengapa Anda mungkin tidak menerima data rekaman aktivitas di BigQuery.
Tujuan tidak valid
Pastikan nama set data dan nomor project sudah benar.
Untuk memverifikasi bahwa nama set data sudah benar. Untuk mencantumkan set data dalam project saat ini, jalankan
bq ls
.Jika Anda memilih untuk menggunakan variabel lingkungan, pastikan nilai setiap variabel sudah benar dengan mengeluarkan perintah echo. Misalnya, pastikan tujuan Anda sudah benar:
$ echo ${DESTINATION} bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
Karena
DESTINATION
bergantung pada nilaiPROJECT_NUMBER
danDATA_SET_NAME
, kedua variabel ini harus ditetapkan terlebih dahulu. Selain itu, jika mengubah salah satu dari dua variabel ini, Anda harus memuat ulang nilai yang disimpan diDESTINATION
.Untuk menentukan nomor project Anda saat ini, jalankan perintah berikut:
gcloud projects list --filter="${PROJECT_ID}"
Anda dapat menetapkan
PROJECT_NUMBER
secara terprogram menggunakan perintah berikut:$ PROJECT_NUMBER=`gcloud projects list --filter="${PROJECT_ID}" --format="value(PROJECT_NUMBER)"`
Izin tidak valid
Pastikan akun layanan telah diberi peran DataEditor
untuk BigQuery. Anda dapat memverifikasi izin dengan menjalankan
perintah berikut:
$ gcloud projects get-iam-policy ${PROJECT_ID}
Respons perintah ini menjelaskan semua binding IAM. Dalam
hal ini, hasilnya seperti yang ditunjukkan. Perhatikan bahwa identitas penulis sink memiliki
peran dataEditor
:
bindings: - members: - serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com role: roles/bigquery.dataEditor - members: [Note, content truncated]
Kuota habis
Jika Anda telah menerima data dan tiba-tiba berhenti atau data Anda tidak lengkap, Anda mungkin telah menghabiskan kuota streaming BigQuery. Untuk melihat kuota Anda, buka halaman IAM & admin, lalu pilih Kuota. Telusuri BigQuery API. Ada dua entri yang relevan: Streaming baris per menit per resource, Streaming byte per menit per resource.
Langkah selanjutnya
Untuk mengetahui informasi tentang skema BigQuery, lihat artikel Mengekspor ke BigQuery.