Organiza los recursos de código con carpetas
En el siguiente documento, se describe cómo funcionan las carpetas de BigQuery. Puedes usar carpetas para organizar los recursos de código en una estructura jerárquica, similar a la que usan los sistemas operativos. Por ejemplo, puedes crear una carpeta para organizar los recursos de código para el análisis de ventas, con subcarpetas para cada año fiscal. También puedes usar carpetas para administrar el acceso a los recursos de código. Las carpetas ofrecen la herencia de políticas de Identity and Access Management (IAM), que puedes usar para controlar el acceso a los recursos de código de manera más eficiente. La herencia de políticas permite que las subcarpetas y los archivos hereden los permisos de su carpeta superior.
Las carpetas de BigQuery funcionan con Dataform.
Para obtener más información sobre cómo trabajar con carpetas en BigQuery, consulta Crea y administra carpetas.
Organiza los recursos de código con carpetas
Puedes acceder a tus recursos de código y organizarlos con carpetas en el panel Archivos de BigQuery Studio:
Una carpeta es el contenedor básico para organizar los recursos de código, similar a una carpeta estándar del sistema de archivos. Puedes crear y organizar subcarpetas dentro de una carpeta superior, y puedes mover recursos de código dentro y fuera de las carpetas. Cuando otorgas permisos en una carpeta, los permisos se propagan a todas las carpetas y archivos que contiene esa carpeta.
Solo puedes usar carpetas para organizar recursos de código de un solo archivo, como notebooks, consultas guardadas, lienzos de datos y archivos de preparación de datos.
Tipos de carpeta
BigQuery admite los siguientes tipos de carpetas:
Carpetas de usuario: Cada usuario tiene una carpeta raíz personal, que se muestra como Usuario (dirección de correo electrónico del usuario). Tu carpeta de usuario contiene todos los recursos de código que creas en el proyecto y ubicación determinados. Puedes crear subcarpetas en tu carpeta de usuario para organizar estos recursos de código. Solo tú puedes acceder a los archivos y carpetas de tu carpeta de usuario, a menos que decidas compartirlos con otros usuarios.
Carpetas de equipo: Una carpeta de equipo está diseñada para la colaboración en equipo, de forma similar a una unidad compartida en Google Drive. Puedes usar carpetas de equipo para organizar los recursos de código que pertenecen a un equipo en particular. Solo los usuarios que tienen permisos de propietario en la carpeta de equipo raíz pueden otorgar permisos para permitir que otros usuarios usen la carpeta de equipo.
Regiones de código de carpetas
Puedes tener carpetas y recursos de código en diferentes regiones de código. Por ejemplo, puedes tener folderA y los recursos de código que contiene en la región us-west1, y folderB y los recursos de código que contiene en la región us-central1. La región que estás viendo se muestra en el panel Archivos:
Herencia de políticas de IAM
El acceso de IAM para los recursos de archivos y carpetas usa una estructura jerárquica. Esta jerarquía garantiza que las políticas de acceso se hereden de las carpetas superiores a su contenido.
Cuando se establece una política de IAM en una carpeta, los permisos otorgados por esa política también se aplican a todos los archivos y subcarpetas anidadas en el subárbol de la carpeta. Esto tiene las siguientes consecuencias:
- Los permisos se heredan a través de la jerarquía de carpetas. Cuando se le otorga a un usuario un rol específico en una carpeta de nivel superior, este posee los permisos incluidos en ese rol para todos los recursos contenidos en esa carpeta y sus subcarpetas.
- Los permisos que tiene un usuario en un recurso consisten en las políticas establecidas directamente en ese recurso y todas las políticas heredadas de cada carpeta en su ruta hasta la raíz.
Como resultado, no necesitas permisos a nivel del proyecto para realizar acciones en los recursos ubicados en una estructura de carpetas. Solo necesitas el permiso adecuado en cualquier carpeta de la ruta a ese recurso. Por ejemplo, si deseas crear un archivo en una subcarpeta, necesitas los permisos necesarios en la subcarpeta específica o en cualquiera de sus carpetas superiores, lo que incluye la carpeta de nivel superior.
Estas son las prácticas recomendadas para aplicar políticas de IAM a archivos y carpetas:
- Aplica políticas de IAM a la carpeta más alta de la jerarquía en la que los permisos se necesiten de manera uniforme. Por ejemplo, si un equipo necesita acceder a todos los datos del directorio de su equipo, otorga los roles necesarios a nivel de la carpeta del equipo en lugar de a nivel de las subcarpetas individuales del proyecto.
- Siempre otorga el conjunto mínimo de permisos necesarios para que los usuarios o los servicios realicen sus tareas. Evita otorgar roles amplios cuando puedas usar roles y permisos más específicos a nivel de la carpeta.
Roles de IAM otorgados durante la creación de recursos
Cuando creas una carpeta, se otorgan automáticamente los siguientes roles:
- Los usuarios que crean carpetas en su nodo raíz de usuario reciben automáticamente el
rol Administrador de Dataform
(
roles/dataform.admin) en esas carpetas. - El creador de una carpeta de equipo raíz recibe automáticamente el
rol Administrador de Dataform
(
roles/dataform.admin) en esa carpeta de equipo.
Puedes usar la API de Config para otorgar un rol específico cuando se crea un recurso.
No recibes automáticamente ningún rol cuando creas archivos o carpetas nuevos dentro del subárbol de una carpeta de equipo.
Recursos ocupados
Una carpeta de usuario o de equipo está "ocupada" si participa de forma activa en una operación de transferencia, ya sea como el objeto que se transfiere o el destino de la transferencia. El sistema restringe los recursos ocupados de las siguientes acciones para garantizar la integridad de los datos durante la transferencia:
- Ser el objeto de otra operación de transferencia
- Ser el destino de otra operación de transferencia
- Ser un ancestro de un objeto de transferencia
- Ser el objeto de una operación de eliminación
Limitaciones
Las carpetas de BigQuery tienen las siguientes limitaciones:
- Solo puedes anidar carpetas de hasta 5 niveles de profundidad.
- Tener una gran cantidad de carpetas (cientos de miles) ralentiza el rendimiento cuando se trabaja con carpetas. Por ejemplo, cuando se carga el explorador de archivos o se expande una carpeta.
- No puedes transferir una carpeta que contenga más de 100 archivos o carpetas.
Ubicaciones
Las carpetas de BigQuery son compatibles con todas las ubicaciones de Dataform.
¿Qué sigue?
- Crear y administrar carpetas
- Crear notebooks
- Crear consultas guardadas
- Crear lienzos de datos
- Crear preparaciones de datos