获取 BI 预留

从 BigQuery Reservation API 获取指定 BI 预留的详细信息。

代码示例

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

/**
 * Retrieves a BI reservation.
 * A BI reservation is a singleton resource in a location.
 * @param {string} projectId Google Cloud project ID, for example 'example-project-id'.
 * @param {string} location Google Cloud location, for example 'US'.
 */
async function getBiReservation(projectId, location = 'US') {
  const name = client.biReservationPath(projectId, location);
  const request = {
    name,
  };

  try {
    const [reservation] = await client.getBiReservation(request);
    console.log(`Got BI reservation: ${reservation.name}`);
    console.log(`  Size: ${reservation.size} bytes`);
    if (reservation.updateTime) {
      const updateTime = new Date(
        reservation.updateTime.seconds * 1000 +
          reservation.updateTime.nanos / 1000000,
      );
      console.log(`  Last updated: ${updateTime.toISOString()}`);
    }
  } catch (err) {
    if (err.code === status.NOT_FOUND) {
      console.log(
        `BI reservation not found for project ${projectId} in location ${location}.`,
      );
    } else {
      console.error('Error getting BI reservation:', err);
    }
  }
}

Python

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

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

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


def get_bi_reservation(project_id: str, location: str):
    """Gets a BI reservation.

    A BI reservation is a singleton resource. It is not created explicitly, but
    can be updated to enable BI Engine.

    Args:
        project_id: The Google Cloud project ID.
        location: The geographic location of the BI reservation , for example, us-central1.
    """
    client = bigquery_reservation_v1.ReservationServiceClient()
    name = client.bi_reservation_path(project_id, location)

    try:
        reservation = client.get_bi_reservation(name=name)
        print(f"Got BI reservation: {reservation.name}")
        print(f"\tSize: {reservation.size} bytes")
        print(f"\tUpdated at: {reservation.update_time}")
    except NotFound:
        print(
            f"BI reservation not found for project '{project_id}' in location '{location}'."
        )

后续步骤

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