Dernière révision : mai 2026
Configurez les services AWS figurant à l'examen DP-700 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 lab, vous aurez provisionné, avec Terraform, l'infrastructure d'ingestion en continu que les ingénieurs de données Microsoft Fabric utilisent — un espace de noms Event Hubs + un hub d'événements comme source de streaming, un compte de stockage ADLS Gen2 avec des conteneurs médaillons bronze/argent/or, une capacité Fabric F2 pour l'espace de travail Fabric, et Log Analytics pour l'observabilité. Les flux d'événements Fabric (Event Streams) et les Lakehouses sont créés dans l'espace de travail via le portail Fabric, en pointant vers cette infrastructure.
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).Fabric + Event Hubs combinés : environ 275 $/mois en fonctionnement. Le même anti-modèle que dans le DP-600 s'applique — la capacité est facturée 24h/24 et 7j/7 ; détruisez ou mettez en pause rapidement.
Ouverture Azure standard.
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 est le service d'ingestion d'événements à haut débit d'Azure — la source canonique pour le streaming de données vers Fabric Event Streams. Le domaine Implémenter et gérer l'ingestion de données du DP-700 teste directement cette combinaison : les événements en temps réel arrivent dans Event Hubs, les flux d'événements Fabric (Event Streams) s'abonnent et les acheminent vers une Lakehouse ou une base de données KQL, et les requêtes en aval voient les données en quelques secondes.
Nous utilisons le niveau Basic (le moins cher, une seule unité de débit) avec une rétention d'un jour. La question de l'examen sur le compromis Standard vs Premium concerne les fonctionnalités de capture vers le stockage (Capture écrit automatiquement les événements dans ADLS) et une rétention plus longue — le niveau Basic ne les a pas, mais c'est l'option la moins chère pour le lab.
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
}L'architecture médaillon (bronze / argent / or) est le modèle de modélisation de données de référence du DP-700 pour Implémenter et gérer une solution analytique : données brutes ingérées dans bronze/, nettoyées et validées dans silver/, agrégées pour l'entreprise dans gold/. Les tables Fabric Lakehouse sont construites sur cette disposition exacte.
Nous provisionnons un compte de stockage ADLS Gen2 (espace de noms hiérarchique = activé, requis pour les tables Delta Lake) avec les trois couches de conteneurs. Les raccourcis Fabric Lakehouse peuvent pointer directement vers ce compte de stockage, de sorte que Fabric lit/écrit ici sans copier les données dans 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"
}Même primitive de capacité Fabric que pour le DP-600 — la référence F2 est la plus petite taille adaptée au développement. L'approche du DP-700 est cependant différente : là où le DP-600 se concentrait sur les charges de travail de modélisation analytique, le DP-700 se concentre sur l'ingestion de données. Les flux d'événements (Eventstreams), les notebooks Spark et les pipelines de données s'exécutent tous au sein de cette capacité.
Log Analytics reçoit les diagnostics de capacité Fabric (étranglement, durée des requêtes) — le domaine Maintenir et optimiser du DP-700 s'appuie sur cela pour la réponse aux incidents lorsqu'un pipeline de streaming commence à perdre des événements.
Une fois la capacité mise en place, l'infrastructure de streaming complète du DP-700 est formée : Event Hubs → Fabric Event Stream → table Lakehouse sur le compte de stockage ADLS Gen2. Le travail d'application (création du flux d'événements, définition de la Lakehouse, écriture des transformations) se fait dans le portail 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 supprime tout. La capacité Fabric F2 est l'élément principal (~262 $/mois). Mettez en pause via le portail Azure si vous souhaitez conserver la ressource mais arrêter la facturation. Event Hubs Basic coûte environ 11 $/mois — il peut être détruit indépendamment si vous souhaitez conserver Fabric.
Le DP-700 couvre davantage de surfaces de streaming et de batch que ce lab ne peut inclure — les flux d'événements Fabric (Event Streams) eux-mêmes (pas de support Terraform aujourd'hui ; à créer via le portail Fabric), les bases de données KQL / Eventhouses, les pipelines de données (Data Factory au sein de Fabric), les notebooks Spark, les tableaux de bord Real-Time Intelligence et l'intégration du modèle sémantique Power BI.
Nous nous en tenons à l'infrastructure à laquelle les flux d'événements Fabric (Eventstreams) et les Lakehouses se connectent — Event Hubs comme source, ADLS Gen2 comme destination, et la capacité Fabric comme ressource de calcul. Une fois cette base provisionnée, chaque charge de travail DP-700 (Stream → Lakehouse, Stream → KQL, Pipeline → Warehouse) est un exercice via le portail Fabric sur cette enveloppe Terraform.
Pour une couverture service par service, consultez les sections Parcourir et Editorial de cette page de certification.