का तरीका यहां बताया नामित बाल्टी और कुंजी करने के लिए डिस्क से फ़ाइल अपलोड कर सकते हैं:
s3 = Aws::S3::Resource.new
s3.bucket('my_bucket').object('key').upload_file('screenshots/image.png')
सबसे सरल तकनीक है कि। आपको उस कुंजी के साथ 'कुंजी' को प्रतिस्थापित करना चाहिए जिसे आप अमेज़ॅन एस 3 में संग्रहीत करना चाहते हैं। मल्टीपार्ट अपलोड एपीआई का उपयोग करके यह आपके लिए बड़ी फाइलें स्वचालित रूप से अपलोड करेगा और असफल हिस्सों को फिर से प्रयास करेगा।
डाल वस्तु का उपयोग कर हमेशा अपलोड करना पसंद करते हैं, तो आप #put
कॉल या उपयोग कर सकते हैं एक Aws::S3::Client
:
# using put
s3 = Aws::S3::Resource.new
File.open('screenshots/image.png', 'rb') do |file|
s3.bucket('my_bucket').object('key').put(body:file)
end
# using a client
s3 = Aws::S3::Client.new
File.open('screenshots/image.png', 'rb') do |file|
s3.put_object(bucket:'my_bucket', key:'key', body:file)
end
इसके अलावा, वी 2 एसडीके के लिए API संदर्भ प्रलेखन यहाँ है: http://docs.aws.amazon.com/sdkforruby/api/index.html
स्रोत
2015-02-21 00:05:21
जब मैं पालन उन उदाहरणों में मुझे त्रुटियां मिलती हैं जैसे: '' 'अनिर्धारित विधि 'लिखना' # (NoMethodError)' ' –
YoDK
मैं समाप्त हो गया यह उत्तर (http://stackoverflow.com/questions/130948/ruby-convert-file-to-string) फिर '' 'object = bucket.object ('image.png')' '' '' '' '' '' '' '' '' '' '' '' '' ' object.put (body: content) '' – YoDK
@EldadMor आप v1 दस्तावेज से जुड़े हुए हैं। V2 दस्तावेज यहां पाया गया है: http://docs.aws.amazon.com/sdkforruby/api/index.html –