Menggunakan penetapan pemesanan

BigQuery Reservation API memungkinkan Anda membeli slot khusus (disebut komitmen), membuat kumpulan slot (disebut pemesanan), dan menetapkan project, folder, serta organisasi ke pemesanan tersebut.

Membuat penetapan pemesanan

Untuk menggunakan slot yang dibeli, Anda perlu membuat penetapan yang menetapkan project, folder, atau organisasi ke pemesanan slot.

Project menggunakan satu pemesanan paling spesifik dalam hierarki resource yang ditetapkan. Penetapan folder menggantikan penetapan organisasi, dan penetapan project menggantikan penetapan folder. Penetapan folder dan organisasi tidak tersedia untuk reservasi edisi standar.

Untuk membuat tugas pada reservasi, reservasi harus memenuhi setidaknya salah satu kriteria berikut:

  • Dikonfigurasi dengan jumlah slot dasar pengukuran yang ditetapkan bukan nol.

  • Dikonfigurasi dengan jumlah slot penskalaan otomatis yang tidak nol.

  • Kueri dikonfigurasi untuk menggunakan slot tidak ada aktivitas, dan ada slot tidak ada aktivitas yang tersedia dalam project.

Jika Anda mencoba menetapkan resource ke reservasi yang tidak memenuhi setidaknya salah satu kriteria ini, Anda akan menerima pesan berikut: Assignment is pending, your project will be executed as on-demand.

Anda dapat menetapkan resource ke pemesanan failover, tetapi penetapan tertunda di lokasi sekunder.

Izin yang diperlukan

Untuk membuat penetapan pemesanan, Anda memerlukan izin Identity and Access Management (IAM) berikut:

Setiap peran IAM yang telah ditetapkan berikut mencakup izin ini:

  • BigQuery Admin
  • BigQuery Resource Admin
  • BigQuery Resource Editor

Untuk mengetahui informasi lebih lanjut tentang peran IAM di BigQuery, lihat Peran dan izin yang telah ditetapkan.

Menetapkan organisasi ke pemesanan

Konsol

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di menu navigasi, klik Capacity management.

  3. Klik tab Reservations.

  4. Temukan pemesanan di tabel pemesanan.

  5. Perluas opsi Actions.

  6. Klik Create assignment.

  7. Di bagian Create an assignment, klik Browse.

  8. Jelajahi atau telusuri organisasi, lalu pilih organisasi tersebut.

  9. Di bagian Job Type, pilih jenis tugas yang akan ditetapkan untuk pemesanan ini. Opsinya meliputi:

    • QUERY
    • CONTINUOUS
    • PIPELINE
    • BACKGROUND
    • ML_EXTERNAL

    Untuk informasi selengkapnya tentang jenis tugas, lihat penetapan pemesanan. Nilai default ini adalah QUERY.

    Untuk mempelajari lebih lanjut cara mengizinkan pengguna menggunakan Gemini in BigQuery dengan penugasan edisi Enterprise Plus, lihat Menyiapkan Gemini in BigQuery.

  10. Klik Buat.

SQL

Untuk menetapkan organisasi ke pemesanan, gunakan pernyataan DDL CREATE ASSIGNMENT.

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

    CREATE ASSIGNMENT
      `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME.ASSIGNMENT_ID`
    OPTIONS (
      assignee = 'organizations/ORGANIZATION_ID',
      job_type = 'JOB_TYPE');

    Ganti kode berikut:

    • ADMIN_PROJECT_ID: project ID dari project administrasi yang memiliki resource pemesanan
    • LOCATION: lokasi pemesanan
    • RESERVATION_NAME: nama pemesanan
    • ASSIGNMENT_ID: ID tugas

      ID harus unik untuk project dan lokasi, diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.

    • ORGANIZATION_ID: ID organisasi
    • JOB_TYPE: jenis tugas yang akan ditetapkan ke pemesanan ini, seperti QUERY, CONTINUOUS, PIPELINE, BACKGROUND, atau ML_EXTERNAL

  3. Klik Run.

Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.

bq

Untuk menetapkan tugas organisasi ke pemesanan, gunakan perintah bq mk dengan flag --reservation_assignment:

