יצירת בקשה לשמירת מקום ב-BigQuery

יצירת הזמנה בפרויקט ובמיקום שצוינו. הזמנה מייצגת בלוק של קיבולת ייעודית לעיבוד שאילתות ב-BigQuery, שאפשר להקצות לעומסי העבודה של הארגון.

דוגמת קוד

Node.js

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

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

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

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 .