अंतिम समीक्षा: मई 2026
साधारण Terraform के साथ DP-900 परीक्षा के AWS संसाधनों को बनाएं — एक समय में एक ब्लॉक, प्रत्येक परीक्षा डोमेन से जुड़ा हुआ। यही कोड OpenTofu पर भी काम करता है।
इस लैब के अंत तक, आप सादे टेराफॉर्म के साथ DP-900 द्वारा परीक्षण की जाने वाली तीन डेटा-प्लेटफ़ॉर्म आकृतियों को प्रोविज़न कर चुके होंगे — लाइफसाइकिल पॉलिसी के साथ ब्लब/विश्लेषणात्मक डेटा के लिए एक Azure Storage अकाउंट, बेसिक-टियर सर्वर पर एक रिलेशनल Azure SQL डेटाबेस, और गैर-रिलेशनल JSON के लिए एक सर्वरलेस Cosmos DB अकाउंट। एक स्टैक, तीन सबस्ट्रेट्स, हर एक DP-900 डोमेन से जुड़ा हुआ है।
प्रत्येक संसाधन सादा टेराफॉर्म है। स्निपेट्स को एक ही main.tf में डालें, terraform init चलाएं, फिर terraform apply को चरण-दर-चरण चलाएं।
>= 1.5 या OpenTofu >= 1.6।az login)।मिश्रित लागत — दो सस्ते, एक वास्तविक बिल वाला:
पूरा स्टैक चलने के दौरान लगभग $5–8/माह है। काम पूरा होने पर तुरंत नष्ट कर दें — SQL DB वह एकमात्र आइटम है जो 24/7 बिल करता है, भले ही आप इसका उपयोग कर रहे हों या नहीं।
मानक Azure ओपनर को एक ब्लॉक में समेकित किया गया है: azurerm ~> 4.0 को पिन करें, random और random_password प्रदाताओं को पंजीकृत करें (हम दोनों का उपयोग करेंगे — अद्वितीय संसाधन नामकरण के लिए random_id, SQL एडमिन पासवर्ड के लिए random_password), और रिसोर्स ग्रुप बनाएं।
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 = 2
}
locals {
tags = {
Project = "certlabpro-dp-900"
ManagedBy = "terraform"
}
}
resource "azurerm_resource_group" "main" {
name = "certlabpro-dp-900-rg"
location = "eastus"
tags = local.tags
}Azure स्टोरेज विश्लेषणात्मक-डेटा सबस्ट्रेट है जिसकी हर DP-900 प्रश्न में धारणा होती है (हॉट / कूल / आर्काइव टियरिंग, लाइफसाइकिल पॉलिसी जो ठंडे डेटा को स्वचालित रूप से स्थानांतरित करती है)। हम पदानुक्रमित नेमस्पेस (is_hns_enabled = true) चालू करते हैं जो अकाउंट को Azure Data Lake Storage Gen2 में बदल देता है — वह संस्करण जिसकी Azure Synapse, Databricks और Fabric सभी विश्लेषणात्मक वर्कलोड के लिए अपेक्षा करते हैं।
लाइफसाइकिल पॉलिसी सबसे अधिक परीक्षण की जाने वाली DP-900 लागत-अनुकूलन तंत्र है: सक्रिय डेटा के लिए हॉट टियर, 30 दिनों के बाद कूल, 90 दिनों के बाद आर्काइव। तीन टियर, तीन रिटेंशन विंडो — परीक्षा परिदृश्यों में इन संख्याओं का उल्लेख करेगी।
resource "azurerm_storage_account" "analytics" {
name = "dp900data${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 # Data Lake Storage Gen2
https_traffic_only_enabled = true
min_tls_version = "TLS1_2"
allow_nested_items_to_be_public = false
tags = local.tags
}
resource "azurerm_storage_management_policy" "analytics" {
storage_account_id = azurerm_storage_account.analytics.id
rule {
name = "tier-cold-data"
enabled = true
filters {
blob_types = ["blockBlob"]
prefix_match = ["raw/"]
}
actions {
base_blob {
tier_to_cool_after_days_since_modification_greater_than = 30
tier_to_archive_after_days_since_modification_greater_than = 90
}
}
}
}Azure पर रिलेशनल डेटा का मतलब है Azure SQL डेटाबेस (PaaS, पूरी तरह से प्रबंधित)। DP-900 SQL डेटाबेस (सिंगल डेटाबेस, सर्वरलेस या DTU-आधारित, PaaS) बनाम SQL Managed Instance (लगभग 100% SQL सर्वर संगतता, बड़े-इंस्टेंस PaaS) बनाम VM पर SQL सर्वर (IaaS, पूर्ण नियंत्रण) के बीच अंतर का परीक्षण करता है।
हम एक SQL सर्वर लॉजिकल कंटेनर (कनेक्शन-स्ट्रिंग एंडपॉइंट) और इसके तहत बेसिक टियर पर एक डेटाबेस प्रोविज़न करते हैं — जो सबसे सस्ता भुगतान वाला SKU है। ट्रांज़िट में हमेशा एन्क्रिप्टेड (TLS 1.2) लागू किया जाता है। फ़ायरवॉल नियम Azure सेवाओं को कनेक्ट करने की अनुमति देता है (विशिष्ट DP-900 "मेरी ऐप सर्विस मेरे SQL से कैसे बात करती है?" प्रश्न — यह नियम इसका उत्तर है)।
resource "random_password" "sql_admin" {
length = 24
special = true
min_upper = 2
min_lower = 2
min_numeric = 2
}
resource "azurerm_mssql_server" "main" {
name = "certlabpro-dp-900-${random_id.suffix.hex}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
version = "12.0"
administrator_login = "sqladmin"
administrator_login_password = random_password.sql_admin.result
minimum_tls_version = "1.2"
public_network_access_enabled = true
tags = local.tags
}
resource "azurerm_mssql_database" "main" {
name = "certlabpro-dp-900-db"
server_id = azurerm_mssql_server.main.id
sku_name = "Basic"
max_size_gb = 2
zone_redundant = false
tags = local.tags
}
resource "azurerm_mssql_firewall_rule" "allow_azure_services" {
name = "AllowAzureServices"
server_id = azurerm_mssql_server.main.id
start_ip_address = "0.0.0.0"
end_ip_address = "0.0.0.0" # 0.0.0.0/0.0.0.0 = "allow Azure services" sentinel
}Azure पर गैर-रिलेशनल डेटा का मतलब है Azure Cosmos DB, एक विश्व स्तर पर वितरित मल्टी-API डेटाबेस। DP-900 विशेष रूप से API के अंतर का परीक्षण करता है — NoSQL (कोर / SQL API, सबसे आम), MongoDB, Cassandra, Gremlin, और Table। हम कोर SQL API + सर्वरलेस क्षमता मोड (प्रति-अनुरोध भुगतान, कोई निष्क्रिय बिलिंग नहीं — सर्वरलेस-बनाम-प्रोविज़न के लिए DP-900 लागत-एंटी-पैटर्न प्रश्न) का उपयोग करते हैं।
consistency_level = "Session" Cosmos DB का डिफ़ॉल्ट है और DP-900 पर सबसे अधिक परीक्षण किया गया सुसंगतता स्तर है: उत्कृष्ट विलंबता के साथ प्रति-सत्र रैखिकता। अन्य चार — Strong, Bounded staleness, Eventual, Consistent prefix — वैचारिक परीक्षा विषय हैं।
तीनों डेटा सबस्ट्रेट्स (चरण 2 में ब्लब, चरण 3 में SQL, चरण 4 में Cosmos) के साथ, DP-900 मुख्य डेटा अवधारणाएँ डोमेन का एक मूर्त आकार है: "किस डेटा आकार के लिए कौन सी Azure सेवा" इन तीन संसाधनों द्वारा उत्तर दिया जाता है।
resource "azurerm_cosmosdb_account" "main" {
name = "certlabpro-dp-900-${random_id.suffix.hex}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
offer_type = "Standard"
kind = "GlobalDocumentDB" # Core (SQL) API
capabilities {
name = "EnableServerless"
}
consistency_policy {
consistency_level = "Session"
}
geo_location {
location = azurerm_resource_group.main.location
failover_priority = 0
}
tags = local.tags
}एक मानक terraform destroy इस लैब में सब कुछ हटा देता है। दो बातें ध्यान दें:
random_password के माध्यम से उत्पन्न होता है — यह टेराफॉर्म स्टेट में संग्रहीत होता है। यदि आप स्टेट को गिट में कमिट करते हैं, तो आपने पासवर्ड को भी कमिट कर दिया है। किसी भी गैर-सामान्य सेटअप में रिमोट स्टेट बैकएंड (संस्करण + सॉफ्ट डिलीट के साथ Azure Storage) का उपयोग करें।DP-900 कई डेटा सेवाओं को कवर करता है जिन्हें यह लैब फिट नहीं कर सकती — Azure Synapse Analytics (DP-600/DP-700 में कवर किया गया), Azure Databricks, Azure Data Factory, Microsoft Fabric, Azure Stream Analytics, Event Hubs, Azure SQL Managed Instance, Azure Database for PostgreSQL / MySQL / MariaDB, Power BI, और Azure विश्लेषणात्मक सेवाएँ जो निष्क्रिय रहने पर महंगा बिल करती हैं (Synapse समर्पित SQL पूल, समर्पित Spark पूल)।
हम तीन मुख्य डेटा आकृतियों (ब्लब/विश्लेषणात्मक, रिलेशनल, गैर-रिलेशनल) पर टिके रहते हैं क्योंकि DP-900 मूल रूप से किस आकार के लिए कौन सी सेवा की परीक्षा है। एक बार जब आप इस लैब द्वारा प्रदान किए गए तीन सबस्ट्रेट्स को आत्मसात कर लेते हैं, तो हर दूसरा DP-900 प्रश्न उनके ऊपर एक लेयरिंग प्रश्न बन जाता है।
सेवा-दर-सेवा कवरेज के लिए, इस प्रमाणपत्र पृष्ठ के ब्राउज़, मार्गदर्शिका, और Editorial अनुभाग देखें।