列出预留的所有分配

检索指定 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 reservationServiceClient = new ReservationServiceClient();

/**
 * Lists assignments.
 * An assignment lets a project, folder, or organization use slots from a
 * specified reservation. By using a wildcard `-` for the reservation ID,
 * this sample lists all assignments for a given project and location.
 *
 * @param {string} projectId The ID of the project. Example: 'example-project-id'
 * @param {string} location The location of the reservation. Example: 'us-central1'
 */
async function listAssignments(projectId, location = 'us-central1') {
  const request = {
    parent: `projects/${projectId}/locations/${location}/reservations/-`,
  };

  try {
    const iterable = reservationServiceClient.listAssignmentsAsync(request);
    console.log(`Assignments in parent "${request.parent}":`);

    let found = false;
    for await (const assignment of iterable) {
      found = true;
      console.log(`- ${assignment.name}`);
      console.log(`  - Assignee: ${assignment.assignee}`);
      console.log(`  - Job Type: ${assignment.jobType}`);
    }

    if (!found) {
      console.log('  No assignments found.');
    }
  } catch (err) {
    if (err.code === status.NOT_FOUND) {
      console.log(`Parent resource not found: ${request.parent}`);
    } else {
      console.error('Error listing assignments:', err);
    }
  }
}

Python

试用此示例之前,请按照 BigQuery 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 BigQuery Python API 参考文档

如需向 BigQuery 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证

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


def list_assignments(
    project_id: str,
    location: str,
    reservation_id: str,
):
    """Lists all assignments for a reservation.

    This sample shows how to list all assignments in a given reservation.
    To list all assignments in a given location, across all reservations,
    use a wildcard `-` for the reservation ID.

    Args:
        project_id: The Google Cloud project ID.
        location: The geographic location of the assignments , for example, 'us-central1'.
        reservation_id: The ID of the reservation to list assignments for, or "-"
            to list all assignments for the project and location.
    """
    client = bigquery_reservation_v1.ReservationServiceClient()
    parent = client.reservation_path(project_id, location, reservation_id)

    try:
        print(f"Listing assignments for parent: '{parent}'")
        assignment_list = client.list_assignments(parent=parent)

        found_assignments = False
        for assignment in assignment_list:
            found_assignments = True
            print(f"  Got assignment: {assignment.name}")

        if not found_assignments:
            print("No assignments found.")

    except exceptions.NotFound:
        print(f"Parent resource '{parent}' not found.")

后续步骤

如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅Google Cloud 示例浏览器