bq mk \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --reservation_assignment \
    --reservation_id=RESERVATION_NAME \
    --assignee_id=ORGANIZATION_ID \
    --job_type=JOB_TYPE \
    --assignee_type=ORGANIZATION

Ganti kode berikut:

  • ADMIN_PROJECT_ID: project ID dari project administrasi yang memiliki resource pemesanan
  • LOCATION: lokasi pemesanan
  • RESERVATION_NAME: nama pemesanan
  • ORGANIZATION_ID: ID organisasi
  • JOB_TYPE: jenis tugas yang akan ditetapkan ke pemesanan ini, seperti QUERY, CONTINUOUS, PIPELINE, BACKGROUND, atau ML_EXTERNAL

Saat membuat penetapan pemesanan, tunggu setidaknya 5 menit sebelum menjalankan kueri. Jika tidak, kueri mungkin akan ditagih menggunakan harga sesuai permintaan.

Menetapkan project atau folder ke pemesanan

Konsol

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di menu navigasi, klik Capacity management.

  3. Klik tab Reservations.

  4. Temukan pemesanan di tabel pemesanan.

  5. Perluas opsi Actions.

  6. Klik Create assignment.

  7. Di bagian Create an assignment, klik Browse.

  8. Jelajahi atau telusuri project atau folder, lalu pilih project atau folder tersebut.

  9. Di bagian Job Type, pilih jenis tugas yang akan ditetapkan untuk pemesanan ini. Opsinya meliputi:

    • QUERY
    • CONTINUOUS
    • PIPELINE
    • BACKGROUND
    • ML_EXTERNAL

    Untuk informasi selengkapnya tentang jenis tugas, lihat penetapan pemesanan. Nilai default ini adalah QUERY.

  10. Klik Create.

SQL

Untuk menetapkan project ke pemesanan, gunakan pernyataan DDL CREATE ASSIGNMENT.

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

    CREATE ASSIGNMENT
      `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME.ASSIGNMENT_ID`
    OPTIONS(
      assignee="projects/PROJECT_ID",
      job_type="JOB_TYPE");

    Ganti kode berikut:

    • ADMIN_PROJECT_ID: project ID dari project administrasi yang memiliki resource pemesanan
    • LOCATION: lokasi pemesanan
    • RESERVATION_NAME: nama pemesanan
    • ASSIGNMENT_ID: ID tugas

      ID harus unik untuk project dan lokasi, diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.

    • PROJECT_ID: ID project yang akan ditetapkan ke pemesanan
    • JOB_TYPE: jenis tugas yang akan ditetapkan ke pemesanan ini, seperti QUERY, CONTINUOUS, PIPELINE, BACKGROUND, atau ML_EXTERNAL

  3. Klik Run.

Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.

bq

Untuk menetapkan tugas ke pemesanan, gunakan perintah bq mk dengan flag --reservation_assignment:

bq mk \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --reservation_assignment \
    --reservation_id=RESERVATION_NAME \
    --assignee_id=PROJECT_ID \
    --job_type=JOB_TYPE \
    --assignee_type=PROJECT

Ganti kode berikut:

  • ADMIN_PROJECT_ID: project ID dari project administrasi yang memiliki resource pemesanan
  • LOCATION: lokasi pemesanan
  • RESERVATION_NAME: nama pemesanan
  • PROJECT_ID: ID project yang akan ditetapkan ke pemesanan ini
  • JOB_TYPE: jenis tugas yang akan ditetapkan ke pemesanan ini, seperti QUERY, CONTINUOUS, PIPELINE, BACKGROUND, atau ML_EXTERNAL

Terraform

Gunakan resource google_bigquery_reservation_assignment.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

Contoh berikut menetapkan project ke reservasi bernama my-reservation:

resource "google_bigquery_reservation" "default" {
  name              = "my-reservation"
  location          = "us-central1"
  slot_capacity     = 100
  edition           = "ENTERPRISE"
  ignore_idle_slots = false # Use idle slots from other reservations
  concurrency       = 0     # Automatically adjust query concurrency based on available resources
  autoscale {
    max_slots = 200 # Allow the reservation to scale up to 300 slots (slot_capacity + max_slots) if needed
  }
}

data "google_project" "project" {}

