DevOps बूटकैंप · पाठ

डेटा स्रोतों से डेटा पूछना

मौजूदा अवसंरचना या बाहरी सेवाओं की जानकारी प्राप्त करने के लिए डेटा स्रोतों का उपयोग करें, जिससे अधिक गतिशील और अनुकूलनशील कॉन्फ़िगरेशन बनाए जा सकें।

पाठ 1, कुल 4 में से11 चरण

डेटा स्रोतों से डेटा पूछना, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

डेटा स्रोत क्या होते हैं

Terraform में हमें अक्सर ऐसे मौजूदा इन्फ्रास्ट्रक्चर या बाहरी डेटा का संदर्भ लेना पड़ता है, जिनका प्रबंधन हमारे वर्तमान कॉन्फ़िगरेशन द्वारा नहीं किया जाता।

यहीं Data Sources काम आते हैं! इनके माध्यम से आपका Terraform कॉन्फ़िगरेशन पहले से प्रावधानित संसाधनों या बाहरी सेवाओं के बारे में जानकारी प्राप्त कर सकता है।

डेटा स्रोत बनाम संसाधन

डेटा स्रोतों और संसाधनों के बीच अंतर समझना महत्वपूर्ण है।

  • संसाधन उस इन्फ्रास्ट्रक्चर को परिभाषित करते हैं, जिसे Terraform बनाएगा, अपडेट करेगा या हटाएगा।
  • Data Sources केवल मौजूदा इन्फ्रास्ट्रक्चर या डेटा के बारे में जानकारी प्राप्त करते हैं। वे कुछ बनाते या संशोधित नहीं करते।

उन्हें अपने इन्फ्रास्ट्रक्चर के लिए केवल-पठन वाली क्वेरी समझें।

व्यावहारिक उपयोग के मामले

डेटा स्रोत इन कार्यों के लिए बेहद उपयोगी हैं:

  • मौजूदा Virtual Private Cloud (VPC) का ID ढूँढना।
  • EC2 इंस्टेंस के लिए नवीनतम Amazon Machine Image (AMI) प्राप्त करना।
  • सीक्रेट प्रबंधन सेवा से गुप्त जानकारी प्राप्त करना।
  • DNS रिकॉर्ड या नेटवर्क कॉन्फ़िगरेशन ढूँढना।

इनसे आपके कॉन्फ़िगरेशन अधिक गतिशील और कम हार्डकोडेड बनते हैं।

डेटा स्रोत परिभाषित करना

डेटा स्रोत ब्लॉक संसाधन ब्लॉक जैसा ही दिखता है। यह data कीवर्ड से शुरू होता है, जिसके बाद प्रदाता और प्रकार, तथा फिर एक स्थानीय नाम आता है।

data "aws_vpc" "selected" {
  filter {
    name   = "tag:Name"
    values = ["my-existing-vpc"]
  }
}

प्राप्त डेटा का इस्तेमाल करना

डेटा स्रोत द्वारा जानकारी प्राप्त करने के बाद, उसके गुण आपके कॉन्फ़िगरेशन के अन्य भागों के लिए उपलब्ध हो जाते हैं। आप उन्हें इस सिंटैक्स से संदर्भित कर सकते हैं: data.<TYPE>.<NAME>.<ATTRIBUTE>।

उदाहरण के लिए, हमारे द्वारा चुने गए VPC का ID प्राप्त करने के लिए:

output "vpc_id" {
  value = data.aws_vpc.selected.id
}

नवीनतम AMI प्राप्त करना

एक सामान्य कार्य EC2 इंस्टेंस के लिए नवीनतम Amazon Machine Image (AMI) ढूँढना है। इससे AMI IDs को हार्डकोड करने की आवश्यकता नहीं रहती और आपका कॉन्फ़िगरेशन अधिक मज़बूत बनता है।

नवीनतम Amazon Linux 2 AMI प्राप्त करने का तरीका इस प्रकार है:

provider "aws" {
  region = "us-east-1"
}

data "aws_ami" "amazon_linux_2" {
  most_recent = true
  owners      = ["amazon"]

  filter {
    name   = "name"
    values = ["amzn2-ami-hvm-*-x86_64-gp2"]
  }

  filter {
    name   = "virtualization-type"
    values = ["hvm"]
  }
}

output "latest_ami_id" {
  value = data.aws_ami.amazon_linux_2.id
}

गतिशील S3 नीति दस्तावेज़

डेटा स्रोत केवल क्लाउड संसाधनों के लिए नहीं होते। aws_iam_policy_document डेटा स्रोत जटिल IAM नीतियों को व्यवस्थित तरीके से बनाने में मदद करता है।

