Atualizar uma reserva de BI

Atualize o tamanho de uma reserva de BI. O BigQuery BI Engine usa reservas de BI para executar análises rápidas na memória.

Exemplo de código

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

/**
 * Updates a BI reservation.
 * A singleton BI reservation always exists with a default size of 0. To reserve
 * BI capacity, you must update the reservation to an amount greater than 0. To
 * release BI capacity, set the reservation size to 0.
 *
 * @param {string} projectId Google Cloud Project ID, for example 'example-project-id'
 * @param {string} location Google Cloud Location, for example 'US'
 */
async function updateBiReservation(projectId, location = 'US') {
  const biReservation = {
    name: client.biReservationPath(projectId, location),
    // Set the reservation size in bytes. This example sets it to 2 GiB.
    size: 2 * 1024 * 1024 * 1024,
  };
  const updateMask = {
    paths: ['size'],
  };

  const request = {
    biReservation,
    updateMask,
  };

  try {
    const [updatedReservation] = await client.updateBiReservation(request);
    console.log(`Updated BI reservation: ${updatedReservation.name}`);
    console.log(`  Size: ${updatedReservation.size} bytes`);
  } catch (err) {
    if (err.code === status.NOT_FOUND) {
      console.log(
        `BI Reservation not found for project ${projectId} in location ${location}.`,
      );
    } else {
      console.error('Error updating BI reservation:', 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
from google.protobuf import field_mask_pb2

client = bigquery_reservation_v1.ReservationServiceClient()


def update_bi_reservation(project_id: str, location: str):
    """Updates a BI reservation.

    A singleton BI reservation always exists with default size 0.
    To reserve BI capacity, update the reservation to an amount
    greater than 0. To release BI capacity, set the reservation size to 0.

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

    name = client.bi_reservation_path(project=project_id, location=location)
    bi_reservation = bigquery_reservation_v1.types.BiReservation()
    bi_reservation.name = name

    # The size of a BI reservation is measured in bytes. 2 GB is used here.
    bi_reservation.size = 2 * 10**9
    update_mask = field_mask_pb2.FieldMask(paths=["size"])

    try:
        response = client.update_bi_reservation(
            bi_reservation=bi_reservation, update_mask=update_mask
        )
        print(f"Updated BI reservation: {response.name}")
        print(f"New size is {response.size} bytes.")
    except exceptions.NotFound:
        print(
            f"BI reservation not found for project '{project_id}' in location '{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.