Administrar la configuración predeterminada

En este documento, se describe cómo crear y recuperar la configuración predeterminada a nivel de organización o proyecto.

Para ayudar a administrar los trabajos, puedes establecer la configuración predeterminada en BigQuery. Los ajustes que usan este servicio se establecen a nivel de organización o de proyecto, pero se pueden anular a nivel de sesión o de trabajo. Puedes definir la configuración predeterminada junto con las políticas de la organización relacionadas para aplicar el comportamiento predeterminado.

Precios

No se aplican cargos adicionales por usar el servicio de configuración de BigQuery. Para obtener más información, consulta Precios.

Configuración predeterminada.

Puedes especificar ajustes predeterminados para los siguientes parámetros:

  • default_time_zone: la zona horaria predeterminada que se debe usar en funciones de SQL que dependen de la zona horaria cuando no se especifica una como argumento. Esta configuración no se aplica a las tablas particionadas de columnas de unidades de tiempo (que usan UTC como la zona horaria), las transferencias de programa del Servicio de transferencia de almacenamiento ni la carga de datos con la herramienta de línea de comandos de Para obtener más información, consulta Zonas horarias.
  • default_kms_key_name: la clave predeterminada de Cloud Key Management Service para encriptar datos de tablas, incluidas las tablas temporales o anónimas. Para obtener más información, consulta Claves de Cloud KMS administradas por el cliente.
  • default_query_job_timeout_ms: el tiempo predeterminado después del cual se agota el tiempo de espera de un trabajo de consulta, incluido el tiempo que se pone en cola y el tiempo que se ejecuta. El tiempo de espera debe ser de entre cinco minutos y seis horas.
  • default_interactive_query_queue_timeout_ms: la cantidad de tiempo predeterminada, en milisegundos, que una consulta interactiva se pone en cola. Si no se configura, el valor predeterminado es seis horas. El valor mínimo es 1 milisegundo. El valor máximo es 48 horas. Para desactivar la cola de consultas interactivas, establece el valor en -1.
  • default_batch_query_queue_timeout_ms: la cantidad de tiempo predeterminada, en milisegundos, que una consulta por lotes se pone en cola. Si no se configura, el valor predeterminado es 24 horas. El valor mínimo es 1 milisegundo. El valor máximo es de 48 horas. Para desactivar la cola de consultas por lotes, establece el valor en -1.

Crea configuraciones predeterminadas

En esta sección, se describe cómo crear una configuración.

Permisos necesarios

Para crear una configuración, necesitas el permiso bigquery.config.update de Identity and Access Management (IAM). El rol predefinido de IAM roles/bigquery.admin incluye los permisos que necesitas para crear una configuración.

Para obtener más información sobre los roles de IAM y los permisos en BigQuery, consulta Roles y permisos predefinidos.

Establece la configuración predeterminada

Puedes configurar los ajustes predeterminados a nivel de organización o de proyecto con las siguientes instrucciones de SQL. Cuando creas la configuración, debes especificar la región en la que se aplica. Solo puedes usar una región para cada instrucción.

Configura los ajustes de la organización

Para establecer la configuración de la organización, usa la declaración DDL ALTER ORGANIZATION SET OPTIONS. En el siguiente ejemplo, se establece la zona horaria predeterminada en America/Chicago, la clave predeterminada de Cloud KMS en una clave definida por el usuario, el tiempo de espera predeterminado de consulta en 30 minutos y el tiempo de espera predeterminado de la cola de consulta interactiva en 10 minutos, y el tiempo de espera predeterminado de la cola de consultas por lotes en 20 minutos:

ALTER ORGANIZATION
SET OPTIONS (
  `REGION.default_time_zone `= 'America/Chicago',
  -- Ensure all service accounts under the organization have permission to KMS_KEY
  `REGION.default_kms_key_name` = KMS_KEY,
  `REGION.default_query_job_timeout_ms` = 1800000,
  `REGION.default_interactive_query_queue_timeout_ms` = 600000,
  `REGION.default_batch_query_queue_timeout_ms` = 1200000);

