Terraform 0.11 - aws_s3_bucket_object

डेटा स्रोत: aws_s3_bucket_object




terraform

डेटा स्रोत: aws_s3_bucket_object

S3 ऑब्जेक्ट डेटा स्रोत मेटाडेटा तक पहुंच और वैकल्पिक रूप से (नीचे देखें) S3 बाल्टी के अंदर संग्रहीत ऑब्जेक्ट की सामग्री को अनुमति देता है।

उदाहरण उपयोग

निम्न उदाहरण एक टेक्स्ट ऑब्जेक्ट (जिसमें text/ साथ शुरू होने वाली Content-Type मूल्य होना चाहिए) को पुनः प्राप्त करता है और इसे EC2 उदाहरण के लिए user_data रूप में उपयोग करता है:

data "aws_s3_bucket_object" "bootstrap_script" {
  bucket = "ourcorp-deploy-config"
  key    = "ec2-bootstrap-script.sh"
}

resource "aws_instance" "example" {
  instance_type = "t2.micro"
  ami           = "ami-2757f631"
  user_data     = "${data.aws_s3_bucket_object.bootstrap_script.body}"
}

निम्नलिखित, अधिक-जटिल उदाहरण S3 में संग्रहीत एक ज़िप फ़ाइल के लिए केवल मेटाडेटा को पुनर्प्राप्त करता है, जिसे तब फ़ंक्शन कार्यान्वयन के रूप में उपयोग करने के लिए AWS लैम्ब्डा के सबसे हाल के version_id करने के लिए उपयोग किया जाता है। aws_lambda_function कार्यों के बारे में अधिक जानकारी aws_lambda_function के दस्तावेज में उपलब्ध है।

data "aws_s3_bucket_object" "lambda" {
  bucket = "ourcorp-lambda-functions"
  key    = "hello-world.zip"
}

resource "aws_lambda_function" "test_lambda" {
  s3_bucket         = "${data.aws_s3_bucket_object.lambda.bucket}"
  s3_key            = "${data.aws_s3_bucket_object.lambda.key}"
  s3_object_version = "${data.aws_s3_bucket_object.lambda.version_id}"
  function_name     = "lambda_function_name"
  role              = "${aws_iam_role.iam_for_lambda.arn}" # (not shown)
  handler           = "exports.test"
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • bucket - (आवश्यक) वस्तु को पढ़ने के लिए बाल्टी का नाम
  • key - (आवश्यक) बाल्टी के अंदर वस्तु का पूरा रास्ता
  • version_id - (वैकल्पिक) विशिष्ट वस्तु का आईडी लौटाया गया (नवीनतम संस्करण में चूक)

संदर्भ संदर्भित करता है

उपरोक्त सभी तर्कों के अलावा, निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • body - ऑब्जेक्ट डेटा (उन क्षेत्रों को समझने के लिए ऊपर की सीमाएँ देखें जिनमें यह फ़ील्ड वास्तव में उपलब्ध है)
  • cache_control - अनुरोध / उत्तर श्रृंखला के साथ कैशिंग व्यवहार को निर्दिष्ट करता है।
  • content_disposition - वस्तु के लिए प्रस्तुतिकरण संबंधी जानकारी को निर्दिष्ट करता है।
  • content_encoding - निर्दिष्ट करता है कि क्या सामग्री एन्कोडिंग ऑब्जेक्ट पर लागू की गई है और इस प्रकार सामग्री-प्रकार के हेडर फ़ील्ड द्वारा संदर्भित मीडिया-प्रकार को प्राप्त करने के लिए डिकोडिंग तंत्र को लागू किया जाना चाहिए।
  • content_language - सामग्री जिस भाषा में है।
  • content_length - बाइट्स में शरीर का आकार।
  • content_type - ऑब्जेक्ट डेटा के प्रारूप का वर्णन करने वाला एक मानक MIME प्रकार।
  • ETag - वस्तु के लिए ETag उत्पन्न (वस्तु का एमडी 5 योग अगर यह एन्क्रिप्ट नहीं किया गया है)
  • expiration - यदि वस्तु समाप्ति को कॉन्फ़िगर किया गया है ( ऑब्जेक्ट जीवनचक्र प्रबंधन देखें), फ़ील्ड में यह शीर्षक शामिल है। इसमें एक्सपायरी-डेट और रूल-आईडी कुंजी मूल्य जोड़े वस्तु समाप्ति की जानकारी प्रदान करते हैं। नियम-आईडी का मान URL इनकोडेड है।
  • expires - वह दिनांक और समय जिस पर ऑब्जेक्ट अब उपलब्ध नहीं है।
  • last_modified - RFC1123 प्रारूप में ऑब्जेक्ट की अंतिम संशोधित तिथि (जैसे Mon, 02 Jan 2006 15:04:05 MST )
  • metadata - metadata एक नक्शा जो S3 में ऑब्जेक्ट के साथ संग्रहीत है
  • server_side_encryption - यदि ऑब्जेक्ट सर्वर-साइड एन्क्रिप्शन (KMS या अमेज़न server_side_encryption प्रबंधित एन्क्रिप्शन कुंजी) का उपयोग करके संग्रहीत किया जाता है, तो इस फ़ील्ड में चुने गए एन्क्रिप्शन और एल्गोरिथ्म का उपयोग किया जाता है।
  • sse_kms_key_id - यदि मौजूद है, तो कुंजी प्रबंधन सेवा (KMS) मास्टर एन्क्रिप्शन कुंजी की आईडी निर्दिष्ट करता है जिसका उपयोग ऑब्जेक्ट के लिए किया गया था।
  • storage_class - ऑब्जेक्ट का संग्रहण वर्ग जानकारी। Standard स्टोरेज क्लास ऑब्जेक्ट्स को छोड़कर सभी ऑब्जेक्ट्स के लिए उपलब्ध है।
  • version_id - ऑब्जेक्ट का नवीनतम संस्करण ID लौटाया गया।
  • website_redirect_location - यदि बाल्टी को एक वेबसाइट के रूप में कॉन्फ़िगर किया गया है, तो इस वस्तु के लिए उसी बाल्टी में या बाहरी URL पर किसी ऑब्जेक्ट के लिए पुनर्निर्देश करता है। अमेज़ॅन S3 ऑब्जेक्ट मेटाडेटा में इस हेडर का मूल्य संग्रहीत करता है।
  • tags - ऑब्जेक्ट को सौंपे गए टैग की मैपिंग।