Organizzare gli asset di codice con le cartelle
Il seguente documento descrive il funzionamento delle cartelle BigQuery. Puoi utilizzare le cartelle per organizzare gli asset di codice in una struttura gerarchica, simile a quella utilizzata dai sistemi operativi. Ad esempio, puoi creare una cartella per organizzare gli asset di codice per l'analisi delle vendite, con sottocartelle per ogni anno fiscale. Puoi anche utilizzare le cartelle per gestire l'accesso agli asset di codice. Le cartelle offrono l'ereditarietà dei criteri IAM (Identity and Access Management), che puoi utilizzare per controllare l'accesso agli asset di codice in modo più efficiente. L'ereditarietà dei criteri consente alle sottocartelle e ai file di ereditare le autorizzazioni della cartella principale.
Le cartelle BigQuery sono basate su Dataform.
Per saperne di più sull'utilizzo delle cartelle in BigQuery, consulta Creare e gestire le cartelle.
Organizzare gli asset di codice con le cartelle
Puoi accedere alle risorse di codice e organizzarle utilizzando le cartelle nel riquadro File di BigQuery Studio:
Una cartella è il contenitore di base per organizzare gli asset di codice, in modo simile a una cartella del file system standard. Puoi creare e organizzare sottocartelle all'interno di una cartella principale e spostare gli asset di codice all'interno e all'esterno delle cartelle. Quando concedi autorizzazioni per una cartella, queste vengono propagate a tutte le cartelle e i file contenuti nella cartella.
Puoi utilizzare le cartelle solo per organizzare asset di codice di singoli file, come notebook, query salvate, canvas di dati e file di preparazione dei dati.
Tipi di cartelle
BigQuery supporta i seguenti tipi di cartelle:
Cartelle utente: ogni utente ha una cartella principale personale, visualizzata come Utente (indirizzo email utente). La cartella utente contiene tutti gli asset di codice che crei nel progetto e nella posizione specificati. Puoi creare sottocartelle nella cartella utente per organizzare questi asset di codice. I file e le cartelle nella tua cartella utente sono accessibili solo a te, a meno che tu non scelga di condividerli con altri utenti.
Cartelle del team: una cartella del team è progettata per la collaborazione del team, in modo simile a un Drive condiviso su Google Drive. Puoi utilizzare le cartelle del team per organizzare gli asset di codice appartenenti a un team specifico. Solo gli utenti con autorizzazioni di proprietario nella cartella del team principale possono concedere autorizzazioni per consentire ad altri utenti di utilizzare la cartella del team.
Regioni di codici delle cartelle
Puoi avere cartelle e asset di codice in regioni di codice diverse. Ad esempio, potresti avere folderA e gli asset di codice che contiene nella regione us-west1 e folderB e gli asset di codice che contiene nella regione us-central1. La regione che stai visualizzando viene mostrata
nel riquadro File:
Ereditarietà delle policy IAM
L'accesso IAM per le risorse di file e cartelle utilizza una struttura gerarchica. Questa gerarchia garantisce che le policy di accesso vengano ereditate dalle cartelle principali ai relativi contenuti.
Quando viene impostato un criterio IAM su una cartella, le autorizzazioni concesse da questo criterio si applicano anche a tutti i file e alle sottocartelle nidificate nell'albero secondario della cartella. Ciò comporta le seguenti conseguenze:
- Le autorizzazioni vengono ereditate tramite la gerarchia delle cartelle. Quando a un utente viene concesso un ruolo specifico in una cartella di livello superiore, dispone delle autorizzazioni incluse in quel ruolo per tutte le risorse contenute nella cartella e nelle relative sottocartelle.
- Le autorizzazioni di un utente su una risorsa sono costituite dalle policy impostate direttamente su quella risorsa e da tutte le policy ereditate da ogni cartella nel relativo percorso fino alla radice.
Di conseguenza, non hai bisogno di autorizzazioni a livello di progetto per eseguire azioni sulle risorse che si trovano in profondità in una struttura di cartelle. È necessaria solo l'autorizzazione appropriata per qualsiasi cartella nel percorso della risorsa. Ad esempio, se vuoi creare un file in una sottocartella, devi disporre delle autorizzazioni necessarie per la sottocartella specifica o per una delle relative cartelle principali, inclusa la cartella di primo livello.
Di seguito sono riportate le best practice per l'applicazione dei criteri IAM a file e cartelle:
- Applica i criteri IAM alla cartella di livello più alto nella gerarchia in cui le autorizzazioni sono necessarie in modo uniforme. Ad esempio, se un team ha bisogno di accedere a tutti i dati nella directory del team, concedi i ruoli necessari a livello della cartella del team anziché a livello delle sottocartelle dei singoli progetti.
- Concedi sempre il set minimo di autorizzazioni necessarie a utenti o servizi per svolgere le loro attività. Evita di concedere ruoli generici quando puoi utilizzare ruoli e autorizzazioni più specifici a livello di cartella.
Ruoli IAM concessi al momento della creazione della risorsa
Quando crei una cartella, vengono concessi automaticamente i seguenti ruoli:
- Gli utenti che creano cartelle nel nodo radice utente ricevono automaticamente il
ruolo Dataform Admin
(
roles/dataform.admin) per queste cartelle. - Il creatore di una cartella di gruppo principale riceve automaticamente il
ruolo Dataform Admin
(
roles/dataform.admin) per quella cartella di gruppo.
Quando crei nuovi file o cartelle all'interno della struttura secondaria di una cartella del team, non ricevi automaticamente alcun ruolo.
Risorse occupate
Una cartella utente o una cartella del team è "occupata" se è coinvolta attivamente in un'operazione di spostamento, come oggetto spostato o destinazione dello spostamento. Il sistema impedisce alle risorse occupate di eseguire le seguenti azioni per garantire l'integrità dei dati durante lo spostamento:
- Essere l'oggetto di un'altra operazione di spostamento.
- Essere la destinazione di un'altra operazione di spostamento.
- Essere un antenato di un oggetto di movimento.
- Essere l'oggetto di un'operazione di eliminazione.
Limitazioni
Le cartelle BigQuery presentano le seguenti limitazioni:
- Puoi nidificare le cartelle solo fino a 5 livelli.
- Un numero molto elevato di cartelle (centinaia di migliaia) rallenta le prestazioni quando lavori con le cartelle. Ad esempio, quando carichi Esplora file o espandi una cartella.
- Non puoi spostare una cartella che contiene più di 100 file o cartelle.
Località
Le cartelle BigQuery sono supportate in tutte le posizioni Dataform.
Passaggi successivi
- Creare e gestire cartelle
- Creare notebook
- Creare query salvate
- Creare canvas di dati
- Creare preparazioni dei dati