Reemplaza lo siguiente:

  • REGION: Es la región asociada con tu organización o proyecto. Por ejemplo, region-us o region-europe-west6.
  • KMS_KEY es una clave de Cloud KMS definida por el usuario. Para obtener más información sobre las claves de Cloud KMS, consulta Claves de Cloud KMS administradas por el cliente.

En el siguiente ejemplo, se borra toda la configuración predeterminada a nivel de la organización:

ALTER ORGANIZATION
SET OPTIONS (
  `REGION.default_time_zone` = NULL,
  `REGION.default_kms_key_name` = NULL,
  `REGION.default_query_job_timeout_ms` = NULL,
  `REGION.default_interactive_query_queue_timeout_ms` = NULL,
  `REGION.default_batch_query_queue_timeout_ms` = NULL);

Define la configuración del proyecto

Para establecer la configuración del proyecto, usa la declaración DDL ALTER PROJECT SET OPTIONS. La declaración DDL ALTER PROJECT SET OPTIONS acepta de forma opcional la variable project_id. Si no se especifica project_id, el valor predeterminado es el proyecto actual en el que se ejecuta la consulta. En el siguiente ejemplo, se establece la zona horaria predeterminada en America/Los_Angeles, la clave predeterminada de Cloud KMS en una clave de ejemplo, el tiempo de espera predeterminado de consulta en 1 hora y el tiempo de espera predeterminado de la cola de consultas interactiva en 10 minutos, y el tiempo de espera predeterminado de la cola de consultas por lotes en 20 minutos:

ALTER PROJECT project_id
SET OPTIONS (
  `REGION.default_time_zone` = 'America/Los_Angeles',
  -- Ensure all service accounts under the project have permission to KMS_KEY
  `REGION.default_kms_key_name` = KMS_KEY,
  `REGION.default_query_job_timeout_ms` = 3600000,
  `REGION.default_interactive_query_queue_timeout_ms` = 600000,
  `REGION.default_batch_query_queue_timeout_ms` = 1200000);

En el siguiente ejemplo, se borra toda la configuración predeterminada a nivel de proyecto. En estos casos, se usa cualquier configuración predeterminada a nivel de organización, si existe una. De lo contrario, toda la configuración predeterminada se establece en el valor predeterminado global.

ALTER PROJECT project_id
SET OPTIONS (
  `REGION.default_time_zone` = NULL,
  `REGION.default_kms_key_name` = NULL,
  `REGION.default_query_job_timeout_ms` = NULL,
  `REGION.default_interactive_query_queue_timeout_ms` = NULL,
  `REGION.default_batch_query_queue_timeout_ms` = NULL);

Las configuraciones a nivel de proyecto anulan las configuraciones a nivel de organización. A su vez, las opciones de configuración a nivel de proyecto se pueden anular con las configuraciones a nivel de sesión, que se pueden anular con las configuraciones a nivel de trabajo

Recupera valores de configuración

Puedes ver los ajustes de configuración predeterminados para una organización o proyecto si ves el esquema de información. Hay tres vistas diferentes para consultar:

Las nuevas configuraciones pueden tardar unos minutos en entrar en vigor y reflejarse en la vista INFORMATION_SCHEMA.

Permisos necesarios

Para recuperar los valores de configuración, necesitas el permiso bigquery.config.get de IAM.

Cada uno de los siguientes roles predefinidos de IAM incluye los permisos que necesitas para obtener la configuración de la vista INFORMATION_SCHEMA:

  • roles/bigquery.jobUser
  • roles/bigquery.dataEditor
  • roles/bigquery.dataUser

Para obtener más información sobre los roles de IAM y los permisos en BigQuery, consulta Roles y permisos predefinidos.

Ejemplos

Para ver las configuraciones en una organización en la región us, ejecuta la siguiente consulta:

SELECT * FROM region-us.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;

Para ver las configuraciones efectivas en tu proyecto predeterminado en la región us, ejecuta la siguiente consulta:

SELECT * FROM region-us.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;

Para ver las opciones de configuración en tu proyecto predeterminado en la región us, ejecuta la siguiente consulta:

SELECT * FROM region-us.INFORMATION_SCHEMA.PROJECT_OPTIONS;