Zuletzt überprüft: Mai 2026
Erstellen Sie die AWS-Dienste der DP-700-Prüfung mit reinem Terraform — ein Block nach dem anderen, jeweils abgestimmt auf eine Prüfungsdomäne. Derselbe Code funktioniert auch mit OpenTofu.
Am Ende dieses Labs haben Sie mit reinem Terraform das Streaming-Ingestion-Substrat bereitgestellt, das Microsoft Fabric Data Engineers verwenden – einen Event Hubs-Namespace + einen Event Hub als Streaming-Quelle, ein ADLS Gen2-Speicherkonto mit Bronze-/Silver-/Gold-Medallion-Containern, eine Fabric F2-Kapazität für den Fabric-Arbeitsbereich und Log Analytics für die Observability. Fabric Event Streams + Lakehouses werden im Arbeitsbereich über das Fabric-Portal erstellt und zeigen auf dieses Substrat.
Fügen Sie die Snippets in eine einzige main.tf ein, führen Sie terraform init aus und anschließend terraform apply Schritt für Schritt.
>= 1.5 oder OpenTofu >= 1.6.az login).Fabric + Event Hubs zusammen ca. 275 $/Monat im Betrieb. Das gleiche Anti-Pattern wie bei DP-600 gilt – die Kapazität wird rund um die Uhr abgerechnet; umgehend zerstören oder anhalten.
Standard Azure-Einstieg.
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 ist der ereignisgesteuerte Ingestion-Dienst von Azure mit hohem Durchsatz – die kanonische Quelle für das Streamen von Daten in Fabric Event Streams. Der DP-700-Bereich Implementieren und Verwalten der Datenerfassung testet diese Kombination direkt: Echtzeitereignisse landen in Event Hubs, Fabric Event Streams abonnieren diese und leiten sie in ein Lakehouse oder eine KQL-Datenbank weiter, nachgeschaltete Abfragen sehen die Daten innerhalb von Sekunden.
Wir verwenden den Basic-Tarif (am günstigsten, eine einzige Durchsatzeinheit) mit 1 Tag Aufbewahrungszeit. Die Prüfungsfrage zum Kompromiss zwischen Standard und Premium betrifft Capture-to-Storage-Funktionen (Capture schreibt Ereignisse automatisch in ADLS) und eine längere Aufbewahrung – Basic bietet diese nicht, ist aber die kostengünstige Option für das 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
}Die Medallion-Architektur (Bronze / Silver / Gold) ist das Referenz-Datenmodellierungsmuster des DP-700-Abschnitts Analyselösungen implementieren und verwalten: roh erfasste Daten in bronze/, bereinigt und validiert in silver/, geschäftsbezogen aggregiert in gold/. Fabric Lakehouse-Tabellen basieren auf diesem genauen Layout.
Wir stellen ein ADLS Gen2-Speicherkonto (hierarchischer Namespace = aktiviert, erforderlich für Delta Lake-Tabellen) mit den drei Container-Ebenen bereit. Fabric Lakehouse-Verknüpfungen können direkt auf dieses Speicherkonto zeigen, sodass Fabric hier liest/schreibt, ohne Daten in OneLake zu kopieren.
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"
}Dieselbe Fabric-Kapazitäts-Primitive wie bei DP-600 – die F2 SKU ist die kleinste entwicklerfreundliche Größe. Der DP-700-Fokus ist jedoch anders: Während sich DP-600 auf analytische Modellierungs-Workloads konzentrierte, konzentriert sich DP-700 auf die Datenerfassungsseite. Eventstreams, Spark-Notebooks und Datenpipelines laufen alle innerhalb dieser Kapazität.
Log Analytics empfängt die Fabric-Kapazitätsdiagnosen (Drosselung, Abfragedauer) – der DP-700-Bereich Wartung und Optimierung stützt sich darauf für die Reaktion auf Vorfälle, wenn eine Streaming-Pipeline beginnt, Ereignisse zu verwerfen.
Mit der bereitgestellten Kapazität ist das vollständige DP-700-Streaming-Substrat geformt: Event Hubs → Fabric Event Stream → Lakehouse-Tabelle auf dem ADLS Gen2-Speicherkonto. Die Anwendungsarbeit (Erstellen des Event Streams, Definieren des Lakehouse, Schreiben von Transformationen) erfolgt im Fabric-Portal.
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 reißt alles ab. Die Fabric F2-Kapazität ist der größte Posten (ca. 262 $/Monat). Halten Sie sie über das Azure-Portal an, wenn Sie die Ressource behalten, aber die Abrechnung stoppen möchten. Event Hubs Basic kostet ca. 11 $/Monat – kann unabhängig zerstört werden, wenn Sie Fabric behalten möchten.
DP-700 deckt weitere Streaming- + Batch-Oberflächen ab, die in dieses Lab nicht passen – Fabric Event Streams selbst (heute keine Terraform-Unterstützung; Erstellung über das Fabric-Portal), KQL-Datenbanken / Eventhouses, Datenpipelines (Data Factory innerhalb von Fabric), Spark-Notebooks, Real-Time Intelligence-Dashboards und die Power BI-Integration semantischer Modelle.
Wir beschränken uns auf das Substrat, an das Fabric Eventstreams + Lakehouses anknüpfen – Event Hubs als Quelle, ADLS Gen2 als Ziel, Fabric-Kapazität als Compute. Sobald Sie diese Basis bereitgestellt haben, ist jede DP-700-Workload (Stream → Lakehouse, Stream → KQL, Pipeline → Warehouse) eine Fabric-Portal-Übung auf dieser Terraform-Shell.
Für eine servicebezogene Abdeckung siehe die Abschnitte Durchsuchen und Editorial dieser Zertifizierungsseite.