resource "google_bigquery_reservation_assignment" "default" {
  assignee    = "projects/${data.google_project.project.project_id}"
  job_type    = "QUERY"
  reservation = google_bigquery_reservation.default.id
}

Untuk menerapkan konfigurasi Terraform di project Google Cloud , selesaikan langkah-langkah di bagian berikut.

Menyiapkan Cloud Shell

  1. Luncurkan Cloud Shell.
  2. Tetapkan project default Google Cloud tempat Anda ingin menerapkan konfigurasi Terraform.

    Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.

Menyiapkan direktori

Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).

  1. Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki ekstensi .tf—misalnya main.tf. Dalam tutorial ini, file ini disebut sebagai main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.

    Salin kode contoh ke dalam main.tf yang baru dibuat.

    Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.

  3. Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
  4. Simpan perubahan Anda.
  5. Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
    terraform init

    Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi -upgrade:

    terraform init -upgrade

Menerapkan perubahan

  1. Tinjau konfigurasi dan pastikan resource yang akan dibuat atau diupdate oleh Terraform sesuai yang Anda inginkan:
    terraform plan

    Koreksi konfigurasi jika diperlukan.

  2. Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    terraform apply

    Tunggu hingga Terraform menampilkan pesan "Apply complete!".

  3. Buka Google Cloud project Anda untuk melihat hasilnya. Di konsol Google Cloud , buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.

Saat membuat penetapan pemesanan, tunggu setidaknya 5 menit sebelum menjalankan kueri. Jika tidak, kueri mungkin akan ditagih menggunakan harga sesuai permintaan.

Untuk membuat project yang hanya menggunakan slot tidak ada aktivitas, buat pemesanan dengan 0 slot yang ditetapkan ke pemesanan tersebut, lalu ikuti langkah-langkah sebelumnya untuk menetapkan project ke pemesanan tersebut.

Menetapkan project ke none

Penetapan ke none mewakili tidak adanya penetapan. Project yang ditetapkan ke none menggunakan harga sesuai permintaan.

SQL

Untuk menetapkan project ke none, gunakan pernyataan DDL CREATE ASSIGNMENT.

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

    CREATE ASSIGNMENT
      `ADMIN_PROJECT_ID.region-LOCATION.none.ASSIGNMENT_ID`
    OPTIONS(
      assignee="projects/PROJECT_ID",
      job_type="QUERY");

    Ganti kode berikut:

    • LOCATION: lokasi tugas yang harus menggunakan harga sesuai permintaan
    • ASSIGNMENT_ID: ID penetapan

      ID harus unik untuk project dan lokasi, diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.

    • PROJECT_ID: ID project yang akan ditetapkan ke pemesanan

  3. Klik Run.

Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.

bq

Untuk menetapkan project ke none, gunakan perintah bq mk dengan flag --reservation_assignment:

bq mk \
    --location=LOCATION \
    --reservation_assignment \
    --reservation_id=none \
    --job_type=QUERY \
    --assignee_id=PROJECT_ID \
    --assignee_type=PROJECT

Ganti kode berikut:

  • LOCATION: lokasi tugas yang harus menggunakan harga sesuai permintaan
  • PROJECT_ID: ID project yang akan ditetapkan ke none

Terraform

Gunakan resource google_bigquery_reservation_assignment.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

Contoh berikut menetapkan project ke none:

data "google_project" "project" {}

resource "google_bigquery_reservation_assignment" "default" {
  assignee    = "projects/${data.google_project.project.project_id}"
  job_type    = "QUERY"
  reservation = "projects/${data.google_project.project.project_id}/locations/us/reservations/none"
}

Untuk menerapkan konfigurasi Terraform di project Google Cloud , selesaikan langkah-langkah di bagian berikut.

Menyiapkan Cloud Shell

  1. Luncurkan Cloud Shell.
  2. Tetapkan project default Google Cloud tempat Anda ingin menerapkan konfigurasi Terraform.

    Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.

Menyiapkan direktori

Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).

  1. Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki ekstensi .tf—misalnya main.tf. Dalam tutorial ini, file ini disebut sebagai main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.

    Salin kode contoh ke dalam main.tf yang baru dibuat.

    Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.

  3. Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
  4. Simpan perubahan Anda.
  5. Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
    terraform init

    Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi -upgrade:

    terraform init -upgrade

