Trabajar con reservas de slots
La API BigQuery Reservation te permite comprar ranuras dedicadas (llamadas compromisos), crear grupos de ranuras (llamados reservas) y asignar proyectos, carpetas y organizaciones a esas reservas.
Las reservas te permiten asignar un número concreto de ranuras a una carga de trabajo. Por ejemplo, puede que no quieras que una carga de trabajo de producción compita con cargas de trabajo de prueba por las ranuras. Puedes crear una reserva llamada prod
y asignar tus cargas de trabajo de producción a esta reserva. Para obtener más información, consulta Reservas.
Crear reservas
Permisos obligatorios
Para crear una reserva, necesitas el siguiente permiso de Gestión de Identidades y Accesos (IAM):
bigquery.reservations.create
en el proyecto de administración que mantiene la propiedad de los compromisos.
Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye este permiso:
BigQuery Resource Editor
BigQuery Resource Admin
Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.
Crear una reserva con slots específicos
Selecciona una de las opciones siguientes:
Consola
En la Cloud de Confiance consola, ve a la página BigQuery.
En el menú de navegación, haz clic en Gestión de la capacidad.
Haz clic en Crear reserva.
En el campo Nombre de la reserva, introduce un nombre para la reserva.
En la lista Ubicación, selecciona la ubicación. Si seleccionas una ubicación de BigQuery Omni, tu opción de edición se limitará a la edición Enterprise.
En la lista Edición, selecciona la edición. Las funciones de la edición de BigQuery, como el escalado automático, solo están disponibles en una edición. Para obtener más información, consulta la introducción a las ediciones de BigQuery.
En la lista Selector de tamaño máximo de reserva, selecciona el tamaño máximo de reserva.
Opcional: En el campo Espacios publicitarios de referencia, introduce el número de espacios publicitarios de referencia de la reserva.
El número de ranuras de autoescalado disponibles se determina restando el valor de Ranuras base del valor de Tamaño máximo de reserva. Por ejemplo, si creas una reserva con 100 espacios de base y un tamaño máximo de reserva de 400, tu reserva tendrá 300 espacios de escalado automático. Para obtener más información sobre los intervalos de referencia, consulta el artículo Usar reservas con intervalos de referencia y de autoescalado.
Para inhabilitar la función de compartir espacios inactivos y usar solo la capacidad de espacio especificada, haga clic en el interruptor Ignorar espacios inactivos.
Para desplegar la sección Configuración avanzada, haz clic en la flecha de
expansión.Opcional: Para definir la simultaneidad de trabajos objetivo, activa el interruptor Anular la simultaneidad de trabajos objetivo automática e introduce la simultaneidad de trabajos objetivo.
El desglose de los espacios se muestra en la tabla Estimación de costes. En la tabla Resumen de capacidad se muestra un resumen de la reserva.
Haz clic en Guardar.
La nueva reserva se muestra en la pestaña Reservas de espacios.
SQL
Para crear una reserva, usa la declaración de DDL CREATE RESERVATION
.
En la Cloud de Confiance consola, ve a la página BigQuery.
En el editor de consultas, introduce la siguiente instrucción:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, edition = EDITION, autoscale_max_slots = NUMBER_OF_AUTOSCALING_SLOTS);
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyecto de administración que posee el recurso de reservaLOCATION
: la ubicación de la reserva. Si seleccionas una ubicación de BigQuery Omni, la opción de edición se limitará a la edición Enterprise.RESERVATION_NAME
: el nombre de la reservaEl nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe empezar por una letra y no puede terminar con un guion. Además, puede tener 64 caracteres como máximo.
NUMBER_OF_BASELINE_SLOTS
: número de referencia de los espacios que se van a asignar a la reserva. No puedes definir las opcionesslot_capacity
yedition
en la misma reserva.EDITION
: la edición de la reserva. Al asignar una reserva a una edición, se producen cambios en las funciones y los precios. Para obtener más información, consulta Introducción a las ediciones de BigQuery.NUMBER_OF_AUTOSCALING_SLOTS
: número de ranuras de autoescalado asignadas a la reserva. Es igual al valor del tamaño máximo de la reserva menos el número de espacios publicitarios de referencia.
Haz clic en
Ejecutar.
Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.
bq
Para crear una reserva, usa el comando bq mk
con la marca --reservation
:
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation \ --slots=NUMBER_OF_BASELINE_SLOTS \ --ignore_idle_slots=false \ --edition=EDITION \ --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS \ --max_slots=MAXIMUM_NUMBER_OF_SLOTS --scaling_mode=SCALING_MODE RESERVATION_NAME
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyectoLOCATION
: la ubicación de la reserva. Si seleccionas una ubicación de BigQuery Omni, tu opción de edición se limitará a la edición Enterprise.NUMBER_OF_BASELINE_SLOTS
: número de espacios publicitarios básicos que se asignarán a la reserva.RESERVATION_NAME
: el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe empezar por una letra y no puede terminar con un guion. Además, puede tener 64 caracteres como máximo.EDITION
: la edición de la reserva. Al asignar una reserva a una edición, se producen cambios en las funciones y los precios. Para obtener más información, consulta Introducción a las ediciones de BigQuery.NUMBER_OF_AUTOSCALING_SLOTS
: número de ranuras de autoescalado asignadas a la reserva. Es igual al valor del tamaño máximo de la reserva menos el número de espacios publicitarios de referencia. No se puede configurar con las marcas--max_slots
ni--scaling_mode
.MAXIMUM_NUMBER_OF_SLOTS
: número máximo de ranuras que puede consumir la reserva. Este valor debe configurarse con la marca--scaling_mode
(Vista previa).SCALING_MODE
: el modo de escalado de la reserva. Las opciones sonALL_SLOTS
,IDLE_SLOTS_ONLY
oAUTOSCALE_ONLY
. Este valor debe configurarse con la marca--scaling_mode
(Vista previa).
Para obtener información sobre la marca --ignore_idle_slots
, consulta la sección Ranuras inactivas. El valor predeterminado es false
.
Terraform
Usa el recurso google_bigquery_reservation
.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se crea una reserva llamada my-reservation
:
Para aplicar la configuración de Terraform en un proyecto, sigue los pasos que se indican en las siguientes secciones. Cloud de Confiance
Preparar Cloud Shell
- Abre Cloud Shell.
-
Define el Cloud de Confiance proyecto predeterminado en el que quieras aplicar tus configuraciones de Terraform.
Solo tiene que ejecutar este comando una vez por proyecto y puede hacerlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si defines valores explícitos en el archivo de configuración de Terraform.
Preparar el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).
-
En Cloud Shell, crea un directorio y un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión
.tf
. Por ejemplo,main.tf
. En este tutorial, nos referiremos al archivo comomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.
Copia el código de ejemplo en el archivo
main.tf
que acabas de crear.También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.
- Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
terraform init
Si quieres usar la versión más reciente del proveedor de Google, incluye la opción
-upgrade
:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
terraform plan
Haga las correcciones necesarias en la configuración.
-
Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo
yes
en la petición:terraform apply
Espera hasta que Terraform muestre el mensaje "Apply complete!".
- Abre tu Cloud de Confiance proyecto para ver los resultados. En la Cloud de Confiance consola, ve a tus recursos en la interfaz de usuario para asegurarte de que Terraform los ha creado o actualizado.
Python
Crear una reserva predecible
Antes de crear una reserva con un número máximo de espacios, debes habilitar la equidad basada en reservas.
Habilitar la equidad basada en reservas
Para habilitar la equidad basada en reservas, asigna el valor true
a la enable_reservation_based_fairness
marca.
Para actualizar la equidad basada en reservas de un proyecto, necesitas el permiso bigquery.config.update
en el proyecto que mantiene la propiedad de las reservas. El rol predefinido BigQuery Admin
incluye este permiso.
Para obtener más información sobre cómo actualizar la configuración predeterminada de un proyecto, consulta Gestionar ajustes de configuración.
ALTER PROJECT `PROJECT_NAME` SET OPTIONS ( `region-LOCATION.enable_reservation_based_fairness`= true);
Haz los cambios siguientes:
- PROJECT_NAME: el ID del proyecto de administración
- LOCATION: la ubicación de la reserva
Crear una reserva predecible
Para crear una reserva predecible con un número máximo de ranuras, selecciona una de las siguientes opciones:
Consola
En la Cloud de Confiance consola, ve a la página BigQuery.
En el panel de navegación, vaya a la sección Gestión de la capacidad y, a continuación, haga clic en Crear reserva.
En el campo Nombre de la reserva, introduce un nombre para la reserva.
En la lista Ubicación, selecciona la ubicación. Si seleccionas una ubicación de BigQuery Omni, tu opción de edición se limitará a la edición Enterprise.
En la lista Edición, selecciona la edición. El autoescalado solo está disponible en una edición. Para obtener más información, consulta Información sobre las ediciones de BigQuery.
En la lista Selector de tamaño máximo de reserva, selecciona el tamaño máximo de reserva.
Opcional: En el campo Espacios publicitarios de referencia, introduce el número de espacios publicitarios de referencia de la reserva.
El número de ranuras de autoescalado disponibles se determina restando el valor de Ranuras base del valor de Tamaño máximo de reserva. Por ejemplo, si creas una reserva con 100 espacios de base y un tamaño máximo de reserva de 400, tu reserva tendrá 300 espacios de escalado automático. Para obtener más información sobre los intervalos de referencia, consulta el artículo Usar reservas con intervalos de referencia y de autoescalado.
Para inhabilitar la función de compartir espacios inactivos y usar solo la capacidad de espacio especificada, haga clic en el interruptor Ignorar espacios inactivos.
Para desplegar la sección Configuración avanzada, haz clic en la flecha de
expansión.- En la lista ¿Cómo se usan los espacios inactivos?, selecciona la opción de configuración.
El desglose de los espacios se muestra en la tabla Estimación de costes. En la tabla Resumen de capacidad se muestra un resumen de la reserva.
Haz clic en Guardar.
La nueva reserva se muestra en la pestaña Reservas de espacios.
bq
Para crear una reserva predecible, usa el comando bq mk
con la marca --reservation
y define los valores de max_slots
y scaling_mode
:
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation \ --slots=NUMBER_OF_BASELINE_SLOTS \ --ignore_idle_slots=false \ --edition=EDITION \ --max_slots=MAXIMUM_NUMBER_OF_SLOTS \ --scaling_mode=SCALING_MODE RESERVATION_NAME
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyectoLOCATION
: la ubicación de la reserva. Si seleccionas una ubicación de BigQuery Omni, tu opción de edición se limitará a la edición Enterprise.NUMBER_OF_BASELINE_SLOTS
: número de espacios publicitarios básicos que se asignarán a la reserva.RESERVATION_NAME
: el nombre de la reservaEDITION
: la edición de la reserva. Al asignar una reserva a una edición, se producen cambios en las funciones y los precios. Para obtener más información, consulta Introducción a las ediciones de BigQuery.MAXIMUM_NUMBER_OF_SLOTS
: número máximo de ranuras que puede consumir la reserva. Este valor debe configurarse con la marca--scaling_mode
.SCALING_MODE
:SCALING_MODE
: el modo de escalado de la reserva. Las opciones sonALL_SLOTS
,IDLE_SLOTS_ONLY
oAUTOSCALE_ONLY
. Este valor debe configurarse con la marcamax_slots
. Este valor debe estar alineado con la marcaignore_idle_slots
. Para obtener más información, consulta Predictibilidad de las reservas.
Para obtener información sobre la marca --ignore_idle_slots
, consulta la sección Ranuras inactivas. El valor predeterminado es false
.
SQL
Para crear una reserva predecible, usa la declaración de DDL CREATE RESERVATION
.
En la Cloud de Confiance consola, ve a la página BigQuery.
En el editor de consultas, introduce la siguiente instrucción:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, edition = EDITION, ignore_idle_slots=IGNORE_IDLE_SLOTS max_slots = MAX_NUMBER_OF_SLOTS, scaling_mode = SCALING_MODE);
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyecto de administración que tiene el recurso de reserva.LOCATION
: la ubicación de la reserva. Si seleccionas una ubicación de BigQuery Omni, la opción de edición se limitará a la edición Enterprise.RESERVATION_NAME
: el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe empezar por una letra y no puede terminar con un guion. La longitud máxima es de 64 caracteres.NUMBER_OF_BASELINE_SLOTS
: número de referencia de los espacios que se van a asignar a la reserva. No puedes definir las opcionesslot_capacity
yedition
en la misma reserva.EDITION
: la edición de la reserva. Al asignar una reserva a una edición, se producen cambios en las funciones y los precios. Para obtener más información, consulta Introducción a las ediciones de BigQuery.IGNORE_IDLE_SLOTS
: si la reserva usa horas disponibles o no. El valor predeterminado esfalse
.MAX_NUMBER_OF_SLOTS
: número máximo de ranuras que puede consumir la reserva. Este valor debe configurarse con la opciónscaling_mode
.SCALING_MODE
: el modo de escalado de la reserva. Las opciones sonALL_SLOTS
,IDLE_SLOTS_ONLY
oAUTOSCALE_ONLY
. Este valor debe configurarse con la opciónmax_slots
. Este valor debe estar alineado con la opciónignore_idle_slots
. Para obtener más información, consulta Predictibilidad de las reservas.
Haz clic en
Ejecutar.
Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.
Para obtener más información sobre las reservas predecibles, consulta el artículo Reservas predecibles.
Actualizar reservas
Puedes hacer los siguientes cambios en una reserva:
- Cambia el tamaño de la reserva añadiendo o quitando espacios.
- Configura si las consultas de esta reserva usan ranuras inactivas.
- Cambiar la cantidad de ranuras de referencia o de autoescalado asignadas a una reserva.
- Define la simultaneidad de tareas de destino.
Para cambiar la edición de una reserva, primero elimina la reserva y, después, crea una reserva con la edición actualizada.
Permisos obligatorios
Para actualizar una reserva, necesitas el siguiente permiso de gestión de identidades y accesos (IAM):
bigquery.reservations.update
en el proyecto de administración que mantiene la propiedad de los compromisos.
Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye este permiso:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.
Cambiar el tamaño de una reserva
Puedes añadir o quitar franjas horarias de una reserva.
Consola
En la Cloud de Confiance consola, ve a la página BigQuery.
En el menú de navegación, haz clic en Gestión de la capacidad.
Haz clic en la pestaña Reservas de espacios.
Busca la reserva que quieras modificar.
Abre la opción
Acciones.Haz clic en Editar.
En el cuadro de diálogo Selector de tamaño máximo de reserva, introduce el tamaño máximo de reserva.
En el campo Ranuras de referencia, introduce el número de ranuras de referencia.
Para desplegar la sección Configuración avanzada, haz clic en la flecha de
expansión.Opcional: Para definir la simultaneidad de trabajos objetivo, activa el interruptor Anular la simultaneidad de trabajos objetivo automática e introduce la simultaneidad de trabajos objetivo.
Haz clic en Guardar.
SQL
Para cambiar el tamaño de una reserva, usa la ALTER RESERVATION SET OPTIONS
declaración del lenguaje de definición de datos (DDL).
En la Cloud de Confiance consola, ve a la página BigQuery.
En el editor de consultas, introduce la siguiente instrucción:
ALTER RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` SET OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, autoscale_max_slots = NUMBER_OF_AUTOSCALING_SLOTS);
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyecto de administración que posee el recurso de reservaLOCATION
: la ubicación de la reserva, por ejemplo,europe-west9
.RESERVATION_NAME
: el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe empezar por una letra y no puede terminar con un guion. Además, puede tener 64 caracteres como máximo.NUMBER_OF_BASELINE_SLOTS
: número de espacios de referencia que se asignarán a la reserva.NUMBER_OF_AUTOSCALING_SLOTS
: número de ranuras de autoescalado asignadas a la reserva. Es igual al valor del tamaño máximo de la reserva menos el número de espacios publicitarios de referencia.
Haz clic en
Ejecutar.
Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.
bq
Para actualizar el tamaño de una reserva, usa el comando bq update
con la marca --reservation
:
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --slots=NUMBER_OF_BASELINE_SLOTS \ --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS \ --reservation RESERVATION_NAME
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyectoLOCATION
: la ubicación de la reservaNUMBER_OF_BASELINE_SLOTS
: número de espacios publicitarios básicos que se asignarán a la reserva.RESERVATION_NAME
: el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe empezar por una letra y no puede terminar con un guion. Además, puede tener 64 caracteres como máximo.NUMBER_OF_AUTOSCALING_SLOTS
: número de ranuras de autoescalado asignadas a la reserva. Es igual al valor del tamaño máximo de la reserva menos el número de espacios publicitarios de referencia.
Python
Configurar si las consultas usan ranuras inactivas
La marca --ignore_idle_slots
controla si las consultas que se ejecutan en una reserva pueden usar las ranuras inactivas de otras reservas. Para obtener más información, consulta la sección Ranuras inactivas. Puedes actualizar esta configuración en una reserva que ya tengas.
Para actualizar una reserva, usa el comando bq update
con la marca --reservation
. En el siguiente ejemplo se asigna true
a --ignore_idle_slots
,
lo que significa que la reserva solo usará los espacios asignados a la reserva.
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --ignore_idle_slots=true \ --reservation RESERVATION_NAME
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyectoLOCATION
: la ubicación de la reservaRESERVATION_NAME
: el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe empezar por una letra y no puede terminar con un guion. Además, puede tener 64 caracteres como máximo.
Mostrar la configuración de los espacios inactivos
Para consultar el ajuste Espacios inactivos de una reserva, sigue estos pasos:
SQL
Consulta la columna ignore_idle_slots
de la vista INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT
.
En la Cloud de Confiance consola, ve a la página BigQuery.
En el editor de consultas, introduce la siguiente instrucción:
SELECT reservation_name, ignore_idle_slots FROM `ADMIN_PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT;
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyecto de administración que posee los recursos de reserva.LOCATION
: la ubicación de las reservas
Haz clic en
Ejecutar.
Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.
bq
Usa el comando bq ls
con la marca --reservation
:
bq ls --reservation \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyecto de administración que posee los recursos de reservaLOCATION
: la ubicación de las reservas
El campo ignoreIdleSlots
contiene el ajuste de configuración.
Eliminar reservas
Si eliminas una reserva, fallarán todas las tareas en curso que utilicen ranuras de esa reserva. Para evitar errores, deja que se completen los trabajos en ejecución antes de eliminar la reserva.
Permisos obligatorios
Para eliminar una reserva, necesita el siguiente permiso de gestión de identidades y accesos (IAM):
bigquery.reservations.delete
en el proyecto de administración que mantiene la propiedad de los compromisos.
Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye este permiso:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.
.Eliminar una reserva
Consola
En la Cloud de Confiance consola, ve a la página BigQuery.
En el menú de navegación, haz clic en Gestión de la capacidad.
Haz clic en la pestaña Reservas.
Busca la reserva que quieras eliminar.
Abre la opción
Acciones.Haz clic en Eliminar.
En el cuadro de diálogo Eliminar reserva, haz clic en Eliminar.
SQL
Para eliminar una reserva, utiliza la declaración de DDL DROP RESERVATION
.
En la Cloud de Confiance consola, ve a la página BigQuery.
En el editor de consultas, introduce la siguiente instrucción:
DROP RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`;
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyecto de administración que posee el recurso de reservaLOCATION
: la ubicación de la reservaRESERVATION_NAME
: el ID de la reserva
Haz clic en
Ejecutar.
Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.
bq
Para eliminar una reserva, usa el comando bq rm
con la marca --reservation
:
bq rm \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation RESERVATION_NAME
Haz los cambios siguientes:
ADMIN_PROJECT_ID
: el ID del proyecto de administración que posee el recurso de reservaLOCATION
: la ubicación de la reservaRESERVATION_NAME
: el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe empezar por una letra y no puede terminar con un guion. Además, puede tener 64 caracteres como máximo.
Python
Controlar el acceso a las reservas
Puedes controlar qué usuarios tienen acceso a determinadas reservas. Para que un usuario pueda anular una reserva en su consulta, debe tener el permiso reservations.use
en esa reserva.
Permisos obligatorios
Para obtener el permiso que necesitas para especificar una reserva concreta para tu trabajo,
pide a tu administrador que te conceda el rol de gestión de identidades y accesos
Editor de recursos (roles/bigquery.resourceEditor
)
en el recurso de reserva.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso reservations.use
, que es necesario para especificar una reserva concreta para tu trabajo.
También puedes obtener este permiso con roles personalizados u otros roles predefinidos.
Controlar el acceso a una reserva
Para gestionar el acceso a un recurso de reserva específico, usa el comando bq
set-iam-policy
.
Para gestionar el acceso a varios recursos de reserva, usa la Cloud de Confiance consola para asignar el rol Editor de recursos de BigQuery en el proyecto, la carpeta o la organización. Cuando asignes el rol, usa una condición de gestión de identidades y accesos para permitir el acceso a los recursos de reserva cuando se cumplan las condiciones especificadas.
Para controlar el acceso a las reservas, haz una de las siguientes acciones:
Consola
En la Cloud de Confiance consola, puedes permitir el acceso a varios recursos de reserva mediante una condición.
En la consola de Cloud de Confiance , ve a la página Gestión de identidades y accesos.
Selecciona un proyecto, una carpeta o una organización.
Para asignar el rol
bigquery.resourceEditor
a una entidad principal que tenga un rol en los recursos de la reserva, sigue estos pasos:En la pestaña Ver por centros educativos, ve al centro educativo correspondiente o usa la opción Filtrar para encontrarlo.
Haz clic en
Editar principal.En la página Asignar roles, haz clic en
Añadir roles.En el campo Buscar roles, introduce
bigquery.resourceEditor
.Marca la opción Editor de recursos de BigQuery en los resultados de búsqueda y, a continuación, haz clic en Aplicar.
Haz clic en Guardar.
También puede conceder el rol
bigquery.resourceEditor
a una entidad principal que no tenga ningún rol en los recursos de reserva:Haz clic en
Conceder acceso.En la página Añadir principales, en el campo Nuevos principales, introduce el identificador del principal (por ejemplo,
//iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
).Haz clic en
Añadir roles.En el campo Buscar roles, introduce
bigquery.resourceEditor
.Marca la opción Editor de recursos de BigQuery en los resultados de búsqueda y, a continuación, haz clic en Aplicar.
En el cuadro Editor de recursos de BigQuery, haz clic en Añadir condición.
En la página Añadir condición, haga lo siguiente:
Introduce valores en los campos Título y Descripción.
En el Creador de condiciones, añade la condición. Por ejemplo, para añadir una condición que asigne el rol a todos los nombres de reserva que terminen en
/reservation1
, en Tipo de condición, elige Nombre; en Operador, elige Termina en; y en Valor, introduce/reservation1
.Haz clic en Guardar.
Haz clic en Guardar.
bq
En la herramienta de línea de comandos bq, puedes conceder acceso a un recurso de reserva concreto.
Para conceder acceso a una reserva, usa el comando bq
set-iam-policy
:
bq set-iam-policy RESOURCE FILE_NAME
Haz los cambios siguientes:
RESOURCE
: el nombre del recurso de reserva. Por ejemplo,projects/project1/locations/US/reservations/reservation1
.FILE_NAME
: el archivo que contiene la política en formato JSON. El formato debe seguir la estructura de las políticas de gestión de identidades y accesos de las políticas de permiso. Por ejemplo:{ "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/bigquery.resourceEditor" } ], "etag": "BwUjMhCsNvY=", "version": 1 }
Para obtener más información sobre IAM, consulta Gestionar el acceso a otros recursos.