Trabajar con reservas de ranuras
La API de BigQuery Reservation te permite comprar ranuras dedicadas (llamadas compromisos), crear grupos de ranuras (llamadas reservas), y asignar proyectos, carpetas y organizaciones a esas reservas.
Las reservas te permiten asignar una cantidad dedicada de ranuras a una carga de trabajo. Por ejemplo, es posible que no desees que una carga de trabajo de producción compita con cargas de trabajo de prueba para obtener ranuras. Puedes crear una reserva llamada prod y asignarle tus cargas de trabajo de producción. Para obtener más información, consulta Reservas.
Crear reservas
Permisos necesarios
Para crear una reserva, necesitas el siguiente permiso de Identity and Access Management (IAM):
bigquery.reservations.createen el proyecto de administración que mantiene la propiedad de los compromisos.
Cada una de los siguientes roles predefinidos de IAM incluye este permiso:
BigQuery Resource EditorBigQuery Resource Admin
Para obtener más información sobre las funciones de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Crea una reserva con ranuras dedicadas
Selecciona una de las opciones siguientes:
Console
En la consola de Google Cloud , ve a la página BigQuery.
En el menú de navegación, haz clic en Administración de la capacidad.
Haz clic en Crear reserva.
En el campo Nombre de la reserva, ingresa un nombre para la reserva.
En la lista Ubicación, selecciona ubicación. Si seleccionas una ubicación de BigQuery Omni, la opción de edición se limita a Enterprise Edition.
En la lista Edición, selecciona la edición. Las funciones de la edición de BigQuery, como el ajuste de escala automático, solo están disponibles dentro de una edición. Para obtener más información, consulta 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.
En el campo Ranuras de referencia, ingresa la cantidad de ranuras del modelo de referencia para la reserva (opcional).
La cantidad de ranuras disponibles con ajuste de escala automático se determina restando el valor de las ranuras del modelo de referencia del tamaño máximo de la reserva. Por ejemplo, si creas una reserva con 100 ranuras de referencia y un tamaño máximo de reserva de 400, la reserva tiene 300 ranuras de ajuste de escala automático. Para obtener más información sobre las ranuras de referencia, consulta Usa reservas con ranuras de referencia y de ajuste de escala automático.
Para inhabilitar el uso compartido de ranuras inactivas y utilizar solamente la capacidad de ranura especificada, haz clic en el botón de activación Ignorar ranuras inactivas.
Para expandir la sección Configuración avanzada, haz clic en la flecha de expansión .
Opcional: Para configurar la simultaneidad de los trabajos de destino, haz clic en el botón de activación Anular la simultaneidad automática del trabajo de destino y, luego, ingresa la simultaneidad de los trabajos de destino.
El desglose de ranuras se muestra en la tabla Estimación de costos. Se muestra un resumen de la reserva en la tabla Resumen de capacidad.
Haz clic en Guardar.
La reserva nueva se puede ver en la pestaña Reservas de ranuras.
SQL
Para crear una reserva, usa la declaración DDL CREATE RESERVATION.
En la consola de Google Cloud , ve a la página BigQuery.
En el editor de consultas, escribe la siguiente oració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);
Reemplaza lo siguiente:
ADMIN_PROJECT_IDpor el ID del proyecto de administración que posee el recurso de reservaLOCATION: Es la ubicación de la reserva. Si seleccionas una ubicación de BigQuery Omni, la opción de edición se limita a Enterprise Edition.RESERVATION_NAMEpor el nombre de la reservaEl nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe comenzar con una letra y no debe terminar con un guion. La longitud máxima es de 64 caracteres.
NUMBER_OF_BASELINE_SLOTSes la cantidad de ranuras de referencia que asignarás a la reserva. No puedes configurar las opcionesslot_capacityyeditionen la misma reserva.EDITION: es la edición de la reserva. Asignar una reserva a una edición incluye cambios en los atributos y los precios. Para obtener más información, consulta Introducción a las ediciones de BigQuery.NUMBER_OF_AUTOSCALING_SLOTSes la cantidad de ranuras de ajuste de escala automático asignadas a la reserva. Esto es igual al valor del tamaño máximo de la reserva menos la cantidad de ranuras del modelo de referencia.
Haz clic en Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta 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
Reemplaza lo siguiente:
ADMIN_PROJECT_ID: El ID del proyectoLOCATIONpor la ubicación de la reserva. Si seleccionas una ubicación de BigQuery Omni, la opción de edición se limita a Enterprise Edition.NUMBER_OF_BASELINE_SLOTSes la cantidad de ranuras de referencia que asignarás a la reserva.RESERVATION_NAMEpor el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe comenzar con una letra y no debe terminar con un guion. La longitud máxima es de 64 caracteres.EDITION: es la edición de la reserva. Asignar una reserva a una edición incluye cambios en los atributos y los precios. Para obtener más información, consulta Introducción a las ediciones de BigQuery.NUMBER_OF_AUTOSCALING_SLOTSes la cantidad de ranuras de ajuste de escala automático asignadas a la reserva. Esto es igual al valor del tamaño máximo de la reserva menos la cantidad de ranuras del modelo de referencia. Esto no se puede configurar con las marcas--max_slotso--scaling_mode.MAXIMUM_NUMBER_OF_SLOTS: Es la cantidad máxima de ranuras que puede consumir la reserva. Este valor se debe configurar con la marca--scaling_mode(vista previa).SCALING_MODE: Es el modo de ajuste de la reserva. Las opciones sonALL_SLOTS,IDLE_SLOTS_ONLYoAUTOSCALE_ONLY. Este valor se debe configurar con la marca--scaling_mode(vista previa).
Para obtener más información sobre la marca --ignore_idle_slots, consulta 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. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se crea una reserva llamada my-reservation:
Para aplicar tu configuración de Terraform en un proyecto Google Cloud , completa los pasos de las siguientes secciones.
Prepara Cloud Shell
- Inicia Cloud Shell
-
Establece el proyecto Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.
Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.
Prepara 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 dentro de ese directorio. El nombre del archivo debe tener la extensión
.tf, por ejemplo,main.tf. En este instructivo, el archivo se denominamain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.
Copia el código de muestra en el
main.tfrecién creado.De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.
- Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo debes hacerlo una vez por directorio.
terraform init
De manera opcional, incluye la opción
-upgradepara usar la última versión del proveedor de Google:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
terraform plan
Corrige la configuración según sea necesario.
-
Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe
yescuando se te solicite:terraform apply
Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.
- Abre tu proyecto Google Cloud para ver los resultados. En la consola de Google Cloud , navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.
Python
Crea una reserva predecible
Antes de crear una reserva con una cantidad máxima de ranuras, primero debes habilitar la equidad basada en reservas.
Habilita la equidad basada en reservas
Para habilitar la equidad basada en reservas, establece la marca enable_reservation_based_fairness en true.
Para actualizar la equidad basada en reservas en 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 Administra la configuración.
ALTER PROJECT `PROJECT_NAME` SET OPTIONS ( `region-LOCATION.enable_reservation_based_fairness`= true);
Reemplaza lo siguiente:
- PROJECT_NAME: ID del proyecto del proyecto de administración
- LOCATION: la ubicación de la reserva
Crea una reserva predecible
Para crear una reserva predecible con una cantidad máxima de ranuras, selecciona una de las siguientes opciones:
Console
En la consola de Google Cloud , ve a la página BigQuery.
En el panel de navegación, ve a la sección Administración de capacidad y, luego, haz clic en Crear reserva.
En el campo Nombre de la reserva, ingresa un nombre para la reserva.
En la lista Ubicación, selecciona ubicación. Si seleccionas una ubicación de BigQuery Omni, la opción de edición se limita a Enterprise Edition.
En la lista Edición, selecciona la edición. El ajuste de escala automático solo está disponible dentro de 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.
En el campo Ranuras de referencia, ingresa la cantidad de ranuras del modelo de referencia para la reserva (opcional).
La cantidad de ranuras disponibles con ajuste de escala automático se determina restando el valor de las ranuras del modelo de referencia del tamaño máximo de la reserva. Por ejemplo, si creas una reserva con 100 ranuras de referencia y un tamaño máximo de reserva de 400, la reserva tiene 300 ranuras de ajuste de escala automático. Para obtener más información sobre las ranuras de referencia, consulta Usa reservas con ranuras de referencia y de ajuste de escala automático.
Para inhabilitar el uso compartido de ranuras inactivas y utilizar solamente la capacidad de ranura especificada, haz clic en el botón de activación Ignorar ranuras inactivas.
Para expandir la sección Configuración avanzada, haz clic en la flecha de expansión .
- En la lista ¿Cómo usar las ranuras inactivas?, selecciona la opción de configuración.
El desglose de ranuras se muestra en la tabla Estimación de costos. Se muestra un resumen de la reserva en la tabla Resumen de capacidad.
Haz clic en Guardar.
La reserva nueva se puede ver en la pestaña Reservas de ranuras.
bq
Para crear una reserva predecible, usa el comando bq mk con la marca --reservation y establece 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
Reemplaza lo siguiente:
ADMIN_PROJECT_ID: El ID del proyectoLOCATIONpor la ubicación de la reserva. Si seleccionas una ubicación de BigQuery Omni, la opción de edición se limita a Enterprise Edition.NUMBER_OF_BASELINE_SLOTSes la cantidad de ranuras de referencia que asignarás a la reserva.RESERVATION_NAME: El nombre de la reservaEDITION: es la edición de la reserva. Asignar una reserva a una edición incluye cambios en los atributos y los precios. Para obtener más información, consulta Introducción a las ediciones de BigQuery.MAXIMUM_NUMBER_OF_SLOTS: Es la cantidad máxima de ranuras que puede consumir la reserva. Este valor se debe configurar con la marca--scaling_mode.SCALING_MODE:SCALING_MODE: Es el modo de escalamiento de la reserva. Las opciones sonALL_SLOTS,IDLE_SLOTS_ONLYoAUTOSCALE_ONLY. Este valor se debe configurar con la marcamax_slots. Este valor debe estar alineado con la marcaignore_idle_slots. Para obtener más detalles, consulta Previsibilidad de las reservas.
Para obtener más información sobre la marca --ignore_idle_slots, consulta Ranuras inactivas. El valor predeterminado es false.
SQL
Para crear una reserva predecible, usa la declaración DDL CREATE RESERVATION.
En la consola de Google Cloud , ve a la página BigQuery.
En el editor de consultas, escribe la siguiente oració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);
Reemplaza lo siguiente:
ADMIN_PROJECT_IDpor el ID del proyecto de administración que posee el recurso de reservaLOCATION: Es la ubicación de la reserva. Si seleccionas una ubicación de BigQuery Omni, la opción de edición se limita a Enterprise Edition.RESERVATION_NAME: Es el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe comenzar con una letra y no debe terminar con un guion. La longitud máxima es de 64 caracteres.NUMBER_OF_BASELINE_SLOTSes la cantidad de ranuras de referencia que asignarás a la reserva. No puedes configurar las opcionesslot_capacityyeditionen la misma reserva.EDITION: es la edición de la reserva. Asignar una reserva a una edición incluye cambios en los atributos y los precios. Para obtener más información, consulta Introducción a las ediciones de BigQuery.IGNORE_IDLE_SLOTS: Indica si la reserva usa ranuras inactivas o no. El valor predeterminado esfalse.MAX_NUMBER_OF_SLOTS: Es la cantidad máxima de ranuras que puede consumir la reserva. Este valor se debe configurar con la opciónscaling_mode.SCALING_MODE: Es el modo de ajuste de la reserva. Las opciones sonALL_SLOTS,IDLE_SLOTS_ONLYoAUTOSCALE_ONLY. Este valor se debe configurar con la opciónmax_slots. Este valor debe estar alineado con la opciónignore_idle_slots. Para obtener más detalles, consulta Previsibilidad de las reservas.
Haz clic en Ejecutar.
Para obtener más información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.
Para obtener más información sobre las reservas predecibles, consulta Reservas predecibles.
Actualiza las reservas
Puedes realizar las siguientes actualizaciones en una reserva:
- Agrega o quita ranuras para cambiar el tamaño de la reserva.
- Configura si las consultas en esta reserva usan ranuras inactivas.
- Cambia la cantidad de ranuras de referencia o con ajuste de escala automático asignadas a una reserva.
- Configura la simultaneidad de los trabajos de destino.
Para cambiar la edición de una reserva, primero borra la reserva y, luego, crea una reserva con la edición actualizada.
Permisos necesarios
Para actualizar una reserva, necesitas el siguiente permiso de Identity and Access Management (IAM):
bigquery.reservations.updateen el proyecto de administración que mantiene la propiedad de los compromisos.
Cada una de los siguientes roles predefinidos de IAM incluye este permiso:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
Para obtener más información sobre las funciones de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Cambia el tamaño de una reserva
Puedes agregar o quitar ranuras de una reserva existente.
Console
En la consola de Google Cloud , ve a la página BigQuery.
En el menú de navegación, haz clic en Administración de la capacidad.
Haz clic en la pestaña Reservas de ranuras.
Busca la reserva que deseas actualizar.
Expande la opción Actions.
Haz clic en Editar.
En el diálogo Selector de tamaño máximo de reserva, ingresa el tamaño máximo de la reserva.
En el campo Ranuras de referencia, ingresa la cantidad de ranuras del modelo de referencia.
Para expandir la sección Configuración avanzada, haz clic en la flecha de expansión .
Opcional: Para configurar la simultaneidad de los trabajos de destino, haz clic en el botón de activación Anular la simultaneidad automática del trabajo de destino y, luego, ingresa la simultaneidad de los trabajos de destino.
Haz clic en Guardar.
SQL
Para cambiar el tamaño de una reserva, usa la declaración del lenguaje de definición de datos ALTER RESERVATION SET OPTIONS (DDL).
En la consola de Google Cloud , ve a la página BigQuery.
En el editor de consultas, escribe la siguiente oració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);
Reemplaza lo siguiente:
ADMIN_PROJECT_IDpor el ID del proyecto de administración que posee el recurso de reservaLOCATIONpor la ubicación de la reserva, por ejemplo,europe-west9.RESERVATION_NAMEpor el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe comenzar con una letra y no debe terminar con un guion. La longitud máxima es de 64 caracteres.NUMBER_OF_BASELINE_SLOTS: es la cantidad de ranuras del modelo de referencia que asignarás a la reserva.NUMBER_OF_AUTOSCALING_SLOTSes la cantidad de ranuras de ajuste de escala automático asignadas a la reserva. Esto es igual al valor del tamaño máximo de la reserva menos la cantidad de ranuras del modelo de referencia.
Haz clic en Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta 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
Reemplaza lo siguiente:
ADMIN_PROJECT_ID: El ID del proyectoLOCATION: la ubicación de la reservaNUMBER_OF_BASELINE_SLOTSes la cantidad de ranuras de referencia que asignarás a la reserva.RESERVATION_NAMEpor el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe comenzar con una letra y no debe terminar con un guion. La longitud máxima es de 64 caracteres.NUMBER_OF_AUTOSCALING_SLOTSes la cantidad de ranuras de ajuste de escala automático asignadas a la reserva. Esto es igual al valor del tamaño máximo de la reserva menos la cantidad de ranuras del modelo de referencia.
Python
Configura si las consultas usan ranuras inactivas
La marca --ignore_idle_slots controla si las consultas que se ejecutan en una reserva pueden usar ranuras inactivas de otras reservas. Para obtener más información, consulta Ranuras inactivas. Puedes actualizar esta configuración en una reserva existente.
Para actualizar una reserva, usa el comando bq update con la marca --reservation. En el siguiente ejemplo, se establece --ignore_idle_slots como true, lo que significa que la reserva solo usará las ranuras asignadas a la reserva.
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--ignore_idle_slots=true \
--reservation RESERVATION_NAME
Reemplaza lo siguiente:
ADMIN_PROJECT_ID: El ID del proyectoLOCATION: por la ubicación de la reservaRESERVATION_NAMEpor el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe comenzar con una letra y no debe terminar con un guion. La longitud máxima es de 64 caracteres.
Enumera la configuración de ranuras inactivas
Para enumerar la configuración de las ranuras inactivas de una reserva, haz lo siguiente:
SQL
Consulta la columna ignore_idle_slots de la
vista INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT.
En la consola de Google Cloud , ve a la página BigQuery.
En el editor de consultas, escribe la siguiente oración:
SELECT reservation_name, ignore_idle_slots FROM `ADMIN_PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT;
Reemplaza lo siguiente:
ADMIN_PROJECT_IDpor el ID del proyecto de administración que posee los recursos de reservaLOCATION: por la ubicación de las reservas
Haz clic en Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.
bq
Usa el comando bq ls con la marca --reservation:
bq ls --reservation \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION
Reemplaza lo siguiente:
ADMIN_PROJECT_IDpor el ID del proyecto de administración que posee los recursos de reservaLOCATION: por la ubicación de las reservas
El campo ignoreIdleSlots contiene la configuración.
Borrar reservas
Si borras una reserva, fallarán los trabajos en ejecución que usen ranuras de esa reserva. Para evitar errores, permite que los trabajos en ejecución se completen antes de borrar la reserva.
Permisos necesarios
Para borrar una reserva, necesitas el siguiente permiso de Identity and Access Management (IAM):
bigquery.reservations.deleteen el proyecto de administración que mantiene la propiedad de los compromisos.
Cada una de los siguientes roles predefinidos de IAM incluye este permiso:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
Para obtener más información de los roles de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Borrar una reserva
Console
En la consola de Google Cloud , ve a la página BigQuery.
En el menú de navegación, haz clic en Administración de la capacidad.
Haz clic en la pestaña Reservas.
Busca la reserva que deseas borrar.
Expande la opción Actions.
Haz clic en Borrar.
En el cuadro de diálogo Borrar reserva, haz clic en Borrar.
SQL
Para borrar una reserva, usa la declaración DDL DROP RESERVATION.
En la consola de Google Cloud , ve a la página BigQuery.
En el editor de consultas, escribe la siguiente oración:
DROP RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`;
Reemplaza lo siguiente:
ADMIN_PROJECT_IDpor el ID del proyecto de administración que posee el recurso de reservaLOCATION: la ubicación de la reservaRESERVATION_NAMEes el ID de la reserva.
Haz clic en Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.
bq
Para borrar una reserva, usa el comando bq rm con la marca --reservation:
bq rm \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--reservation RESERVATION_NAME
Reemplaza lo siguiente:
ADMIN_PROJECT_IDpor el ID del proyecto de administración que posee el recurso de reservaLOCATION: la ubicación de la reservaRESERVATION_NAMEpor el nombre de la reserva. El nombre solo puede contener caracteres alfanuméricos en minúscula o guiones, debe comenzar con una letra y no debe terminar con un guion. La longitud máxima es de 64 caracteres.
Python
Controla el acceso a las reservas
Puedes controlar qué usuarios tienen acceso a reservaciones específicas. Para que un usuario anule una reserva en su consulta, debe tener el permiso reservations.use en esa reserva.
Permisos necesarios
Para obtener el permiso que necesitas para especificar una reserva en particular para tu trabajo, pídele a tu administrador que te otorgue el rol de IAM de Editor de recursos (roles/bigquery.resourceEditor) en el recurso de reserva.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso reservations.use, que se requiere para especificar una reserva en particular para tu trabajo.
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Cómo controlar el acceso a una reserva
Para administrar el acceso a un recurso de reserva específico, usa el comando bq
set-iam-policy.
Para administrar el acceso a varios recursos de reserva, usa la consola Google Cloud para otorgar el rol de editor de recursos de BigQuery en el proyecto, la carpeta o la organización. Cuando otorgues el rol, usa una condición de IAM 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:
Console
En la consola de Google Cloud , puedes permitir el acceso a varios recursos de reserva con una condición.
En la consola de Google Cloud , ve a la página IAM.
Selecciona un proyecto, una carpeta o una organización.
Para otorgar el rol
bigquery.resourceEditora una principal que tiene un rol en los recursos de la reserva, haz lo siguiente:En la pestaña Ver por principales, navega a la principal correspondiente o usa la opción Filtro para encontrarla.
Haz clic en Editar principal.
En la página Asignar roles, haz clic en Agregar roles.
En el campo Buscar roles, ingresa
bigquery.resourceEditor.Marca la opción BigQuery Resource Editor en los resultados de la búsqueda y, luego, haz clic en Aplicar.
Haz clic en Guardar.
Como alternativa, para otorgar el rol de
bigquery.resourceEditora una principal que no tiene un rol en los recursos de la reserva, haz lo siguiente:Haz clic en Otorgar acceso.
En la página Agregar principales, en el campo Principales nuevas, ingresa el identificador de la principal, por ejemplo,
my-user@example.com.Haz clic en Agregar roles.
En el campo Buscar roles, ingresa
bigquery.resourceEditor.Marca la opción BigQuery Resource Editor en los resultados de la búsqueda y, luego, haz clic en Aplicar.
En el cuadro BigQuery Resource Editor, haz clic en Add condition.
En la página Agregar condición, haz lo siguiente:
Ingresa valores en los campos Título y Descripción.
En el Creador de condiciones, agrega tu condición. Por ejemplo, para agregar una condición que otorgue el rol a todos los nombres de reserva que terminen con
/reservation1, en Tipo de condición, elige Nombre, en Operador, elige Termina con y, en Valor, ingresa/reservation1.Haz clic en Guardar.
Haz clic en Guardar.
bq
En la herramienta de línea de comandos de bq, puedes otorgar acceso a un recurso de reserva individual.
Para otorgar acceso a una reserva, usa el comando bq
set-iam-policy:
bq set-iam-policy RESOURCE FILE_NAME
Reemplaza lo siguiente:
RESOURCE: Es el nombre del recurso de reserva. Por ejemplo,projects/project1/locations/US/reservations/reservation1FILE_NAME: Es el archivo que contiene la política en formato JSON. El formato debe seguir la estructura de la política de IAM para las políticas de permisos. 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 Administra el acceso a otros recursos.