Organize recursos de código com pastas

O documento seguinte descreve como funcionam as pastas do BigQuery. Pode usar pastas para organizar recursos de código numa estrutura hierárquica, semelhante à usada pelos sistemas operativos. Por exemplo, pode criar uma pasta para organizar os recursos de código para a análise de vendas, com subpastas para cada ano fiscal. Também pode usar pastas para gerir o acesso a recursos de código. As pastas oferecem herança de políticas de gestão de identidade e de acesso (IAM), que pode usar para controlar o acesso a recursos de código de forma mais eficiente. A herança de políticas permite que as subpastas e os ficheiros herdem as autorizações da respetiva pasta principal.

As pastas do BigQuery são baseadas no Dataform.

Para mais informações sobre como trabalhar com pastas no BigQuery, consulte o artigo Crie e faça a gestão de pastas.

Organize recursos de código com pastas

Pode aceder aos seus recursos de código e organizá-los através de pastas no painel Ficheiros do BigQuery Studio:

A localização do painel **Ficheiros** no BigQuery Studio.

Uma pasta é o contentor básico para organizar recursos de código, semelhante a uma pasta do sistema de ficheiros padrão. Pode criar e organizar subpastas numa pasta principal, bem como mover recursos de código para dentro e para fora de pastas. Quando concede autorizações numa pasta, as autorizações propagam-se a todas as pastas e ficheiros contidos nessa pasta.

Só pode usar pastas para organizar recursos de código de ficheiro único, como blocos de notas, consultas guardadas, telas de dados e ficheiros de preparação de dados.

Tipos de pastas

O BigQuery suporta os seguintes tipos de pastas:

  • Pastas de utilizadores: cada utilizador tem uma pasta raiz pessoal, apresentada como Utilizador (endereço de email do utilizador). A pasta do utilizador contém todos os recursos de código que cria no projeto e na localização especificados. Pode criar subpastas na sua pasta de utilizador para organizar estes recursos de código. Os ficheiros e as pastas na sua pasta de utilizador só são acessíveis a si, a menos que opte por partilhá-los com outros utilizadores.

  • Pastas de equipa: uma pasta de equipa foi concebida para a colaboração em equipa, semelhante a um disco partilhado no Google Drive. Pode usar pastas de equipa para organizar recursos de código que pertencem a uma equipa específica. Apenas os utilizadores com autorizações de proprietário na pasta de equipa raiz podem conceder autorizações para permitir que outros utilizadores usem a pasta de equipa.

Regiões de código de pasta

Pode ter pastas e recursos de código em diferentes regiões de código. Por exemplo, pode ter folderA e os recursos de código que contém na região us-west1, e folderB e os recursos de código que contém na região us-central1. A região que está a ver é apresentada no painel Ficheiros:

A região de código atual é apresentada junto ao nome do projeto no painel **Ficheiros**.

Herança de políticas IAM

O acesso à IAM para recursos de ficheiros e pastas usa uma estrutura hierárquica. Esta hierarquia garante que as políticas de acesso são herdadas das pastas principais para o respetivo conteúdo.

Quando uma política de IAM é definida numa pasta, as autorizações concedidas por essa política também se aplicam a todos os ficheiros e subpastas aninhadas na subárvore da pasta. Isto tem as seguintes consequências:

  • As autorizações são herdadas através da hierarquia de pastas. Quando é atribuída uma função específica a um utilizador numa pasta de nível superior, este possui as autorizações incluídas nessa função para todos os recursos contidos nessa pasta e nas respetivas subpastas.
  • As autorizações que um utilizador tem num recurso consistem nas políticas definidas diretamente nesse recurso e em todas as políticas herdadas de cada pasta no respetivo caminho até à raiz.

Como resultado, não precisa de autorizações ao nível do projeto para realizar ações em recursos localizados numa estrutura de pastas complexa. Só precisa da autorização adequada em qualquer pasta no caminho para esse recurso. Por exemplo, se quiser criar um ficheiro numa subpasta, precisa das autorizações necessárias na subpasta específica ou em qualquer uma das respetivas pastas principais, incluindo a pasta de nível superior.

Seguem-se as práticas recomendadas para aplicar políticas de IAM a ficheiros e pastas:

  • Aplique políticas de IAM à pasta mais elevada na hierarquia onde as autorizações são necessárias de forma uniforme. Por exemplo, se uma equipa precisar de acesso a todos os dados no diretório da equipa, conceda as funções necessárias ao nível da pasta da equipa em vez de ao nível das subpastas individuais do projeto.
  • Conceda sempre o conjunto mínimo de autorizações necessárias para que os utilizadores ou os serviços realizem as respetivas tarefas. Evite conceder funções amplas quando puder usar funções e autorizações mais específicas ao nível da pasta.

Funções IAM concedidas na criação de recursos

Quando cria uma pasta, são concedidas automaticamente as seguintes funções:

Não recebe automaticamente nenhuma função quando cria novos ficheiros ou pastas na subárvore de uma pasta de equipa.

Recursos ocupados

Uma pasta de utilizador ou uma pasta de equipa está "ocupada" se estiver ativamente envolvida numa operação de movimento, quer como o objeto a ser movido, quer como o destino do movimento. O sistema restringe as ações seguintes dos recursos ocupados para garantir a integridade dos dados durante a mudança:

  • Ser o objeto de outra operação de movimento.
  • Ser o destino de outra operação de movimento.
  • Ser um antepassado de um objeto de movimento.
  • Ser o objeto de uma operação de eliminação.

Limitações

As pastas do BigQuery têm as seguintes limitações:

  • Só pode aninhar pastas até 5 níveis de profundidade.
  • Ter um número muito grande de pastas (centenas de milhares) abranda o desempenho quando trabalha com pastas. Por exemplo, quando carrega o explorador de ficheiros ou expande uma pasta.
  • Não pode mover uma pasta que contenha mais de 100 ficheiros ou pastas.

Localizações

As pastas do BigQuery são suportadas em todas as localizações do Dataform.

O que se segue?