2015-09-28 85 views
5

因此,我開始研究AWS的上傳機制。另外,我還注意到其他幾個例子,我注意到我實際上並沒有收到一件事(即使我已經反覆閱讀過這些文檔,在這些特定的部分)。在創建AWS賬戶時,您會獲得一個密鑰。而且,還有ObjectKey的概念。什麼是AWS(亞馬遜網絡服務)中的keyName?

因此,考慮這個例子:http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadObjSingleOpJava.html

尤其是,這段代碼:

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

我要問:是什麼的keyName代表什麼?它是對象的名稱(將在存儲桶中找到的名稱)還是創建帳戶時的密鑰?

回答

6

AWS S3是,在最基本的層面上,只是一個key/value store。當您將一個對象(文件)上傳到S3時,您可以爲對象指定一個唯一的公鑰。在S3中,鍵看起來像文件路徑,這可能會導致一些混淆,因爲您不需要執行諸如創建子目錄等操作。簡而言之,這意味着您可以使用諸如/some/key/to/an/image/file.jpg之類的鍵上傳文件而不必先創建路徑/some/key/to/an/image

如果你有靜態網頁爲您的S3存儲託管啓用,則只要您使用此鍵,那麼你應該能夠通過URL來查看它在Web瀏覽器沿https://s3-eu-west-1.amazonaws.com/<bucket_name>/some/key/to/an/image/file.jpg線,根據不同的區域上傳file.jpg該桶位於。

2

keyName是您的文件將存儲在S3存儲區中的「名稱」(=唯一標識符)。

例如:

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

(注:您可以使用 「/」 字符來使用你的S3存儲桶 「目錄」)

0

在AWS中,此處爲staging_path= "devel" and key = "/"+staging_path.