यह कोई नीति नहीं बनाता, बल्कि एक JSON दस्तावेज़ तैयार करता है, जिसे आप बाद में S3 बकेट जैसे संसाधन पर लागू कर सकते हैं।

provider "aws" {
  region = "us-east-1"
}

data "aws_iam_policy_document" "s3_read_only_policy" {
  statement {
    principals {
      type        = "AWS"
      identifiers = ["arn:aws:iam::123456789012:user/example-user"]
    }
    actions = [
      "s3:GetObject",
      "s3:ListBucket"
    ]
    resources = [
      "arn:aws:s3:::my-example-bucket",
      "arn:aws:s3:::my-example-bucket/*"
    ]
  }
}

output "policy_json" {
  value = data.aws_iam_policy_document.s3_read_only_policy.json
}

अपनी खोज को बेहतर बनाना

कई डेटा स्रोत filter ब्लॉक का समर्थन करते हैं। इनके माध्यम से आप परिणामों को सीमित करने के लिए मानदंड निर्दिष्ट कर सकते हैं और यह सुनिश्चित कर सकते हैं कि आपको सही संसाधन या डेटा प्राप्त हो।

फ़िल्टर आमतौर पर name (जिस गुण के आधार पर फ़िल्टर करना है) और values (उस गुण के लिए स्वीकार्य मानों की सूची) स्वीकार करते हैं।

data "aws_instance" "web" {
  instance_state_names = ["running"]
  filter {
    name   = "tag:Environment"
    values = ["production"]
  }
  filter {
    name   = "instance-type"
    values = ["t2.micro", "t3.micro"]
  }
}

डेटा स्रोतों की सर्वोत्तम प्रक्रियाएँ

अपने कॉन्फ़िगरेशन को सुव्यवस्थित और प्रभावी बनाए रखने के लिए:

  • विशिष्ट रहें: आवश्यक सटीक डेटा प्राप्त करने और अस्पष्टता से बचने के लिए फ़िल्टर का इस्तेमाल करें।
  • Idempotency: डेटा स्रोत स्वभावतः इडेम्पोटेंट होते हैं, अर्थात उन्हें कई बार चलाने पर भी वही परिणाम मिलता है।
  • कॉल कम करें: terraform plan संचालन को तेज़ करने के लिए केवल आवश्यकता होने पर ही डेटा प्राप्त करें।
  • आउटपुट के साथ संयोजित करें: प्राप्त डेटा को अन्य कॉन्फ़िगरेशन या उपयोगकर्ताओं के लिए उपलब्ध कराने हेतु आउटपुट का इस्तेमाल करें।

डेटा स्रोत प्रश्नोत्तरी

Terraform Data Sources के बारे में निम्नलिखित में से कौन-से कथन TRUE हैं?

सारांश: डेटा क्वेरी करना

आपने सीखा कि Terraform के data sources आपके कॉन्फ़िगरेशन को मौजूदा इन्फ्रास्ट्रक्चर या बाहरी सेवाओं के बारे में जानकारी प्राप्त करने और उसकी क्वेरी करने में सक्षम बनाते हैं।

यह शक्तिशाली सुविधा हार्डकोड किए गए मानों से बचकर और आपके वातावरण के वर्तमान स्टेट के अनुसार ढलकर गतिशील, लचीले और मज़बूत कॉन्फ़िगरेशन बनाने में मदद करती है। याद रखें, डेटा स्रोत केवल पढ़ते हैं; वे कभी कुछ बनाते या संशोधित नहीं करते!

शुरुआत निःशुल्क

एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
142
पाठ
568

अक्सर पूछे जाने वाले प्रश्न

क्या “डेटा स्रोतों से डेटा पूछना” पाठ निःशुल्क है?

हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “डेटा स्रोतों से डेटा पूछना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“डेटा स्रोतों से डेटा पूछना” में मैं क्या सीखूँगा?

मौजूदा अवसंरचना या बाहरी सेवाओं की जानकारी प्राप्त करने के लिए डेटा स्रोतों का उपयोग करें, जिससे अधिक गतिशील और अनुकूलनशील कॉन्फ़िगरेशन बनाए जा सकें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“डेटा स्रोतों से डेटा पूछना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. डेटा स्रोतों से डेटा पूछना
  2. स्थानीय और दूरस्थ Exec प्रोविज़नर
  3. Null संसाधन और ट्रिगर
  4. बाहरी डेटा और टेम्पलेट का उपयोग
← DevOps बूटकैंप पर वापस जाएँ