Como criar um Data Lake no Azure com ADLS Gen2
Um Data Lake é o alicerce de qualquer plataforma de dados moderna, e no Azure a forma recomendada de o construir é com o Azure Data Lake Storage Gen2 (ADLS Gen2). A diferença face ao Blob Storage clássico está no namespace hierárquico: em vez de uma lista plana de blobs, passas a ter pastas verdadeiras, o que acelera as operações analíticas e simplifica muito a gestão de permissões. Vais criar um Data Lake no Azure do zero com o Azure CLI, em poucos minutos e sem sair da linha de comandos. No final, terás uma storage account pronta para análise, já com uma pasta e um ficheiro de exemplo lá dentro.
Pré-requisitos
- Uma subscrição Azure ativa (o nível gratuito é suficiente para experimentar).
- Azure CLI 2.0.79 ou superior instalado — confirma com
az --version. - Permissões para criar recursos na subscrição (por exemplo, o papel Contributor).
Passo 1: Autenticar no Azure
Começa por iniciar sessão. O comando abre o browser para te autenticares com a tua conta Microsoft Entra ID. Não precisas de guardar nenhuma password: a sessão fica em cache localmente e os comandos seguintes reutilizam-na. Se tiveres acesso a mais do que uma subscrição, escolhe explicitamente qual queres usar para não criares recursos no sítio errado.
az login
az account set --subscription "Pay-As-You-Go"
Passo 2: Criar um resource group
Todos os recursos do Azure vivem dentro de um resource group, que funciona como uma pasta lógica para os organizar e apagar em conjunto. Cria um e escolhe a região mais próxima dos teus utilizadores para reduzir a latência. Uma convenção de nomes clara, como rg-projeto-ambiente, ajuda a manter tudo arrumado à medida que a plataforma cresce.
az group create --name rg-datalake-demo --location westeurope
Passo 3: Criar a storage account com namespace hierárquico
Este é o passo que transforma uma storage account normal num Data Lake. A chave é o parâmetro --enable-hierarchical-namespace true, que ativa as capacidades do ADLS Gen2. O nome da conta tem de ser único a nível global e usar apenas letras minúsculas e números.
az storage account create --name stdatalakedemo01 --resource-group rg-datalake-demo --location westeurope --sku Standard_LRS --kind StorageV2 --enable-hierarchical-namespace true
Se esqueceres este parâmetro, ficas com Blob Storage clássico e perdes as pastas reais, as renomeações atómicas e as ACLs ao nível de pasta e ficheiro. Vale a pena confirmar antes de avançar.
Passo 4: Criar um file system
No ADLS Gen2, o container de topo chama-se file system. Na prática, corresponde a um container de Blob Storage, mas com suporte para a hierarquia de pastas do ADLS Gen2. Repara no --auth-mode login: ele diz ao CLI para usar a tua identidade do Microsoft Entra ID em vez de chaves de acesso partilhadas — a prática recomendada, mais segura e alinhada com o princípio de "sem passwords".
az storage fs create --name raw --account-name stdatalakedemo01 --auth-mode login
Passo 5: Criar pastas e carregar dados
Agora aproveita o namespace hierárquico para organizar o lago em camadas — uma convenção comum é raw, bronze, silver e gold. Cria uma pasta e carrega um ficheiro de exemplo para veres a estrutura a ganhar forma.
az storage fs directory create --name vendas/2026 --file-system raw --account-name stdatalakedemo01 --auth-mode login
az storage fs file upload --source ./vendas.csv --path vendas/2026/vendas.csv --file-system raw --account-name stdatalakedemo01 --auth-mode login
Verificar o resultado
Para confirmar que ficou tudo bem, lista o conteúdo do file system:
az storage fs file list --file-system raw --account-name stdatalakedemo01 --auth-mode login --output table
Deves ver a pasta vendas/2026 e o ficheiro vendas.csv. Em alternativa, abre a storage account no portal do Azure e confirma, no separador Overview, que aparece "Hierarchical namespace: Enabled". Se, ao abrir o container, navegas por pastas em vez de veres uma lista plana de blobs, o teu Data Lake está pronto a usar.
Conclusão
Em poucos comandos tens um Data Lake ADLS Gen2 funcional, com autenticação por identidade e uma estrutura de pastas pronta a receber pipelines. O passo seguinte natural é ligá-lo ao Azure Data Factory, ao Databricks ou ao Microsoft Fabric para começar a ingerir e a transformar dados. Antes disso, uma dica que poupa muitas dores de cabeça: define desde já a convenção de camadas e atribui ACLs por pasta em vez de dares acesso à conta inteira — é muito mais fácil governar um lago organizado desde o primeiro dia do que arrumar a desordem mais tarde. Que camadas fazem mais sentido para o teu caso de uso?