列出預留項目群組

列出指定專案和位置中的所有 BigQuery 預留項目群組。

程式碼範例

Java

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

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

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

public class ListReservationGroups {

  /**
   * Lists all BigQuery reservation groups in a given project and location. A reservation group is
   * a container for reservations.
   *
   * @param projectId The Google Cloud project ID (for example, "example-project-id").
   * @param location The geographic location of the reservation groups (for example, "us-central1").
   */
  public static void listReservationGroups(String projectId, String location) {
    LocationName parent = LocationName.of(projectId, location);

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

    try (ReservationServiceClient client = ReservationServiceClient.create()) {
      System.out.printf("Listed reservation groups for parent: '%s'%n", parent);
      for (ReservationGroup group : client.listReservationGroups(request).iterateAll()) {
        System.out.printf("  Reservation group: %s%n", group.getName());
      }
    } 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 reservation groups in '%s': %s%n", parent, err.getMessage());
    }
  }

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();

/**
 * Lists all reservation groups for a project in a specified location.
 * A reservation group is a container for reservations.
 *
 * @param {string} projectId Google Cloud project ID (for example, 'example-project-id').
 * @param {string} location Google Cloud location (for example, 'us-central1').
 */
async function listReservationGroups(projectId, location = 'us-central1') {
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
  };

  try {
    const [reservationGroups] = await client.listReservationGroups(request);

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

    console.log(
      `Reservation groups in project ${projectId} at location ${location}:`,
    );
    for (const group of reservationGroups) {
      console.log(`  ${group.name}`);
    }
  } catch (err) {
    if (err.code === status.NOT_FOUND) {
      console.log(`Project or location not found: ${request.parent}`);
    } else {
      console.error('Error listing reservation groups:', err);
    }
  }
}

Python

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

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

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

client = bigquery_reservation_v1.ReservationServiceClient()


def list_reservation_groups(project_id: str, location: str):
    """Lists all reservation groups for the project in the specified location.

    A reservation group is a container for reservations. This sample shows
    how to list all reservation groups within a specific project and location.

    Args:
        project_id: The Google Cloud project ID.
        location: The geographic location of the reservation groups, for example, "us-central1".
    """
    parent = f"projects/{project_id}/locations/{location}"

    try:
        page_result = client.list_reservation_groups(parent=parent)
        print(f"Listed reservation groups for parent: '{parent}'")
        for group in page_result:
            print(f"  Reservation group: {group.name}")
    except google.api_core.exceptions.NotFound:
        print(f"Parent resource '{parent}' was not found.")
    except google.api_core.exceptions.GoogleAPICallError as e:
        print(
            f"Could not list reservation groups. Please check your permissions. Error: {e}"
        )

後續步驟

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