Reservierungen auflisten

Listet alle BigQuery-Reservierungen in einem angegebenen Projekt und an einem angegebenen Standort auf.

Codebeispiel

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

import com.google.api.gax.rpc.ApiException;
import com.google.api.gax.rpc.NotFoundException;
import com.google.cloud.bigquery.reservation.v1.ListReservationsRequest;
import com.google.cloud.bigquery.reservation.v1.LocationName;
import com.google.cloud.bigquery.reservation.v1.Reservation;
import com.google.cloud.bigquery.reservation.v1.ReservationServiceClient;
import java.io.IOException;

public class ListReservations {

  /**
   * Lists all BigQuery reservations in a given project and location. A reservation provides
   * computational resource guarantees, in the form of slots, to users.
   *
   * @param projectId The Google Cloud project ID (for example, "example-project-id").
   * @param location The geographic location of the reservations (for example, "us-central1").
   */
  public static void listReservations(String projectId, String location) {
    LocationName parent = LocationName.of(projectId, location);

    ListReservationsRequest request =
        ListReservationsRequest.newBuilder().setParent(parent.toString()).build();

    try (ReservationServiceClient client = ReservationServiceClient.create()) {
      System.out.printf("Listing reservations for parent: '%s':%n", parent);
      for (Reservation reservation : client.listReservations(request).iterateAll()) {
        System.out.printf("  Reservation: %s%n", reservation.getName());
        System.out.printf("  Slot capacity: %d%n", reservation.getSlotCapacity());
      }
      System.out.println("Finished listing reservations.");
    } catch (NotFoundException err) {
      System.err.printf(
          "error: parent resource '%s' not found: %s%n", parent, err.getMessage());
    } catch (ApiException | IOException err) {
      System.err.printf(
          "error: failed to list reservations in '%s': %s%n", parent, err.getMessage());
    }
  }

Node.js

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Node.js-Einrichtungsanleitung in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.

Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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

const client = new ReservationServiceClient();

/**
 * Lists all reservations for the project in the specified location.
 *
 * A reservation provides computational resource guarantees, in the form of
 * slots, to users.
 *
 * @param {string} projectId Google Cloud project ID. for example 'example-project-id'
 * @param {string} location Google Cloud location. for example 'us-central1'
 */
async function listReservations(projectId, location = 'us-central1') {
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
  };

  try {
    const [reservations] = await client.listReservations(request);

    if (reservations.length === 0) {
      console.log(
        `No reservations found in project ${projectId} in location ${location}.`,
      );
      return;
    }

    console.log(
      `Reservations in project ${projectId} in location ${location}:`,
    );
    for (const reservation of reservations) {
      console.log(`- Reservation: ${reservation.name}`);
      console.log(`  Slot capacity: ${reservation.slotCapacity}`);
      console.log(`  Ignore idle slots: ${reservation.ignoreIdleSlots}`);
    }
  } catch (err) {
    if (err.code === status.NOT_FOUND) {
      console.log(`Project or location not found: ${request.parent}`);
    } else {
      console.error('An error occurred while listing reservations:', err);
    }
  }
}

Python

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Python-Einrichtungsanleitung in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.

Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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

client = bigquery_reservation_v1.ReservationServiceClient()


def list_reservations(project_id: str, location: str):
    """Lists all reservations for a project and location.

    A reservation provides computational resource guarantees, in the form of
    slots, to users. This sample shows how to list existing reservations
    within a specific project and location.

    Args:
        project_id: The Google Cloud project ID.
        location: The geographic location of the reservations, for example, us-central1.
    """

    parent = f"projects/{project_id}/locations/{location}"

    try:
        print(f"Listing reservations for parent: '{parent}':")
        for reservation in client.list_reservations(parent=parent):
            print(f"\tReservation: {reservation.name}")
            print(f"\tSlot capacity: {reservation.slot_capacity}")

        print("Finished listing reservations.")
    except exceptions.NotFound:
        print(
            f"Parent resource '{parent}' was not found. Please check your project ID and location."
        )

Nächste Schritte

Wenn Sie nach Codebeispielen für andere Produkte von Google Cloud suchen und filtern möchten, können Sie den Beispielbrowser fürGoogle Cloud verwenden.