Menerapkan perubahan

  1. Tinjau konfigurasi dan pastikan resource yang akan dibuat atau diupdate oleh Terraform sesuai yang Anda inginkan:
    terraform plan

    Koreksi konfigurasi jika diperlukan.

  2. Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    terraform apply

    Tunggu hingga Terraform menampilkan pesan "Apply complete!".

  3. Buka Google Cloud project Anda untuk melihat hasilnya. Di konsol Google Cloud , buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.

Mengganti pemesanan pada kueri

Untuk meminta dukungan atau memberikan masukan terkait fitur ini, hubungi bigquery-wlm-feedback@google.com.

Untuk menggunakan pemesanan tertentu dalam kueri, Anda memerlukan izin Identity and Access Management (IAM) berikut:

Untuk menetapkan kueri agar berjalan dalam reservasi tertentu, lakukan salah satu hal berikut:

Konsol

  1. Buka halaman BigQuery.

    Buka BigQuery

  2. Klik SQL query.

  3. Di editor kueri, masukkan kueri GoogleSQL yang valid.

  4. Klik More, lalu klik Query settings.

  5. Hapus centang pada kotak Setelan lokasi otomatis, lalu pilih region atau multi-region tempat reservasi berada.

  6. Dalam daftar Reservation, pilih reservasi yang Anda inginkan untuk menjalankan kueri.

  7. Klik Simpan.

  8. Tulis kueri di tab editor dan jalankan. Kueri berjalan dalam reservasi yang Anda tentukan.

SQL

Anda dapat menggunakan variabel sistem @@reservation untuk menetapkan reservasi tempat kueri Anda berjalan:

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

    SET @@reservation='RESERVATION';
    SELECT QUERY;

    Ganti kode berikut:

    • RESERVATION: reservasi tempat Anda ingin menjalankan kueri.

    • QUERY: kueri yang ingin Anda jalankan.

  3. Klik Run.

Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.

Misalnya, kueri berikut menggunakan pernyataan SET untuk menyetel reservasi ke test-reservation di multi-region US, lalu memanggil kueri dasar:

SET @@reservation='projects/project1/locations/US/reservations/test-reservation';
SELECT 42;

bq

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Di Cloud Shell, jalankan kueri menggunakan perintah bq query dengan flag --reservation_id:

    bq query --use_legacy_sql=false --reservation_id=RESERVATION_ID
    'QUERY'

    Ganti kode berikut:

    • RESERVATION_ID: pemesanan tempat Anda ingin menjalankan kueri.

    • QUERY: pernyataan SQL untuk kueri.

    Misalnya, kueri berikut berjalan di reservasi test-reservation di multi-region US:

    bq query --reservation_id=project1.US:test-reservation 'SELECT 42;'

API

Untuk menentukan reservasi menggunakan API, sisipkan tugas baru dan isi properti konfigurasi tugas query. Tentukan reservasi Anda di kolom reservation.

Tetapkan penetapan pemesanan dalam kueri ke none

Menetapkan penetapan pemesanan dalam kueri ke none akan memaksa tugas menggunakan penagihan on-demand (tanpa pemesanan), meskipun ada penetapan pemesanan default. Untuk menetapkan reservasi ke none, lakukan langkah berikut:

SQL

Anda dapat menggunakan variabel sistem @@reservation untuk menetapkan reservasi tempat kueri Anda berjalan ke none:

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

    SET @@reservation='none';
    SELECT QUERY;

    Ganti kode berikut:

    • QUERY: kueri yang ingin Anda jalankan.

  3. Klik Run.

Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.

Misalnya, kueri berikut menggunakan pernyataan SET untuk memaksa kueri menggunakan penagihan sesuai permintaan, lalu memanggil kueri dasar:

SET @@reservation='none';
SELECT 42;

bq

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Di Cloud Shell, jalankan kueri menggunakan perintah bq query dengan flag --reservation_id:

    bq query --use_legacy_sql=false --reservation_id = none
    'QUERY'

    Ganti kode berikut:

    • QUERY: pernyataan SQL untuk kueri.

    Misalnya, perintah berikut memaksa kueri untuk menggunakan penagihan sesuai permintaan, lalu memanggil kueri dasar:

    bq query --reservation_id=none 'SELECT 42;'

