最終確認: 2026年5月
DP-700 試験の対象となる AWS サービスを、プレーンな Terraform を使用して構築します。1 ブロックずつ、それぞれ試験ドメインに関連付けられています。同じコードが OpenTofu でも動作します。
このラボを完了するまでに、Microsoft Fabric データエンジニアが活用するストリーミング取り込み基盤を、プレーンなTerraformでプロビジョニングします。具体的には、ストリーミングソースとしてのEvent Hubsネームスペースとイベントハブ、bronze/silver/goldのメダリオンコンテナを持つADLS Gen2ストレージアカウント、Fabricワークスペースが配置されるFabric F2キャパシティ、および可観測性のためのLog Analyticsをプロビジョニングします。Fabric Event StreamsとLakehouseは、この基盤を指すFabricポータルを介してワークスペース内に作成されます。
これらのスニペットを単一の main.tf ファイルにドロップし、terraform init を実行し、その後 terraform apply をステップバイステップで実行してください。
>= 1.5 または OpenTofu >= 1.6。az login)。FabricとEvent Hubsを合わせて、実行中は月額約$275です。DP-600と同じアンチパターンが適用されます — キャパシティは24時間365日課金されます。速やかに削除または一時停止してください。
標準的な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データベースにルーティングし、ダウンストリームのクエリは数秒以内にデータを参照できます。
ここでは、1日間の保持期間を持つBasicティア(最も安価で、単一のスループットユニット)を使用します。試験の「Standard vs Premium」のトレードオフに関する質問は、ストレージへのキャプチャ機能(キャプチャはイベントを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
}メダリオンアーキテクチャ (bronze / silver / gold) は、DP-700の「分析ソリューションの実装と管理」における参照データモデリングパターンです。取り込まれた生データは bronze/ に、クリーンアップされ検証されたデータは silver/ に、ビジネス集約されたデータは gold/ に配置されます。Fabric Lakehouseのテーブルは、この正確なレイアウトの上に存在します。
ここでは、3つのコンテナ層を持つ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"
}DP-600と同じFabricキャパシティのプリミティブであり、F2 SKUは開発に適した最小サイズです。ただし、DP-700の視点は異なります。DP-600が分析モデリングのワークロードに焦点を当てていたのに対し、DP-700はデータ取り込み側に焦点を当てています。Eventstreams、Sparkノートブック、およびデータパイプラインはすべてこのキャパシティ内で実行されます。
Log AnalyticsはFabricキャパシティの診断情報(スロットリング、クエリ期間)を受信します。DP-700の「保守と最適化」ドメインは、ストリーミングパイプラインがイベントをドロップし始めた際のインシデント対応のためにこれを活用します。
キャパシティが配置されると、DP-700の完全なストリーミング基盤が形成されます。具体的には、Event Hubs → Fabric Event Stream → ADLS Gen2ストレージアカウント上のLakehouseテーブルです。アプリケーション作業(Event Streamの作成、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を残しておきたい場合は、Event Hubs Basicを単独で削除できます。
DP-700は、このラボには収まらないより多くのストリーミングおよびバッチ処理の側面をカバーしています。これには、Fabric Event Streams自体(現在Terraformはサポートしていません。Fabricポータル経由で作成)、KQLデータベース/Eventhouse、データパイプライン(Fabric内のData Factory)、Sparkノートブック、リアルタイムインテリジェンスダッシュボード、およびPower BIセマンティックモデル統合が含まれます。
私たちは、Fabric EventstreamsとLakehouseがアタッチする基盤に重点を置いています。つまり、ソースとしてのEvent Hubs、シンクとしてのADLS Gen2、コンピューティングとしてのFabricキャパシティです。この基盤をプロビジョニングすれば、すべてのDP-700ワークロード(Stream → Lakehouse、Stream → KQL、Pipeline → Warehouse)は、このTerraformシェル上に構築されるFabricポータルでの演習となります。
サービスごとの詳細については、この認定ページにある閲覧およびEditorialセクションを参照してください。