Terraform 0.11

google_storage_object_signed_url




terraform

google_storage_object_signed_url

Google क्लाउड संग्रहण हस्ताक्षरित URL डेटा स्रोत किसी दिए गए संग्रहण ऑब्जेक्ट के लिए एक हस्ताक्षरित URL बनाता है। साइन किए गए URL, URL के कब्जे में किसी को भी समय-सीमित पढ़ने या लिखने का एक तरीका प्रदान करते हैं, भले ही उनका कोई Google खाता हो या नहीं।

हस्ताक्षरित URL के बारे में अधिक जानकारी के लिए here उपलब्ध here

उदाहरण उपयोग

data "google_storage_object_signed_url" "artifact" {
  bucket = "install_binaries"
  path   = "path/to/install_file.bin"

}

resource "google_compute_instance" "vm" {
    name = "vm"
    ...

    provisioner "remote-exec" {
        inline = [
                "wget '${data.google_storage_object_signed_url.artifact.signed_url}' -O install_file.bin",
                "chmod +x install_file.bin",
                "./install_file.bin"
                ]
     }
}

पूर्ण उदाहरण

data "google_storage_object_signed_url" "get_url" {
  bucket       = "fried_chicken"
  path         = "path/to/file"
  content_md5  = "pRviqwS4c4OTJRTe03FD1w=="
  content_type = "text/plain"
  duration     = "2d"
  credentials  = "${file("path/to/credentials.json")}"

  extension_headers {
    x-goog-if-generation-match = 1
  }
}

तर्क संदर्भ

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

  • bucket - (आवश्यक) वस्तु को पढ़ने के लिए बाल्टी का नाम
  • path - (आवश्यक) बाल्टी के अंदर वस्तु के लिए पूर्ण पथ
  • http_method - (वैकल्पिक) एचटीटीपी विधि क्या हस्ताक्षरित URL अनुमति देगा ( GET को चूक)
  • duration - (वैकल्पिक) हस्ताक्षरित URL कितने समय के लिए वैध होगा (चूक 1 घंटे - यानी 1h )। मान्य अवधि स्वरूपों की जानकारी के लिए here देखें।
  • credentials - (वैकल्पिक) URL पर हस्ताक्षर करने के लिए Google सेवा खाता क्रेडेंशियल json का क्या उपयोग किया जाना चाहिए। यह डेटा स्रोत वरीयता के क्रम में क्रेडेंशियल्स के लिए निम्न स्थानों की जाँच करता है: डेटा स्रोत credentials विशेषता, प्रदाता credentials विशेषता और अंत में GOOGLE_APPLICATION_CREDENTIALS पर्यावरण चर।

ध्यान दें कि gcloud किए गए डिफ़ॉल्ट Google क्रेडेंशियल्स को gcloud sdk या एक कम्प्यूट इंस्टेंस से जुड़े सेवा खाते का उपयोग नहीं किया जा सकता है, क्योंकि इनमें URL साइन करने के लिए आवश्यक निजी कुंजी शामिल नहीं है। मान्य क्लाउड सेवा खाता क्रेडेंशियल्स कुंजी फ़ाइल का उपयोग किया जाना चाहिए, जैसा कि Google क्लाउड कंसोल के माध्यम से उत्पन्न होता है।

  • content_type - (वैकल्पिक) यदि आप इसे डेटा स्रोत में निर्दिष्ट करते हैं, तो क्लाइंट को अपने अनुरोध में समान मूल्य के साथ Content-Type HTTP शीर्ष लेख प्रदान करना होगा।
  • content_md5 - (वैकल्पिक) बेस 64 में एमडी 5 डाइजेस्ट वैल्यू। आमतौर पर google_storage_bucket_object.object.md5hash विशेषता से पुनर्प्राप्त किया google_storage_bucket_object.object.md5hash है। यदि आप इसे डेटा स्रोत में प्रदान करते हैं, तो क्लाइंट (जैसे ब्राउज़र, कर्ल) को अपने अनुरोध में इस मूल्य के साथ Content-MD5 HTTP हेडर प्रदान करना होगा।
  • extension_headers - (वैकल्पिक) आवश्यकतानुसार। सर्वर यह सुनिश्चित करने के लिए जांचता है कि ग्राहक हस्ताक्षरित URL का उपयोग करके अनुरोधों में मिलान मूल्य प्रदान करता है। x-goog- से शुरू होने वाला कोई भी हेडर स्वीकार किया जाता है लेकिन Google द्वारा समर्थित हेडर की सूची के लिए Google डॉक्स देखें।

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

निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • हस्‍ताक्षरित signed_url - हस्‍ताक्षरित URL जिसका उपयोग प्रमाणीकरण के बिना संग्रहण ऑब्जेक्ट तक पहुंचने के लिए किया जा सकता है।