Что такое имя ключа в AWS (Amazon Web Services?
Итак, я начал изучать механизм загрузки с AWS. Кроме того, наблюдая за несколькими другими примерами, я заметил, что на самом деле я не получаю одну вещь ( хотя я читал документацию снова и снова, в этих конкретных частях). При создании учетной записи AWS вам предоставляется ключ. Но также существует понятие ObjectKey.
поэтому, учитывая этот пример : 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 ***";
Я должен спросить: что означает это имя ключа ? Это имя объекта (имя, которое будет найдено в ведре ) или это секретный ключ, данный при создании учетной записи?
3 ответов
сервис AWS и S3 это, на самом базовом уровне, просто ключ / значение store. Когда вы загружаете объект (файл) в S3, вы указываете уникальный открытый ключ для объекта. В S3 ключи выглядят как пути к файлам, что может привести к некоторой путанице, так как вам не нужно делать такие вещи, как создание подкаталогов и т. д. Это означает, в двух словах, что вы можете загрузить файл, используя такой ключ, как /some/key/to/an/image/file.jpg
без необходимости сначала создавать путь /some/key/to/an/image
.
если у вас есть статический веб-хостинг включен для вашего ведра S3, а затем, как только вы загрузите file.jpg
используя этот ключ, вы сможете просмотреть его в своем веб-браузере через URL-адрес по строкам https://s3-eu-west-1.amazonaws.com/<bucket_name>/some/key/to/an/image/file.jpg
, в зависимости от региона, в котором находится ведро.
имя ключа - это " имя " (=уникальный идентификатор), с помощью которого ваш файл будет храниться в ведре S3.
например :
private static String uploadFileName = "c:\mydir\myfile.txt";
private static String keyName ="mydirinbucket/myfile.txt";
(N. B. Вы можете использовать символы "/" для использования "каталогов" в вашем ведре S3 )