建立 BigQuery 預留位置

在指定專案和位置建立預留項目。保留項目代表一組專用的 BigQuery 查詢處理容量,可分配給貴機構的工作負載。

程式碼範例

Node.js

在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Node.js 設定說明操作。詳情請參閱 BigQuery Node.js API 參考說明文件

如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。

const {ReservationServiceClient} =
  require('@google-cloud/bigquery-reservation').v1;
const {status} = require('@grpc/grpc-js');

const client = new ReservationServiceClient();

/**
 * Creates a new reservation.
 * A reservation provides computational resource guarantees, in the form of
 * slots, to users. A slot is a unit of computational power in BigQuery.
 *
 * @param {string} projectId Google Cloud project ID, for example 'example-project-id'.
 * @param {string} location The geographic location where the reservation should reside, for example 'us-central1'.
 * @param {string} reservationId The ID of the reservation to create, for example 'example-reservation'.
 */
async function createReservation(
  projectId,
  location = 'us-central1',
  reservationId = 'example-reservation',
) {
  const parent = `projects/${projectId}/locations/${location}`;
  const request = {
    parent,
    reservationId,
    reservation: {
      slotCapacity: 100,
      ignoreIdleSlots: false,
    },
  };

  try {
    const [createdReservation] = await client.createReservation(request);
    console.log(`Created reservation: ${createdReservation.name}`);
    console.log(`  Slot capacity: ${createdReservation.slotCapacity}`);
  } catch (err) {
    if (err.code === status.ALREADY_EXISTS) {
      console.log(
        `Reservation ${reservationId} already exists in project ${projectId} at location ${location}.`,
      );
    } else {
      console.error(`Error creating reservation ${reservationId}:`, err);
    }
  }
}

Python

在試用這個範例之前,請先按照「使用用戶端程式庫的 BigQuery 快速入門導覽課程」中的 Python 設定說明操作。詳情請參閱 BigQuery Python API 參考說明文件

如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。

from google.api_core.exceptions import AlreadyExists
from google.cloud import bigquery_reservation_v1

client = bigquery_reservation_v1.ReservationServiceClient()


def create_reservation(project_id: str, location: str, reservation_id: str):
    """Creates a reservation.

    A reservation is a mechanism used to guarantee slots to users.

    Args:
        project_id: The Google Cloud project ID.
        location: The geographic location of the reservation, for example, "us-central1".
        reservation_id: The ID of the reservation to create. It must only contain
            lower case alphanumeric characters or dashes. It must start with a
            letter and must not end with a dash. Its maximum length is 64
            characters.
    """

    parent = f"projects/{project_id}/locations/{location}"
    reservation = bigquery_reservation_v1.Reservation(
        slot_capacity=100,
        ignore_idle_slots=True,
    )

    try:
        response = client.create_reservation(
            parent=parent,
            reservation_id=reservation_id,
            reservation=reservation,
        )
        print(f"Created reservation: {response.name}")
    except AlreadyExists:
        print(
            f"Reservation '{reservation_id}' already exists in location '{location}'."
        )

後續步驟

如要搜尋及篩選其他 Google Cloud 產品的程式碼範例,請參閱Google Cloud 範例瀏覽工具