Последняя проверка: май 2026 г.
Разверните сервисы AWS для экзамена DP-600 с помощью чистого Terraform: пошаговое руководство с привязкой каждого блока к разделам экзамена. Код также совместим с OpenTofu.
К концу этой лабораторной работы вы развернете с помощью чистого Terraform емкость Microsoft Fabric, которая лежит в основе каждой рабочей нагрузки Fabric — емкость F-SKU, предназначенную для разработки (F2), учетную запись хранения ADLS Gen2 для целевых объектов ярлыков OneLake, рабочую область Log Analytics для диагностики емкости и назначения ролей, связывающие все это с вашим основным принципалом Terraform. Рабочие области Fabric (Lakehouses, Warehouses, Notebooks) создаются внутри емкости через портал Fabric или REST API — это не входит в текущую область действия Terraform.
Поместите фрагменты кода в один файл main.tf, запустите terraform init, затем terraform apply пошагово.
>= 1.5 или OpenTofu >= 1.6.az login).Емкость Fabric — это самая большая статья расходов в этой лабораторной работе:
terraform destroy или через портал).Вопрос об антипаттерне стоимости DP-600 в 100% случаев связан с тем, «почему мой счет за Fabric составляет 262 долл. США, хотя никто им не пользуется?» — потому что емкость тарифицируется круглосуточно, если она не приостановлена. Всегда уничтожайте или приостанавливайте работу, когда активно не используете.
Стандартное начало для Azure. Емкости Fabric привязаны к региону — выберите регион, в котором находятся ваши источники данных, чтобы избежать платы за передачу данных между регионами (Fabric читает из OneLake, который физически находится в регионе емкости).
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
}Функция OneLake в Microsoft Fabric предоставляет унифицированное озеро данных для всех рабочих областей Fabric. Элементы Fabric (Lakehouses, Warehouses) физически хранят свои данные в OneLake, но Fabric также поддерживает ярлыки, которые ссылаются на данные во внешнем хранилище (ADLS Gen2, S3, GCS, Dataverse), как если бы они находились в OneLake. Шаблон ярлыков является горячей темой DP-600 для «Реализации и управления решениями для анализа данных» — федерация без копирования.
Здесь мы развертываем учетную запись ADLS Gen2 с включенным иерархическим пространством имен (обязательная настройка для ярлыков OneLake). Вы создадите фактический ярлык на портале Fabric, указывающий на эту учетную запись, как только она будет существовать.
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"
}Емкость Fabric — это расчетная единица для всех рабочих нагрузок Fabric. Рабочие области на портале Fabric связываются с емкостью, и это определяет ценообразование и квоту.
Мы развертываем наименьшую емкость производственного уровня (F2). Список administration_members указывает, кто может администрировать емкость на портале администратора Fabric — для лабораторной работы мы используем текущий принципал Terraform. Роль администратора отличается от разрешений на уровне рабочей области; администраторы емкости контролируют выставление счетов, общесистемные настройки емкости и то, какие рабочие области могут ее использовать.
DP-600 проверяет размер емкости как тему оптимизации затрат: выберите наименьший SKU, который соответствует потребностям вашей рабочей нагрузки в единицах запросов в секунду (RU/s), масштабируйте его вверх для пиковой нагрузки, масштабируйте вниз или приостанавливайте в нерабочее время. SKU серии F оплачиваются по мере использования (почасовая оплата); старые SKU серии P из Power BI Premium представляют собой зарезервированную емкость (годовое обязательство).
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
}Домен DP-600 «Поддержание и оптимизация аналитических решений» проверяет мониторинг работоспособности емкости как основную диагностическую поверхность — регулирование емкости, всплески длительности запросов, сбои обновления — все это отображается как сигналы Log Analytics. Мы развертываем рабочую область и настройку диагностики для емкости Fabric, которая отправляет все метрики и категории журналов в нее.
С этим последним компонентом основа Fabric завершена: емкость, соответствующая рабочей нагрузке, ADLS Gen2 готов как целевой объект ярлыков, диагностика емкости передается в Log Analytics. Рабочие области Fabric, Lakehouses, Warehouses, семантические модели и ноутбуки — все это создается внутри емкости через портал Fabric или REST API — это уровень приложения, который эта лабораторная работа не пытается реализовать в 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 удаляет все. Важное напоминание: емкость Fabric тарифицируется 24/7 — даже один день работы F2 обойдется примерно в 8,70 долл. США. Удаляйте своевременно. Альтернатива: емкость поддерживает операцию приостановки/возобновления через портал Azure, которая останавливает выставление счетов без уничтожения ресурса — полезно, если вы хотите сохранить лабораторную работу, но платить только при активном использовании.
DP-600 охватывает множество рабочих нагрузок Fabric, которые эта лабораторная работа не может реализовать с помощью чистого Terraform — Lakehouses (управляемые Fabric, не развертываемые через azurerm), Warehouses, базы данных KQL (Eventhouses), ноутбуки, конвейеры данных (Data Factory внутри Fabric), семантические модели (Power BI), потоки данных Gen2 и REST API Microsoft Fabric для создания рабочих областей.
API рабочей области Fabric начинает появляться в провайдере Terraform fabric (отдельно от azurerm), но он все еще находится в стадии доработки. Для целей лабораторной работы DP-600 вышеуказанное предоставление емкости позволяет вам открыть портал Fabric, создать рабочую область, привязанную к этой емкости, и создавать внутри нее Lakehouses + ноутбуки + Warehouses — таким же образом, как практикуется каждый кандидат DP-600.
Для покомпонентного охвата см. разделы Просмотр и Editorial этой страницы сертификации.