2015-09-28 90 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.