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 mengetahui informasi
tentang cara mengonfigurasi alat ini, lihat Menggunakan curl
.
Untuk contoh yang menggambarkan penggunaan perintah Google Cloud CLI untuk 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. Misalnya,my-sink
. Anda tidak perlu memberikan perintah yang sepenuhnya memenuhi syarat ke Google Cloud CLI, karena perintah tersebut dapat menentukan project Google Cloud Anda.DESTINATION
: Menyimpan nama tujuan yang sepenuhnya memenuhi syarat. ID 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 project Google Cloud tujuan, danDATASET_ID
adalah ID set data BigQuery.
Contoh curl
menggunakan variabel lingkungan berikut:
ACCESS_TOKEN
: Menyimpan token otorisasi. Untuk mengetahui 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. Misalnya,my-sink
.SINK_BODY
: Menyimpan deskripsi resourceTraceSink
. Resource TraceSink menyertakan nama dan tujuan sink. Nama ini harus menentukan nomor project Google Cloud.DESTINATION
: Menyimpan nama tujuan yang sepenuhnya memenuhi syarat. ID ini harus berupa set data BigQuery.
Mengonfigurasi tujuan
Untuk mengekspor rekaman aktivitas ke BigQuery, lakukan langkah 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 mengetahui informasi tentang identitas penulis, lihat Properti dan terminologi sink.
Identitas penulis untuk sink disertakan dalam data respons pada perintah create. Ini juga disertakan dalam data respons perintah daftar.
Tambahkan identitas penulis sink sebagai akun layanan ke set data BigQuery Anda dan beri peran editor data BigQuery.
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 Cloud Anda serta identitas penulis sink:gcloud projects add-iam-policy-binding ${DESTINATION_PROJECT_ID} \ --member serviceAccount:${WRITER_IDENTITY} \ --role roles/bigquery.dataEditor
Di perintah sebelumnya,
WRITER_IDENTITY
adalah variabel lingkungan yang menyimpan identitas penulis sink danDESTINATION_PROJECT_ID
adalah ID project Google Cloud dari set data BigQuery.
Sink listingan
Untuk mencantumkan semua sink di project Google Cloud Anda, termasuk identitas penulisnya, panggil metode traceSinks.list
.
gcloud
Untuk menampilkan daftar sink yang ditentukan dengan project default menggunakan Google Cloud CLI, jalankan perintah berikut:
gcloud alpha trace sinks list
Protokol
Untuk mencantumkan sink dengan 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 Anda, 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 Anda, panggil metode traceSinks.create
.
Tujuan untuk sink harus berupa set data BigQuery.
Set data ini harus ada sebelum Anda membuat sink. Rekaman aktivitas tidak memverifikasi keberadaan tujuan. Baca artikel 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 Anda, 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}
Mengupdate sink
Untuk memperbarui 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 memperbarui 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 mengupdate sink sebelum span rekaman aktivitas diekspor ke tujuan baru.
Contoh end-to-end
Bagian ini mengilustrasikan penggunaan perintah Google Cloud CLI untuk membuat daftar, membuat, menjelaskan, memperbarui, dan menghapus sink. Perintah dijalankan untuk sebuah project dengan ID project a-sample-project
. Project ini telah dikonfigurasi sebelumnya untuk memuat 2 set data BigQuery. Terakhir, dalam contoh
ini, sink dan tujuan berada dalam project yang sama. Ini
bukan persyaratan. Sink dan tujuan dapat berada di project Google 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 versi Google Cloud CLI adalah 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 harus 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. Ini bukan persyaratan. Sink dan tujuan dapat berada di project Google 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 daftar 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 di respons sebelumnya, Anda harus mengganti
bigquery-project
dengan ID project Anda.Pastikan sink sudah 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 wastafel secara mendetail:
$ 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 hal 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 respons contoh ini adalah identitas penulis dari 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
:
Perbarui 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 yang memberi tahu Anda jika terjadi error ekspor.
Membuat diagram
Agar dapat menampilkan metrik untuk resource yang dipantau dengan menggunakan Metrics Explorer, lakukan hal berikut:
-
Di panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih leaderboard Metrics Explorer:
- Pada elemen Metrik, luaskan menu Pilih metrik, 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 criteria, pilih Bigquery_explort.
- Di menu Active metrics, pilih Spans Exported to BigQuery.
- Klik Terapkan.
- Konfigurasi cara data dilihat.
- Biarkan elemen Filter kosong. Dengan pilihan ini, diagram akan menampilkan semua data status.
Dalam elemen Aggregation, setel menu pertama ke Mean, dan setel 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. Lihat Kuota habis. invalid_span
internal_errors
invalid_destination
Error yang tidak diketahui yang mencegah ekspor data ke BigQuery. Untuk mengatasi kondisi ini, hubungi dukungan teknis atau ajukan pertanyaan di Stack Overflow. Untuk informasi selengkapnya, 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 dalam 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 Kategori metrik, 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
:
Authentication
Buat variabel lingkungan untuk menyimpan ID project Google Cloud Anda:
PROJECT_ID=my-project
Buat variabel lingkungan untuk menyimpan nomor project Google Cloud Anda:
PROJECT_NUMBER=12345
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, pada satu sistem, respons dimulai sebagai:
y29.GluiBjo....
Memanggil curl
Setiap perintah curl
mencakup sekumpulan argumen, yang diikuti dengan URL resource Cloud Trace API. Argumen umum mencakup nilai yang ditentukan oleh variabel lingkungan PROJECT_ID
dan ACCESS_TOKEN
.
Setiap panggilan 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 mengajukan permintaanGET
. Untuk jenis permintaan HTTP lainnya, ganti holder tempat ini dengan jenis permintaan dan data tambahan apa pun yang diperlukan untuk memenuhi permintaan.[API_VERSION]
: Menentukan versi API.[RESOURCE]
: Menentukan nama resource Cloud Trace API.
Misalnya, untuk menampilkan 1.000 trace terbaru di 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 mengatasi 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 termasuk 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 trace yang diterima
Ada beberapa alasan mengapa Anda mungkin tidak menerima data trace 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, jalankan perintah echo untuk memastikan nilai setiap variabel sudah benar. 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 memodifikasi salah satu dari kedua variabel ini, Anda harus me-refresh nilai yang disimpan dalamDESTINATION
.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 adalah 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 menerima data lalu tiba-tiba berhenti atau data tidak lengkap, kuota streaming BigQuery Anda mungkin habis. Untuk melihat kuota, buka halaman IAM & admin, lalu pilih Kuota. Telusuri BigQuery API. Ada dua entri yang relevan: Baris streaming per menit per resource, Streaming byte per menit per resource.
Langkah selanjutnya
Untuk mengetahui informasi tentang skema BigQuery, lihat Mengekspor ke BigQuery.