Dernière révision : mai 2026
Configurez les services AWS figurant à l'examen DP-600 avec Terraform simple — un bloc à la fois, chacun étant lié à un domaine de l'examen. Le même code fonctionne sur OpenTofu.
À la fin de ce labo, vous aurez provisionné, avec du Terraform simple, la capacité Microsoft Fabric qui soutient chaque charge de travail Fabric — une capacité de SKU F dimensionnée pour le développement (F2), un compte de stockage ADLS Gen2 pour les cibles de raccourcis OneLake, un espace de travail Log Analytics pour les diagnostics de capacité, et les attributions de rôles reliant le tout à votre principal Terraform. Les espaces de travail Fabric (Lakehouses, entrepôts de données, notebooks) sont créés au sein de la capacité via le portail Fabric ou l'API REST — ce n'est pas dans le champ d'application de Terraform aujourd'hui.
Déposez les extraits dans un seul fichier main.tf, exécutez terraform init, puis terraform apply étape par étape.
>= 1.5 ou OpenTofu >= 1.6.az login).La capacité Fabric représente la ligne de coût la plus importante dans ce labo :
terraform destroy ou via le portail).La question anti-pattern de coût DP-600 à 100 % du temps est "pourquoi ma facture Fabric est de 262 $ même si personne ne l'utilise ?" — parce que la capacité est facturée 24h/24 et 7j/7, sauf si elle est mise en pause. Détruisez ou mettez toujours en pause lorsque vous ne l'utilisez pas activement.
Introduction Azure standard. Les capacités Fabric sont liées à une région — choisissez une région où se trouvent vos sources de données pour éviter les frais de transfert inter-régions (Fabric lit depuis OneLake, qui réside physiquement dans la région de la capacité).
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-600"
ManagedBy = "terraform"
}
}
resource "azurerm_resource_group" "main" {
name = "certlabpro-dp-600-rg"
location = "eastus"
tags = local.tags
}La fonctionnalité OneLake de Microsoft Fabric fournit un lac de données unifié à travers les espaces de travail Fabric. Les éléments Fabric (Lakehouses, entrepôts de données) stockent physiquement leurs données dans OneLake — mais Fabric prend également en charge les raccourcis qui référencent des données dans un stockage externe (ADLS Gen2, S3, GCS, Dataverse) comme si elles résidaient dans OneLake. Le modèle de raccourci est le sujet brûlant du DP-600 pour Implémenter et gérer une solution d'analyse de données — fédérer sans copier.
Nous provisionnons ici un compte ADLS Gen2 avec l'espace de noms hiérarchique activé (le paramètre requis pour les raccourcis OneLake). Vous créeriez le raccourci réel dans le portail Fabric pointant vers ce compte une fois qu'il existe.
resource "azurerm_storage_account" "lake" {
name = "dp600lake${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 # required for OneLake shortcuts
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"
}La capacité Fabric est l'unité de facturation pour toutes les charges de travail Fabric. Les espaces de travail dans le portail Fabric sont associés à une capacité, et c'est ce qui détermine la tarification et le quota.
Nous provisionnons la plus petite capacité de qualité production (F2). La liste administration_members nomme ceux qui peuvent administrer la capacité dans le portail d'administration Fabric — pour le labo, nous utilisons le principal Terraform actuel. Le rôle d'administrateur est distinct des autorisations au niveau de l'espace de travail ; les administrateurs de capacité contrôlent la facturation, les paramètres à l'échelle de la capacité et les espaces de travail qui peuvent l'utiliser.
Le DP-600 teste le dimensionnement de la capacité comme thème d'optimisation des coûts : choisissez le SKU le plus petit qui répond aux besoins en RU/s de votre charge de travail, augmentez pour les pics, réduisez ou mettez en pause en dehors des heures de pointe. Les SKU F sont en paiement à l'utilisation (facturation à l'heure) ; les anciens SKU P de Power BI Premium sont des capacités réservées (engagement annuel).
resource "azurerm_fabric_capacity" "main" {
name = "fab-dp600-${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" # smallest Fabric SKU; F-series is pay-as-you-go
tier = "Fabric"
}
tags = local.tags
}Le domaine Maintenir et optimiser les solutions d'analyse du DP-600 teste la surveillance de la santé de la capacité comme surface de diagnostic principale — la limitation de la capacité, les pics de durée des requêtes, les échecs de rafraîchissement apparaissent tous comme des signaux Log Analytics. Nous provisionnons l'espace de travail et un paramètre de diagnostic sur la capacité Fabric qui y envoie chaque métrique et catégorie de journal.
Avec cette dernière pièce, la fondation Fabric est complète : capacité dimensionnée pour la charge de travail, ADLS Gen2 prêt comme cible de raccourci, diagnostics de capacité acheminés vers Log Analytics. Les espaces de travail Fabric, les Lakehouses, les entrepôts de données, les modèles sémantiques et les notebooks sont tous créés au sein de la capacité via le portail Fabric ou l'API REST — c'est la couche d'application que ce labo n'essaie pas de réaliser avec Terraform.
resource "azurerm_log_analytics_workspace" "main" {
name = "log-dp600"
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
}
}terraform destroy supprime tout. Rappel crucial : la capacité Fabric est facturée 24h/24 et 7j/7 — même une journée à laisser F2 fonctionner coûte environ 8,70 $. Détruisez rapidement. Alternative : la capacité prend en charge une opération de pause/reprise via le portail Azure qui arrête la facturation sans détruire la ressource — utile si vous souhaitez conserver le labo mais ne payer que lorsque vous l'utilisez activement.
Le DP-600 couvre de nombreuses charges de travail Fabric que ce labo ne peut pas inclure dans du Terraform simple — Lakehouses (gérés par Fabric, non provisionnables via azurerm), entrepôts de données, bases de données KQL (Eventhouses), notebooks, pipelines de données (Data Factory au sein de Fabric), modèles sémantiques (Power BI), flux de données Gen2, et l'API REST de Microsoft Fabric pour la création d'espaces de travail.
L'API Fabric Workspace commence à apparaître dans le fournisseur Terraform fabric (distinct de azurerm), mais elle est encore en cours de maturation. Pour les besoins du labo DP-600, le provisionnement de capacité ci-dessus vous permet d'ouvrir le portail Fabric, de créer un espace de travail lié à cette capacité et d'y construire des Lakehouses + notebooks + entrepôts de données — de la même manière que chaque candidat DP-600 s'exerce.
Pour une couverture service par service, consultez les sections Parcourir et Editorial de cette page de certification.