2016-07-16 7 views

उत्तर

5

Google क्लाउड स्टोरेज में फ़ोल्डर या उपनिर्देशिका नहीं है। हालांकि, उन्हें अनुकरण करने के लिए कुछ समर्थन है। gsutil का How Subdirectories Work कुछ पृष्ठभूमि के लिए एक अच्छा पठन है।

Google क्लाउड स्टोरेज ऑब्जेक्ट्स एक फ्लैट नेमस्पेस हैं, लेकिन जीएसयूटील और Google क्लाउड स्टोरेज यूआई समेत कई टूल, पदानुक्रमित फ़ाइल पेड़ का भ्रम पैदा करते हैं।

एक खाली उपनिर्देशिका का भ्रम पैदा करने के लिए दो व्यापक रूप से इस्तेमाल सम्मेलनों के होते हैं:

  1. (अनुशंसित) एक वस्तु है कि स्लैश में समाप्त होता है बनाएँ। उदाहरण के लिए, बाल्टी की जड़ पर foo नामक एक उपनिर्देशिका बनाने के लिए, आप एक खाली वस्तु (आकार 0) बनायेंगे जिसे foo/ कहा जाता है।

  2. (विरासत) नाम पर संलग्न _$folder$ के साथ एक ऑब्जेक्ट बनाएं। उदाहरण के लिए, बाल्टी की जड़ पर foo नामक एक उपनिर्देशिका बनाने के लिए, आप एक खाली वस्तु (आकार 0) बनायेंगे जिसे foo_$folder$ कहा जाता है।

ध्यान दें कि अधिकांश टूल और उपयोगिताओं अब विधि 1 का उपयोग कर रहे हैं। विधि 2 कम बार प्रयोग किया जाता है।

+0

यह उत्तर एक वर्ष से अधिक पुराना है, इसलिए यह संभव है कि चीजें बदली हों। यदि नहीं, तो क्या कोई मुझे बिल्कुल बता सकता है कि (अधिमानतः gsutil का उपयोग करके) मैं '/' के साथ समाप्त होने वाले नाम के साथ एक खाली वस्तु बना सकता हूं? मैं gcsfuse के साथ उपयोग के लिए स्पष्ट फ़ोल्डर बनाने की उम्मीद कर रहा हूँ। धन्यवाद। – SheRey

+0

यदि मैं स्थानीय रूप से एक खाली फ़ाइल बनाता हूं, और इसे इस तरह अपलोड करने का प्रयास करता हूं: "gsutil cp dummy_file gs: // / /" यह सिर्फ जीएस पर एक खाली वस्तु बनाता है: // //dummy_file ... और अगर मैं इसे जीएस नामक किसी ऑब्जेक्ट पर कॉपी करने का प्रयास करता हूं: // / _ $ फ़ोल्डर $ मुझे जीएस कहा जाता है: // / _ $ @jterrace – SheRey

+0

जानकारी वर्तमान है: अभी भी कोई तरीका बनाने का कोई तरीका नहीं है gsutil के साथ निर्देशिका प्लेसहोल्डर ऑब्जेक्ट। – jterrace

1

@ शेरे - जीसीएस वेब इंटरफेस के माध्यम से बनाए गए फ़ोल्डरों को देखते हुए, सामग्री-प्रकार application/x-www-form-urlencoded;charset=UTF-8 पर सेट है लेकिन यह वास्तव में कोई फर्क नहीं पड़ता। यहां मेरे लिए पाइथन में क्या काम किया गया है:

# pip install google-cloud-storage 

from google.cloud import storage 

gcs_client = storage.Client(project='some_project') 
bucket = gcs_client.get_bucket('some_bucket') 
blob = bucket.blob('some/folder/name/') 

blob.upload_from_string('', content_type='application/x-www-form-urlencoded;charset=UTF-8') 
संबंधित मुद्दे