Последняя проверка: май 2026 г.
Разверните сервисы AWS для экзамена DP-700 с помощью чистого Terraform: пошаговое руководство с привязкой каждого блока к разделам экзамена. Код также совместим с OpenTofu.
К концу этой лабораторной работы вы настроите с помощью чистого Terraform основу для потокового приема данных, которую используют инженеры данных Microsoft Fabric — пространство имен Event Hubs + концентратор событий в качестве источника потоковой передачи, учетную запись хранения ADLS Gen2 с контейнерами "бронза/серебро/золото" по принципу медальона, емкость Fabric F2 для размещения рабочей области Fabric и Log Analytics для наблюдаемости. Потоки событий Fabric + Lakehouses создаются внутри рабочей области через портал Fabric, указывая на эту основу.
Поместите фрагменты в один файл main.tf, запустите terraform init, затем terraform apply шаг за шагом.
>= 1.5 или OpenTofu >= 1.6.az login).Fabric + Event Hubs вместе составят ~$275 в месяц во время работы. Применяется тот же антипаттерн, что и в DP-600 — емкость тарифицируется круглосуточно; немедленно удаляйте или приостанавливайте.
Стандартное начало для 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 — это служба Azure для высокопроизводительного приема событий, канонический источник для потоковой передачи данных в Fabric Event Streams. Домен DP-700 «Реализация и управление приемом данных» проверяет эту комбинацию напрямую: события в реальном времени поступают в Event Hubs, Fabric Event Streams подписываются и направляют их в Lakehouse или базу данных KQL, запросы вниз по течению видят данные в течение нескольких секунд.
Мы используем уровень Basic (самый дешевый, одна единица пропускной способности) с хранением данных в течение 1 дня. Вопрос экзамена о компромиссах «Standard vs Premium» касается функций записи в хранилище (Capture автоматически записывает события в ADLS) и более длительного хранения — у Basic их нет, но это дешевый вариант для лаборатории.
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
}Архитектура «медальон» (бронза / серебро / золото) — это эталонный шаблон моделирования данных из DP-700 Реализация и управление аналитическим решением: необработанные принятые данные в bronze/, очищенные и проверенные в silver/, агрегированные по бизнес-логике в gold/. Таблицы Fabric Lakehouse располагаются поверх этой точной структуры.
Мы выделяем учетную запись хранения ADLS Gen2 (иерархическое пространство имен = включено, требуется для таблиц Delta Lake) с тремя уровнями контейнеров. Ярлыки Fabric Lakehouse могут напрямую указывать на эту учетную запись хранения, поэтому Fabric читает/записывает данные здесь, не копируя их в 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"
}Та же примитивная емкость Fabric, что и в DP-600 — SKU F2 является наименьшим, подходящим для разработки. Однако подход DP-700 отличается: если DP-600 фокусировался на рабочих нагрузках аналитического моделирования, то DP-700 сосредоточен на стороне приема данных. Потоки событий, записные книжки Spark и конвейеры данных — все это работает внутри этой емкости.
Log Analytics получает диагностические данные емкости Fabric (регулирование, длительность запросов) — домен DP-700 Обслуживание и оптимизация опирается на это для реагирования на инциденты, когда потоковый конвейер начинает терять события.
После развертывания емкости формируется полная потоковая основа DP-700: Event Hubs → Поток событий Fabric → Таблица Lakehouse в учетной записи хранения ADLS Gen2. Работа приложения (создание потока событий, определение Lakehouse, написание преобразований) происходит на портале 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 удаляет все. Емкость Fabric F2 является основной статьей расходов (~$262 в месяц). Приостановите работу через портал Azure, если хотите сохранить ресурс, но остановить начисление платы. Event Hubs Basic стоит ~$11 в месяц — его можно удалить независимо, если вы хотите сохранить Fabric.
DP-700 охватывает больше аспектов потоковой и пакетной обработки, которые не вмещаются в эту лабораторию — сами потоки событий Fabric (на сегодня без поддержки Terraform; создаются через портал Fabric), базы данных KQL / Eventhouses, конвейеры данных (Data Factory внутри Fabric), записные книжки Spark, панели мониторинга Real-Time Intelligence и интеграция семантической модели Power BI.
Мы придерживаемся основы, к которой подключаются потоки событий Fabric + Lakehouses — Event Hubs в качестве источника, ADLS Gen2 в качестве приемника, емкость Fabric в качестве вычислительной мощности. После того как вы предоставите эту базу, каждая рабочая нагрузка DP-700 (Поток → Lakehouse, Поток → KQL, Конвейер → Warehouse) становится задачей на портале Fabric поверх этой оболочки Terraform.
Для детального обзора по каждой службе см. разделы Просмотр и Editorial на этой странице сертификации.