2015-09-28 7 views
5

तो, मैंने एडब्ल्यूएस के साथ अपलोड तंत्र का अध्ययन करना शुरू किया। साथ ही, कई अन्य उदाहरण देखकर, मैंने देखा है कि मुझे वास्तव में एक चीज नहीं मिलती है (भले ही मैंने उन विशिष्ट भागों पर दस्तावेज़ों को और अधिक पढ़ा है)। एडब्ल्यूएस खाते के निर्माण पर, आपको एक कुंजी दी जाती है। लेकिन, ऑब्जेक्टकी की धारणा भी है।एडब्ल्यूएस (अमेज़ॅन वेब सर्विसेज) में एक कुंजी नाम क्या है?

तो इस उदाहरण को देखते हुए:, http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadObjSingleOpJava.html

विशेष रूप से कोड के इस टुकड़े: क्या है कि keyName प्रतिनिधित्व करते हैं:

private static String bucketName  = "*** Provide bucket name ***"; 
private static String keyName  = "*** Provide key ***"; 
private static String uploadFileName = "*** Provide file name ***"; 

मैं पूछने के लिए है? यह ऑब्जेक्ट का नाम है (नाम जो बाल्टी में मिलेगा) या क्या यह खाता निर्माण पर दी गई गुप्त कुंजी है?

उत्तर

6

AWS S3 है, सिर्फ एक key/value store (N.B. आप "/" वर्ण "निर्देशिका" अपने S3 बाल्टी में उपयोग करने के लिए उपयोग कर सकते हैं)। जब आप S3 पर कोई ऑब्जेक्ट (फ़ाइल) अपलोड करते हैं तो आप ऑब्जेक्ट के लिए एक अनन्य सार्वजनिक कुंजी निर्दिष्ट करते हैं। एस 3 में चाबियाँ फ़ाइल पथ की तरह दिखती हैं, जो कुछ भ्रम पैदा कर सकती हैं क्योंकि आपको उपनिर्देशिकाएं बनाने जैसी चीजों को करने की आवश्यकता नहीं है। संक्षेप में, इसका अर्थ यह है कि आप /some/key/to/an/image/file.jpg जैसी कुंजी का उपयोग करके फ़ाइल अपलोड कर सकते हैं पहले बिना पथ /some/key/to/an/image बनाने के लिए।

आप स्थिर वेब है, तो आपके S3 बाल्टी के लिए सक्षम होस्टिंग फिर जैसे ही आप इस कुंजी का उपयोग तो आप https://s3-eu-west-1.amazonaws.com/<bucket_name>/some/key/to/an/image/file.jpg की तर्ज पर एक यूआरएल द्वारा अपने वेब ब्राउज़र में इसे देखने के लिए, क्षेत्र के आधार पर सक्षम होना चाहिए file.jpg अपलोड के रूप में कि बाल्टी में स्थित है।

2

कुंजीनाम "नाम" (= अद्वितीय पहचानकर्ता) है जिसके द्वारा आपकी फ़ाइल S3 बाल्टी में संग्रहीत की जाएगी।

उदाहरण के लिए:

private static String uploadFileName = "c:\mydir\myfile.txt"; 
private static String keyName ="mydirinbucket/myfile.txt"; 

सबसे बुनियादी स्तर पर

0

एडब्ल्यूएस में, यहां staging_path= "devel" and key = "/"+staging_path.

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