Listar reservas

Lista todas as reservas do BigQuery em um projeto e local especificados.

Exemplo de código

Java

Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.

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

Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Node.js.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.

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

Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.

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."
        )

A seguir

Para pesquisar e filtrar exemplos de código de outros Google Cloud produtos, consulte a Google Cloud pesquisa de exemplos de código.