Última revisão: maio de 2026
Construa os serviços da AWS do exame DP-700 com Terraform puro — um bloco de cada vez, cada um vinculado a um domínio do exame. O mesmo código funciona no OpenTofu.
Ao final deste laboratório, você terá provisionado, com Terraform puro, a infraestrutura de ingestão de streaming que os Engenheiros de Dados do Microsoft Fabric utilizam — um namespace do Event Hubs + um hub de eventos como fonte de streaming, uma conta de armazenamento ADLS Gen2 com contêineres medallion bronze/silver/gold, uma capacidade Fabric F2 para o workspace do Fabric e o Log Analytics para observabilidade. Os Fabric Event Streams + Lakehouses são criados dentro do workspace via o portal do Fabric, apontando para esta infraestrutura.
Cole os trechos em um único main.tf, execute terraform init e, em seguida, terraform apply passo a passo.
>= 1.5 ou OpenTofu >= 1.6.az login).Fabric + Event Hubs combinados ~$275/mês enquanto em execução. O mesmo anti-padrão do DP-600 se aplica — a capacidade é cobrada 24/7; destrua ou pause prontamente.
Abertura padrão do Azure.
terraform {
required_version = ">= 1.5"
required_providers {
azurerm = { source = "hashicorp/azurerm", version = "~> 4.0" }
random = { source = "hashicorp/random", version = "~> 3.6" }
}
}
provider "azurerm" {
features {}
}
resource "random_id" "suffix" {
byte_length = 3
}
data "azurerm_client_config" "current" {}
locals {
tags = {
Project = "certlabpro-dp-700"
ManagedBy = "terraform"
}
}
resource "azurerm_resource_group" "main" {
name = "certlabpro-dp-700-rg"
location = "eastus"
tags = local.tags
}Event Hubs é o serviço de ingestão de eventos de alta taxa de transferência do Azure — a fonte canônica para streaming de dados para o Fabric Event Streams. O domínio Implementar e gerenciar a ingestão de dados do DP-700 testa essa combinação diretamente: eventos em tempo real chegam ao Event Hubs, o Fabric Event Streams os subscreve e os direciona para um Lakehouse ou banco de dados KQL, e as consultas downstream veem os dados em segundos.
Usamos o nível Básico (mais barato, unidade de throughput única) com retenção de 1 dia. A questão do exame sobre o trade-off Standard vs Premium é sobre recursos de captura para armazenamento (Capture escreve eventos para o ADLS automaticamente) e retenção mais longa — o Básico não possui esses recursos, mas é a opção barata para o laboratório.
resource "azurerm_eventhub_namespace" "main" {
name = "ehns-dp700-${random_id.suffix.hex}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
sku = "Basic"
capacity = 1
tags = local.tags
}
resource "azurerm_eventhub" "stream" {
name = "ingest"
namespace_id = azurerm_eventhub_namespace.main.id
partition_count = 2
message_retention = 1
}A arquitetura medallion (bronze / silver / gold) é o padrão de modelagem de dados de referência do DP-700 para Implementar e gerenciar uma solução de análise: dados brutos ingeridos em bronze/, limpos e validados em silver/, agregados para negócios em gold/. As tabelas do Fabric Lakehouse vivem em cima desse layout exato.
Provisionamos uma conta de armazenamento ADLS Gen2 (namespace hierárquico = ativado, necessário para tabelas Delta Lake) com as três camadas de contêineres. Os atalhos do Fabric Lakehouse podem apontar diretamente para esta conta de armazenamento, para que o Fabric leia/escreva aqui sem copiar dados para o OneLake.
resource "azurerm_storage_account" "lake" {
name = "dp700lake${random_id.suffix.hex}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
account_tier = "Standard"
account_replication_type = "LRS"
account_kind = "StorageV2"
is_hns_enabled = true
https_traffic_only_enabled = true
min_tls_version = "TLS1_2"
allow_nested_items_to_be_public = false
tags = local.tags
}
resource "azurerm_storage_container" "bronze" {
name = "bronze"
storage_account_id = azurerm_storage_account.lake.id
container_access_type = "private"
}
resource "azurerm_storage_container" "silver" {
name = "silver"
storage_account_id = azurerm_storage_account.lake.id
container_access_type = "private"
}
resource "azurerm_storage_container" "gold" {
name = "gold"
storage_account_id = azurerm_storage_account.lake.id
container_access_type = "private"
}A mesma primitiva de capacidade do Fabric que o DP-600 — o SKU F2 é o menor tamanho amigável para desenvolvedores. No entanto, o ângulo do DP-700 é diferente: enquanto o DP-600 se concentrou nas cargas de trabalho de modelagem analítica, o DP-700 se concentra no lado da ingestão de dados. Eventstreams, notebooks Spark e Pipelines de Dados, todos são executados dentro desta capacidade.
O Log Analytics recebe os diagnósticos de capacidade do Fabric (throttling, duração da consulta) — o domínio Manter e otimizar do DP-700 se baseia nisso para resposta a incidentes quando um pipeline de streaming começa a perder eventos.
Com a capacidade implementada, a infraestrutura completa de streaming do DP-700 é moldada: Event Hubs → Fabric Event Stream → Tabela Lakehouse na conta de armazenamento ADLS Gen2. O trabalho de aplicação (criar o Event Stream, definir o Lakehouse, escrever transformações) acontece no portal do Fabric.
resource "azurerm_fabric_capacity" "main" {
name = "fab-dp700-${random_id.suffix.hex}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
administration_members = [
data.azurerm_client_config.current.object_id,
]
sku {
name = "F2"
tier = "Fabric"
}
tags = local.tags
}
resource "azurerm_log_analytics_workspace" "main" {
name = "log-dp700"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
sku = "PerGB2018"
retention_in_days = 30
tags = local.tags
}
resource "azurerm_monitor_diagnostic_setting" "fabric" {
name = "diag"
target_resource_id = azurerm_fabric_capacity.main.id
log_analytics_workspace_id = azurerm_log_analytics_workspace.main.id
metric {
category = "AllMetrics"
enabled = true
}
}
resource "azurerm_monitor_diagnostic_setting" "event_hubs" {
name = "diag"
target_resource_id = azurerm_eventhub_namespace.main.id
log_analytics_workspace_id = azurerm_log_analytics_workspace.main.id
enabled_log {
category_group = "allLogs"
}
metric {
category = "AllMetrics"
enabled = true
}
}terraform destroy derruba tudo. A capacidade Fabric F2 é o item principal (~$262/mês). Pause via o portal do Azure se você quiser manter o recurso, mas parar a cobrança. O Event Hubs Básico custa ~$11/mês — pode ser destruído independentemente se você quiser manter o Fabric.
O DP-700 abrange mais superfícies de streaming + lote que este laboratório não consegue incluir — o próprio Fabric Event Streams (sem suporte Terraform hoje; crie via portal do Fabric), bancos de dados KQL / Eventhouses, Pipelines de Dados (Data Factory dentro do Fabric), notebooks Spark, dashboards de Inteligência em Tempo Real e a integração do modelo semântico do Power BI.
Nos limitamos à infraestrutura à qual o Fabric Eventstreams + Lakehouses se conectam — Event Hubs como a fonte, ADLS Gen2 como o sink, capacidade do Fabric como o compute. Uma vez que você provisiona essa base, toda carga de trabalho do DP-700 (Stream → Lakehouse, Stream → KQL, Pipeline → Warehouse) é um exercício no portal do Fabric sobre esta infraestrutura Terraform.
Para cobertura serviço a serviço, consulte as seções Navegar e Editorial desta página de certificação.