API

Untuk menentukan reservasi menggunakan API, sisipkan tugas baru dan isi properti konfigurasi tugas query. Tentukan reservasi Anda sebagai none di kolom reservation.

Menetapkan slot ke workload ML BigQuery

Bagian berikut memberikan informasi tentang persyaratan penetapan reservasi untuk model BigQuery ML. Anda dapat membuat penetapan reservasi ini dengan mengikuti prosedur di Menetapkan organisasi ke reservasi atau Menetapkan project atau folder ke reservasi.

Model eksternal

Jenis model ML BigQuery berikut menggunakan layanan eksternal:

Anda dapat menetapkan slot yang dicadangkan ke kueri menggunakan layanan ini dengan membuat penetapan reservasi yang menggunakan jenis tugas ML_EXTERNAL. Jika tidak ada penetapan pemesanan dengan jenis tugas ML_EXTERNAL yang ditemukan, tugas kueri dijalankan menggunakan harga on-demand.

Untuk tugas pelatihan model eksternal, slot di penetapan reservasi digunakan untuk langkah pra-pemrosesan, pelatihan, dan pascapemrosesan. Selama pelatihan, slot tidak dapat preemptible, tetapi selama pra-pemrosesan dan pascapemrosesan, slot tidak ada aktivitas dapat digunakan.

Model faktorisasi matriks

Untuk membuat model faktorisasi matriks, Anda harus membuat reservasi yang menggunakan edisi Enterprise atau Enterprise Plus BigQuery, lalu membuat penetapan reservasi yang menggunakan jenis tugas QUERY.

Jenis model lainnya

Untuk model BigQuery ML yang bukan model eksternal atau model faktorisasi matriks, Anda dapat menetapkan slot yang dicadangkan ke kueri menggunakan layanan ini dengan membuat penetapan reservasi yang menggunakan jenis tugas QUERY. Jika tidak ada penetapan pemesanan dengan jenis tugas QUERY yang ditemukan, tugas kueri dijalankan menggunakan harga on-demand.

Menemukan penetapan pemesanan

Izin yang diperlukan

Untuk menelusuri penetapan pemesanan untuk project, folder, atau organisasi tertentu, Anda memerlukan izin Identity and Access Management (IAM) berikut:

  • bigquery.reservationAssignments.list di project administrasi.

Setiap peran IAM yang telah ditetapkan berikut mencakup izin ini:

  • BigQuery Admin
  • BigQuery Resource Admin
  • BigQuery Resource Editor
  • BigQuery Resource Viewer
  • BigQuery User

Untuk mengetahui informasi selengkapnya tentang peran IAM di BigQuery, lihat Peran dan izin yang telah ditentukan sebelumnya.

Menemukan penetapan pemesanan project

Anda dapat mengetahui apakah project, folder, atau organisasi Anda ditetapkan ke pemesanan dengan melakukan hal berikut:

Konsol

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di menu navigasi, klik Capacity management.

  3. Klik tab Reservations.

  4. Dalam tabel pemesanan, luaskan pemesanan untuk melihat resource yang ditetapkan ke pemesanan tersebut, atau gunakan kolom Filter untuk memfilter menurut nama resource.

SQL

Untuk menemukan pemesanan tempat tugas kueri project Anda ditetapkan, buat kueri tampilan INFORMATION_SCHEMA.ASSIGNMENTS_BY_PROJECT.

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

      SELECT
        assignment_id
      FROM `region-LOCATION`.INFORMATION_SCHEMA.ASSIGNMENTS_BY_PROJECT
      WHERE
        assignee_id = 'PROJECT_ID'
        AND job_type = 'JOB_TYPE';

    Ganti kode berikut:

    • LOCATION: lokasi pemesanan untuk dilihat
    • ADMIN_PROJECT_ID: ID project dari project administrasi yang memiliki resource pemesanan
    • PROJECT_ID: ID project yang akan ditetapkan ke pemesanan
    • JOB_TYPE: jenis tugas yang akan ditetapkan ke pemesanan ini, seperti QUERY, CONTINUOUS, PIPELINE, BACKGROUND, atau ML_EXTERNAL

  3. Klik Run.

Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.

