Amazon S3: что считается запросом PUT/COPY/POST/LIST?

Пожалуйста, подтвердите, если это правильно:

  • поставить вероятно, загружает файлы в S3?
  • скопировать вероятно, копирование файлов в S3?

как о в должности и список?

дополнительный вопрос: get_bucket_filesize () и get_object_filesize () (из PHP SDK) считаются запросом списка?

3 ответов


из моего опыта использования S3 (а также из основ протокола HTTP и REST), POST-это создание нового объекта (в S3 это будет загрузка нового файла), а PUT-создание нового объекта или обновление существующего объекта (т. е. создание или обновление файла). Каждый раз, когда вы, например, получаете содержимое данного ведра S3, вы запускаете операцию списка. Вы не спрашивали, но GET-это загрузка файла из S3, и удаление, очевидно, будет удалением из файла. Конечно, эти предположения зависят от того, какой SDK вы используете (кажется, вы используете PHP) и его базовой реализации. Мой аргумент заключается в том, что можно реализовать загрузку с помощью GET, загрузку с помощью PUT или POST и т. д.

взглянув в S3 REST API, хотя, я предполагаю, что get_bucket_filesize () реализован как список (операция GET на ведре приносит, наряду с некоторыми другими данными, размер каждого объекта в ответе) и get_object_filesize () реализован как GET (использование операции HEAD для одного файла также приносит его размер, включенный в метаданные).


нет большой разницы между PUT и POST. Следующее было скопировано из документации AWS S3.

пост альтернативная форма PUT это позволяет загружать в браузере как способ размещения объектов в ведрах. параметры, которые передаются для размещения через HTTP-заголовки, вместо этого передаются как поля формы для POST в сообщении multipart / form-data закодированном тело.

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html

Как и другие, указанный список предназначен для перечисления объектов. Вы можете найти все операции в следующей ссылке.

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketOps.html


Да, вы правы. PUT-это загрузка (в частности, один файл-это один PUT). Я наблюдал за тем, был ли PUT за файл или за какой-то размер пакета, который затруднил бы цену. Он помещает файл (без ссылки на размер).

кроме того, COPY действительно копирует файлы в S3, но есть больше. Увидеть ниже. Я также нашел ссылки на POST и LIST; см. ниже.

Итак, что я узнал о PUT / COPY / POST / LIST и получить запросы во время копания, чтобы оценить наши затраты. Я также включаю, где я это обнаружил (хотел получить все это от Amazon). Все исправления приветствуются.

FAQ Amazon здесь:https://aws.amazon.com/s3/faqs/ и я буду ссылаться на это ниже.

копировать может быть несколько вещей, одна из которых-копирование между регионами, которое стоит. Например, если вы храните в West VA и копируете в северный регион CA, это влечет за собой затраты. Копирование из EC2 в S3 (в том же регионе, что и я предполагаю) не происходит стоимость трансфера. См. FAQ Amazon в разделе Q: Сколько стоит Amazon S3?

Примечание: написание файла, а затем перезапись того же файла хранит обе версии (если вы не удалите что-то). Я предполагаю, что вы не заряжены больше, если файлы точно такие же, но не присылайте мне счет, если я ошибаюсь. :- ) Кажется, что средний размер (за месяц) - это то, что выставляется счет. См. FAQ (ссылка выше)

для PUT, GET и DELETE, похоже, один файл-это одна транзакция. Что отвечает на большой вопрос для меня (я не хотел, чтобы их минимальный размер 128k был PUT для каждого пакета 128k... да, я параноик). См. раздел вопросов следующим образом:

вопрос: как будет взиматься плата за использование Amazon S3?

Запрос Например:

Предположим, вы переносите 10 000 файлов в Amazon S3 и переносите 20 000 файлов из Amazon S3 каждый день в течение марта. Затем вы удаляете 5,000 файлов 31 марта.

всего запросов PUT = 10,000 запросов x 31 дней = 310,000 запросов

всего запросов GET = 20,000 запросов x 31 дней = 620,000 запросов

всего запросов на удаление = 5,000×1 день = 5,000 запросов

список упоминается под вопросом: Вопрос: Можно ли использовать API Amazon S3 или консоль управления для отображения объектов, архивированных в Amazon Glacier? По сути, это получение списка файлов ... каталога, если хотите.

пост упоминается под RESTObjectPost.html здесь:http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html

надеюсь, это поможет. Это, конечно, сделало меня более комфортно с тем, что нам будет предъявлено обвинение.