2011-11-21 18 views
5

मेरे पास s3 पर फ़ाइलों का एक समूह है। मेरे पास एक .fog कॉन्फ़िगरेशन फ़ाइल के साथ स्थापित धुंध है इसलिए मैं fog को आग लगा सकता हूं और एक प्रॉम्प्ट प्राप्त कर सकता हूं। अब मैं एस 3 पर एक फाइल को कैसे एक्सेस और संपादित कर सकता हूं, अगर मुझे इसका रास्ता पता है?मैं s3 पर फ़ाइल को संपादित करने के लिए कोहरे का उपयोग कैसे कर सकता हूं?

उत्तर

10

संभवतः आईआरबी या पीआरवाई का उपयोग करने के लिए फ़ाइल की स्थानीय प्रति प्राप्त करने के लिए सबसे आसान काम है, या डाउनलोड करने, संपादित करने और फिर इसे फिर से अपलोड करने के लिए एक सरल स्क्रिप्ट लिखें। मान लें कि आपके पास data.txt नाम की एक फ़ाइल है।

आप S3 से कनेक्शन प्रारंभ करने के लिए निम्न स्क्रिप्ट का उपयोग कर सकते हैं।

require 'fog' 

connection = Fog::Storage.new({ 
    :provider     => 'AWS', 
    :aws_secret_access_key => YOUR_SECRET_ACCESS_KEY, 
    :aws_access_key_id  => YOUR_SECRET_ACCESS_KEY_ID 
}) 

directory = connection.directories.get("all-my-data") 

फिर अपनी स्थानीय फ़ाइल-सिस्टम पर अपनी फ़ाइल की प्रति प्राप्त करने के लिए निर्देशिका ऑब्जेक्ट का उपयोग करें।

local_file = File.open("/path/to/my/data.txt", "w") 
file = directory.files.get('data.txt') 
local_file.write(file.body) 
local_file.close 

अपने पसंदीदा संपादक का उपयोग करके फ़ाइल संपादित करें और फिर इसे फिर से S3 पर अपलोड करें।

file = directory.files.get('data.txt') 
file.body = File.open("/path/to/my/data.txt") 
file.save 
+0

मुझे लगता है कि फाइल के गुणों को फिर से अपलोड किए बिना बदलने का कोई तरीका है, नहीं? किसी भी दर पर - जो आपने प्रदान किया है वह मुझे धुंध पर्यावरण प्रदान करता है जिसे मुझे प्रयोग करने की आवश्यकता है (जो उनके दस्तावेज़ों में ढूंढना बहुत आसान नहीं है)। धन्यवाद! –

+0

मेरा मानना ​​है कि आप फ़ाइल को दोबारा अपलोड किए बिना हेडर जानकारी सेट कर सकते हैं। आप [प्रलेखन] (http://fog.io/1.1.1/storage/) में या [स्रोत कोड] (http://github.com/fog/fog) ब्राउज़ करके अधिक जानकारी प्राप्त कर सकते हैं। –

संबंधित मुद्दे

 संबंधित मुद्दे