bq

Untuk menemukan pemesanan tempat tugas kueri project Anda ditetapkan, gunakan perintah bq show dengan flag --reservation_assignment:

bq show \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --reservation_assignment \
    --job_type=JOB_TYPE \
    --assignee_id=PROJECT_ID \
    --assignee_type=PROJECT

Ganti kode berikut:

  • ADMIN_PROJECT_ID: ID project yang memiliki resource pemesanan
  • LOCATION: lokasi pemesanan untuk dilihat
  • JOB_TYPE: jenis tugas yang akan ditetapkan ke pemesanan ini, seperti QUERY, CONTINUOUS, PIPELINE, BACKGROUND, atau ML_EXTERNAL
  • PROJECT_ID: ID project

Memperbarui penetapan pemesanan

Memindahkan penetapan ke pemesanan lain

Anda dapat memindahkan penetapan dari satu pemesanan ke pemesanan lainnya.

Untuk memindahkan penetapan pemesanan, Anda memerlukan izin Identity and Access Management (IAM) berikut di project administrasi dan penerima tugas.

  • bigquery.reservationAssignments.create
  • bigquery.reservationAssignments.delete

Setiap peran IAM yang telah ditetapkan mencakup izin berikut:

  • BigQuery Admin
  • BigQuery Resource Admin
  • BigQuery Resource Editor

Untuk mengetahui informasi selengkapnya tentang peran IAM di BigQuery, lihat Peran dan izin yang telah ditentukan sebelumnya.

Untuk memindahkan penetapan, gunakan perintah bq update:

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --reservation_assignment \
    --destination_reservation_id=DESTINATION_RESERVATION \
    ADMIN_PROJECT_ID:LOCATION.RESERVATION_NAME.ASSIGNMENT_ID

Ganti kode berikut:

  • ADMIN_PROJECT_ID: ID project yang memiliki resource pemesanan
  • LOCATION: lokasi pemesanan baru
  • RESERVATION_NAME: pemesanan untuk memindahkan penetapan dari
  • DESTINATION_RESERVATION: pemesanan untuk memindahkan penetapan ke
  • ASSIGNMENT_ID: ID penetapan

    Untuk mendapatkan ID penetapan, lihat Mencantumkan penetapan pemesanan project.

Menghapus penetapan pemesanan

Anda dapat menghapus project dari pemesanan dengan menghapus penetapan pemesanan. Jika tidak ditetapkan ke pemesanan apa pun, project akan mewarisi penetapan apa pun di folder atau organisasi induknya, atau menggunakan harga sesuai permintaan jika tidak ada penetapan induk.

Saat Anda menghapus penetapan pemesanan, tugas yang dijalankan dengan slot dari pemesanan tersebut akan terus berjalan hingga selesai.

Izin yang diperlukan

Untuk menghapus penetapan pemesanan, Anda memerlukan izin Identity and Access Management (IAM) berikut:

Setiap peran IAM yang telah ditetapkan berikut mencakup izin ini:

  • BigQuery Admin
  • BigQuery Resource Admin
  • BigQuery Resource Editor

Menghapus project dari pemesanan

Untuk menghapus project dari pemesanan:

Konsol

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di menu navigasi, klik Capacity management.

  3. Klik tab Reservations.

  4. Dalam tabel pemesanan, luaskan pemesanan untuk menemukan project.

  5. Perluas opsi Actions.

  6. Klik Delete.

SQL

Gunakan pernyataan DDL DROP ASSIGNMENT.

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

    DROP ASSIGNMENT
      `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME.ASSIGNMENT_ID`;

    Ganti kode berikut:

  3. Klik Run.

Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.

bq

Untuk menghapus project dari pemesanan, gunakan perintah bq rm dengan flag --reservation_assignment:

bq rm \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --reservation_assignment RESERVATION_NAME.ASSIGNMENT_ID

Ganti kode berikut:

  • ADMIN_PROJECT_ID: ID project yang memiliki resource pemesanan
  • LOCATION: lokasi pemesanan
  • RESERVATION_NAME: nama pemesanan
  • ASSIGNMENT_ID: ID penetapan

    Untuk mendapatkan ID penetapan, lihat Menemukan penetapan pemesanan project.