Операции с бакетами

Для всех операций с бакетами характерны типовые сообщения об ошибках, заголовки запросов и заголовки ответов. Если у операции есть специальные сообщения об ошибках, заголовки запросов или ответов, об этом будет указано в в описании операции.

DELETE Bucket

Описание

Эта реализация операции DELETE удаляет контейнер, указанный в URI. Все объекты в контейнере должны быть удалены до того, как можно будет удалить сам контейнер.

Запросы

Синтаксис

 DELETE / HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 Date: date
 Authorization: authorization string

Параметры запроса

Эта реализация операции не использует параметры запроса.

Элементы запроса

Эта реализация операции не использует элементы запроса.

Ответы

Элементы ответа

Эта реализация операции не возвращает элементы ответа.


GET Bucket (List Objects)

Описание

Данная реализация операции GET возвращает некоторые или все (до 1000) объекты в бакете. Вы можете использовать параметры запроса в качестве критериев выборки для возврата поднабора объектов в бакете. Ответ «200 OK» может содержать допустимый или недопустимый XML. Вам необходимо создавать приложения, включая в них функционал анализа содержимого ответа и правильной обработки этого ответа.

Для того, чтобы воспользоваться данной операцией, вам необходимо обладать правами на чтение бакета (READ).

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


Запросы

Синтаксис

 GET /?list-type=2 HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 Date: date
 Authorization: authorization string

Параметры запроса

Эта реализация GET использует параметры, указанные в таблице ниже


Параметр Описание Обязательно
delimiter

Разделитель (delimiter) — символ для разделения ключей на группы.

При указании префикса все ключи, содержащие одну и ту же строку между префиксом и первым разделителем после префикса, группируются в одном результирующем элементе, называемом CommonPrefixes. Если параметр префикса не указан вами, то подстрока начинается в начале ключа. Ключи, сгруппированные в результирующем элементе CommonPrefixes, не возвращаются где-либо еще в запросе.

  • Тип: String
  • По умолчанию: Нет значения
Нет
encoding-type

Запрос сервиса на установку кодировки на ответ с указанием используемого метода кодировки.

Ключ объекта может содержать любой символ Unicode. Однако парсеры XML 1.0 не могут анализировать некоторые символы, например символы со значением ASCII от 0 до 10. Вы можете добавить этот параметр для того, чтобы сервис установил кодировку ключей в ответе при наличии символов, неподдерживаемых XML 1.0.

  • Тип: String
  • По умолчанию: Нет значения
  • Допустимое значение: url
Нет
max-keys

Установка максимального количества ключей, возвращаемых в теле ответа. Если вы хотите, чтобы вам возвращалось меньше 1000 ключей (значение по умолчанию), то вы можете добавить этот параметр в ваш запрос.

В ответе может содержаться только количество ключей равное указанному значению или меньше. Если существуют дополнительные ключи, удовлетворяющие запросу на поиск, но при этом они не возвращаются по причине превышения значения max-keys, то ответ будет содержать <IsTruncated>true</IsTruncated>. Информацию по возврату дополнительных ключей см. в элементе NextContinuationToken.

  • Тип: String
  • По умолчанию: 1000
Нет
prefix

Установка фильтра на ответ. Фильтр пропускает только те ключи, которые начинаются с указанного префикса. Можно использовать префиксы для разделения бакета на различные группы ключей (здесь можно провести аналогию префикса с папками в файловой системе).

  • Тип: String
  • По умолчанию: Нет значения
Нет
list-type

Для последней версии API по проведению операций GET для бакета или объекта требуется обязательная установка данного параметра в значение 2.

Тип: String

По умолчанию: 2 (всегда)

Да
continuation-token

Если ответ сервиса на вызов API усечен (т. е., элемент ответа IsTruncated — в состоянии true), то этот ответ также будет включать в себя элемент NextContinuationToken, значение которого можно использовать в следующем запросе в качестве токена продолжения continuation-token для получения списка следующего набора объектов.

  • Этот токен продолжения сontinuation-token представляет из себя непрозрачное значение, которое сервис может обработать.
  • Сервис предоставляет список объектов в лексикографическом порядке с кодировкой символов UTF-8.

  • Тип: String
  • По умолчанию: Нет значения
Нет
fetch-owne

По умолчанию API в ответе не возвращает информацию о владельце. Если необходимо включение информации о владельце в ответ, то вы можете установить параметр в значение true.

  • Тип: String
  • По умолчанию: false
Нет
start-after

Если вы хотите, чтобы API возвращал имена ключей после определенного ключа объекта в вашем пространстве ключей, то можете добавить этот параметр. Сервис предоставляет список объектов в лексикографическом порядке с кодировкой символов UTF-8.

Этот параметр действителен только для вашего первого запроса. Если ответ усечен, то вы можете указать этот параметр вместе с параметром continuation-token, после чего сервис будет игнорировать данный параметр.

  • Тип: String
  • По умолчанию: Нет значения
Нет

Элементы запроса

Эта реализация операции не использует элементы запроса.

Ответы

Элементы ответа

Имя Описание
Contents

Метаданные по каждому возвращаемому объекту.

  • Тип: XML metadata
  • Предок: ListBucketResult
CommonPrefixes

При вычислении количества возвратов все сгруппированные по одному общему префиксу ключи учитываются как один случай возврата (см. элемент MaxKeys).

  • Ответ может содержать общие префиксы CommonPrefixes только при указании элемента разделителя (delimiter).
  • CommonPrefixes содержит все ключи (при их наличии) между префиксом и строкой, указанной разделителем.
  • CommonPrefixes предоставляет список ключей, которые ведут себя как поддиректории в указанной префиксом директории.

Например, если префиксом является «notes/», а разделителем — косая черта («/»), то в «notes/summer/july» общим префиксом будет являться «notes/summer/». При вычислении количества возвратов все сгруппированные по одному общему префиксу ключи учитываются как один случай возврата (см. элемент MaxKeys).

  • Тип: String
  • Предок: ListBucketResult
Delimiter

Все ключи, содержащие одну и ту же строку между префиксом и первым разделителем, группируются в одном результирующем элементе в коллекции общих префиксов CommonPrefixes. Эти сгруппированные ключи не возвращаются куда-либо в ответе. Для значения MaxKeys каждый сгруппированный результат учитывается как один возврат.

  • Тип: String
  • Предок: ListBucketResult
DisplayName

Имя владельца объекта.

  • Тип: String
  • Предок: ListBucketResult.Contents.Owner
encoding-type

Тип кодировки, используемой сервисом для кодирования имен ключей объекта в ответе XML.

При указании параметра запроса encoding-type сервис включает данный элемент в ответ и возвращает кодированные значения имен ключей в следующих элементах ответа:

Delimiter, Prefix, ContinuationToken, Key и StartAfter.

  • Тип: String
  • Предок: ListBucketResult
ETag

Тег сущности является MD5-хешем объекта. ETag отражает изменения только содержимого объекта, но не его метаданных.

  • Тип: String
  • Предок: ListBucketResult.Contents
ID

Идентификатор владельца объекта.

  • Тип: String
  • Предок: ListBucketResult.Contents.Owner
IsTruncated

Указывает на то, были ли выданы все результаты запроса (все — true, не все — false). Если количество результатов запроса превышает величину, указанную в MaxKeys, то могут быть выданы не все результаты запроса.

  • Тип: Boolean
  • Предок: ListBucketResult
Key

Ключ объекта.

  • Тип: String
  • Предок: ListBucketResult.Contents
LastModified

Дата и время последних изменений объекта.

  • Тип: Date
  • Предок: ListBucketResult.Contents
MaxKeys

Максимальное количество ключей, возвращаемых в теле ответа.

  • Тип: String
  • Предок: ListBucketResult
Name

Имя бакета.

  • Тип: String
  • Предок: ListBucketResult
Owner

Владелец бакета.

  • Тип: String
  • Дочерние элементы: DisplayName, ID
  • Предок: ListBucketResult.Contents | CommonPrefixes
Prefix

Ключи, начинающиеся с указанного префикса.

  • Тип: String
  • Предок: ListBucketResult
Size

Размер объекта в байтах.

  • Тип: String
  • Предок: ListBucketResult.Contents
StorageClass

Класс хранения. STANDARD | STANDARD_IA | REDUCED_REDUNDANCY | GLACIER

  • Тип: String
  • Предок: ListBucketResult.Contents
ContinuationToken

Если ContinuationToken был отправлен вместе с запросом, то он включается в ответ.

  • Тип: String
  • Предок: ListBucketResult
KeyCount

Возвращает количество ключей, включенных в ответ. Данное значение всегда меньше значения MaxKeys или равно ему.

  • Тип: String
  • Предок: ListBucketResult
NextContinuationToken

Если ответ усечен, то сервис возвращает данный параметр с токеном продолжения, который вы можете указать как сontinuation-token в следующем запросе на получение следующего набора ключей.

  • Тип: String
  • Предок: ListBucketResult
StartAfter

Если StartAfter был отправлен вместе с запросом, то он включается в ответ.

  • Тип: String
  • Предок: ListBucketResult



GET Bucket ACL

Описание

Данная реализация операции GET использует подресурс acl для возврата списка управления доступом (ACL) бакета. Для того, чтобы воспользоваться данной операцией для возврата ACL бакета, вам необходимо иметь право не чтение READ_ACP для бакета. Если право READ_ACP предоставлено анонимному пользователю, то вы можете возвращать ACL бакета без использования заголовка авторизации.

Подробнее об ACL читайте в статье «Списки управления доступом (ACL)».

Запросы

Синтаксис

 GET /?acl HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 Date: date
 Authorization: authorization string

Параметры запроса

Эта реализация операции не использует параметры запроса.

Элементы запроса

Эта реализация операции не использует элементы запроса.

Ответы

Элементы ответа

Имя Описание
AccessControlList

Контейнер для информации по ACL.

  • Тип: Container
  • Предок: AccessControlPolicy
AccessControlPolicy

Контейнер для ответа.

  • Тип: Container
  • Предок: Нет значения
DisplayName

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

  • Тип: String
  • Предок: AccessControlPolicy.Owner
Grant

Контейнер для получателя прав и соответствующего разрешения.

  • Тип: Container
  • Предок: AccessControlPolicy.AccessControlList
Grantee

Контейнер для отображаемого имени DisplayName и идентификатор ID лица, получающего права.

  • Тип: Container
  • Предок: AccessControlPolicy.AccessControlList.Grant
ID

Идентификатор владельца бакета.

  • Тип: String
  • Предок: AccessControlPolicy.Owner
Owner

Контейнер для информации владельца бакета.

  • Тип: Container
  • Предок: AccessControlPolicy
Permission

Предоставленное получателю прав разрешение для бакета.


  • Тип: String
  • Допустимые значения: FULL_CONTROL | WRITE | WRITE_ACP | READ | READ_ACP
  • Предок: AccessControlPolicy.AccessControlList.Grant




HEAD Bucket

Описание

Данная операция используется для определения того, существует ли бакет и есть ли у вас разрешение для доступа к нему. Операция возвращает сообщение «200 OK», если бакет существует и у вас есть разрешение для доступа к нему. В противном случае данная операция может вернуть такие сообщения, как «404 Not Found» или «403 Forbidden». 

Запросы

Синтаксис

 HEAD / HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 Date: date
 Authorization: authorization string

Параметры запроса

Эта реализация операции не использует параметры запроса.

Элементы запроса

Эта реализация операции не использует элементы запроса.

Ответы

Элементы ответа

Эта реализация операции не возвращает элементы ответа.


PUT Bucket

Описание

Данная реализация операции PUT создает новый бакет. Для создания бакета вам необходимо пройти регистрацию на сервисе и получить ключ доступа для авторизации запросов. Создание бакетов с помощью анонимных запросов невозможно. При создании бакета вы автоматически становитесь его владельцем.

Не каждая строка может быть допустимым именем контейнера. Информацию о ограничениях на именование бакетов см. в статье «Работа с бакетами».

При использовании данной операции для создания бакета вы можете по желанию указать проекты или группы, которым необходимо предоставить определенные права на бакет, а также указать класс хранения: hotbox или icebox. Существует два способа предоставления прав при помощи заголовков запроса.

  • Указание готового ACL в запросе с помощью заголовка запроса x-amz-acl
  • Указание явным образом права доступа с помощью заголовков x-amz-grant-readx-amz-grant-write, x-amz-grant-read-acp, x-amz-grant-write-acp, x-amz-grant-full-control

Вы можете использовать готовый ACL или указать права доступа явным образом, но использовать оба способа одновременно невозможно.

Запросы

Синтаксис

 PUT / HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 Content-Length: length
 Date: date
 Authorization: authorization string
<CreateBucketConfiguration xmlns="http://hb.bizmrg.com/doc/2006-03-01/">
<LocationConstraint>РегионБакета</LocationConstraint>
</CreateBucketConfiguration>

Синтаксис показывает некоторые заголовки запросов.

Параметры запроса

Эта реализация операции не использует параметры запроса.

Заголовки запроса

Данная реализация операции может использовать следующие заголовки запроса в дополнение к заголовкам запроса, свойственным всем операциям. Ограничение размера заголовков запроса — 8 КБ.

При создании бакета вы можете предоставить разрешения отдельным проектам сервиса или группам, предопределяемым сервисом. Это приведет к созданию списка управления доступом (ACL) на бакете.

1. Указание готового ACL. Сервис поддерживает набор предопределенных ACL — так называемых «готовых ACL». Каждый готовый ACL содержит предопределенный набор получателей прав и разрешений. 


Имя Описание Обязательно
x-amz-acl

Готовый ACL, используемый в создаваемом вами бакете.

  • Тип: String
  • Допустимые значения: private | public-read | public-read-write | aws-exec-read | authenticated-read | bucket-owner-read | bucket-owner-full-control
Нет

2. Указание права доступа явным образом. Если вы хотите указать предоставляемые права доступа конкретным проектам сервиса или группам явным образом, то вам необходимо использовать нижеуказанные заголовки. Каждый из этих заголовков соответствует определенным разрешениям, поддерживаемым сервисом в ACL. В значении заголовка указывается список получателей прав, которые получают конкретное разрешение.



Имя Описание Обязательно
x-amz-grant-read

Позволяет получателю прав получать список объектов в бакете.

  • Тип: String
  • По умолчанию: Нет значения
  • Ограничения: Нет значения
Нет
x-amz-grant-write

Позволяет получателю прав создавать, переписывать и удалять любой объект в бакете.

  • Тип: String
  • По умолчанию: Нет значения
  • Ограничения: Нет значения
Нет
x-amz-grant-read-acp

Позволяет получателю прав читать ACL бакета.

  • Тип: String
  • По умолчанию: Нет значения
  • Ограничения: Нет значения
Нет
x-amz-grant-write-acp

Позволяет получателю прав записывать ACL для соответствующего бакета.

  • Тип: String
  • По умолчанию: Нет значения
  • Ограничения: Нет значения
Нет
x-amz-grant-full-control

Дает получателю прав следующие разрешения на бакет: READ, WRITE, READ_ACP и WRITE_ACP.


  • Тип: String
  • По умолчанию: Нет значения
  • Ограничения: Нет значения


Нет

 

Вы указываете каждого получателя прав как «тип=пара значений», где «тип» может принимать одно из нижеследующих значений:

  • emailAddress, если указываемое значение является адресом электронной почты проекта сервиса;
  • id, если указываемое значение является каноническим идентификатором пользователя проекта сервиса;
  • uri, если разрешение предоставляется предопределенной группе.

Например, нижеследующий заголовок x-amz-grant-read предоставляет проектам сервиса, определяемым по адресам электронной почты, разрешение на просмотр списка объектов.

 x-amz-grant-read: emailAdress="xyz@first.bzml.ru", emailAdress="abc@first.bzml.ru"

3. Указание класса хранения. С помощью заголовка x-mcs-storage-class можно задавать дефолтный класс хранения для бакета. Это означает что все объекты, заливаемые в этот бакет без указания специального класса хранения, будут определены к классу хранения по умолчанию. При создании бакета без класса хранения будет принят ( STANDARD - аналог hotbox )

Дефолтный класс хранения можно изменить запросив метод CreateBucket с указанием заголовка x-mcs-storage-class. При пересоздании бакета могут меняться только класс хранения и права доступа. Объекты при этом перезаписываться не будут. При изменении класса хранения по умолчанию у уже залитых объектов класс хранения меняться не будет. Новый класс хранения будет влиять только на новые заливаемые объекты.

PUT / HTTP/1.1
Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
Content-Length: length
Date: date
Authorization: authorization string
X-mcs-storage-class: STANDARD_IA


Элементы запроса

Имя Описание Обязательно
CreateBucketConfiguration

Контейнер для конфигурации бакета.

  • Тип: Container
  • Предок: Нет значения
Нет
LocationConstraint

Определяет область, в которой будет создан контейнер. 

  • Тип: Enum
  • Предок: CreateBucketConfiguration
Нет

Элементы ответа

Эта реализация операции не возвращает элементы ответа.


PUT Bucket ACL

Описание

Данная реализация операции PUT использует подресурс acl для установки разрешений на существующем бакете при помощи списков управления доступом (ACL). Для установки ACL бакета вам необходимо иметь права на запись WRITE_ACP.

Подробнее об ACL читайте в статье «Списки управления доступом (ACL)».

Вы можете воспользоваться одним из двух нижеследующих способов для установки разрешений бакета:

  • указание ACL в теле запроса;
  • указание разрешения с помощью заголовков запроса

Невозможно одновременно использовать тело и заголовки запроса для указания права доступа.

В зависимости от требований вашего приложения можно выбирать установку ACL на бакете при помощи тела запроса или заголовков. Например, если ваше приложение обновляет ACL бакета при помощи тела запроса, то необходимо использовать только данный способ.

Запросы

Синтаксис

Следующий запрос показывает синтаксис отправки ACL в тексте запроса. Если вы хотите использовать заголовки для указания разрешений на контейнер, вы не можете отправить ACL в тексте запроса. Вместо этого см. список заголовков, которые вы можете использовать, в разделе «Заголовки запросов».

 PUT /?acl HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 Date: date
 Authorization: authorization string
<AccessControlPolicy>
<Owner>
<ID>ID</ID>
<DisplayName>EmailAddress</DisplayName>
</Owner>
<AccessControlList>
<Grant>
  <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
    <ID>ID</ID>
    <DisplayName>EmailAddress</DisplayName>
  </Grantee>
  <Permission>Permission</Permission>
</Grant>
...
 </AccessControlList>
</AccessControlPolicy>

Параметры запроса

Эта реализация операции не использует параметры запроса.

Заголовки запроса

В дополнение к общим заголовкам запроса можно использовать нижеуказанные заголовки запроса.

Данные заголовки позволяют вам устанавливать права доступа, используя один из следующих методов:

  • указание готового ACL;
  • указание явным образом разрешения для каждого получателя прав.

Сервис поддерживает набор предопределенных ACL — так называемых «готовых ACL». Каждый готовый ACL содержит предопределенный набор получателей прав и разрешений.  Для предоставления прав доступа с помощью указания готовых ACL необходимо использовать нижеуказанный заголовок, указав имя готового ACL в качестве его значения. При использовании данного заголовка вы не сможете воспользоваться другими заголовками, относящимся к управлению доступом, в своем запросе.


Имя Описание Обязательно
amz-acl

Устанавливает ACL бакета при помощи указанного готового ACL. 

  • Тип: String
  • Допустимые значения: private | public-read | public-read-write | authenticated-read
  • По умолчанию: private
Нет

Для предоставления индивидуальных прав доступа на бакете можно воспользоваться нижеследующими заголовками вида x-amz-grant-permission. При использовании данных заголовков указываются явным образом права доступа и получатели прав (проекты или группы сервиса). При использовании данных заголовков, относящихся к ACL, вы не сможете воспользоваться заголовком x-amz-acl для установки готового ACL.

Каждый из нижеуказанных заголовков запроса соответствует определенным разрешениям, поддерживаемым сервисом в ACL. 

Имя Описание Обязательно
x-amz-grant-read

Позволяет указанному получателю прав (или нескольким получателям прав) просматривать список объектов в бакете.

  • Тип: String
  • По умолчанию: Нет значения
  • Ограничения: Нет значения
Нет
x-amz-grant-write

Позволяет указанному получателю прав (или нескольким получателям прав) создавать, переписывать и удалять любой объект в бакете.

  • Тип: String
  • По умолчанию: Нет значения
  • Ограничения: Нет значения
Нет
x-amz-grant-read-acp

Позволяет указанному получателю прав (или нескольким получателям прав) читать ACL бакета.

  • Тип: String
  • По умолчанию: Нет значения
  • Ограничения: Нет значения
Нет
x-amz-grant-write-acp

Позволяет указанному получателю прав (или нескольким получателям прав) записывать ACL для соответствующего бакета.

  • Тип: String
  • По умолчанию: Нет значения
  • Ограничения: Нет значения
Нет
x-amz-grant-full-control

Дает указанному получателю прав (или нескольким получателям прав) следующие права на бакете: READ, WRITE, READ_ACP и WRITE_ACP.

  • Тип: String
  • По умолчанию: Нет значения
  • Ограничения: Нет значения
Нет

В каждом их этих заголовков значения для одного или нескольких получателей прав разделяются запятой. Вы указываете каждого получателя прав как «тип=пара значений», где «тип» может принимать одно из нижеследующих значений:

  • emailAddress, если указываемое значение является адресом электронной почты проекта сервиса;
  • id, если указываемое значение является каноническим идентификатором пользователя проекта сервиса;
  • uri, если разрешение предоставляется предопределенной группе сервиса.

Например, нижеследующий заголовок x-amz-grant-write предоставляет группе записей событий в журнал (группа LogDelivery), предопределенной сервисом, и двум проектам сервиса, определяемым по адресам электронной почты, права на создание, перезапись и удаление объектов.

 x-amz-grant-write: uri="http://hb.bizmrg.com/groups/s3/LogDelivery", emailAddress="xyz@firstmail.ru", emailAddress="abc@mail.ru"

Элементы запроса

Если вы захотите воспользоваться телом запроса для указания ACL, то необходимо использовать следующие элементы.

При запросе тела запроса нельзя использовать заголовки запроса для установки ACL.

Имя Описание Обязательно
AccessControlList

Контейнер для предоставления разрешения Grant, получателя права Grantee и разрешения Permission.

  • Тип: Container
  • Предки: AccessControlPolicy
Нет
AccessControlPolicy

Содержит элементы для установки прав ACL для объекта по каждому получателю прав.

  • Тип: String
  • Предки: Нет значения
Нет
DisplayName

Отображаемое имя владельца бакета.

  • Тип: String
  • Предки: AccessControlPolicy.Owner
Нет
Grant

Контейнер для получателя прав и его разрешений.

  • Тип: Container
  • Предки: AccessControlPolicy.AccessControlList
Нет
Grantee

Субъект, которому устанавливаются разрешения.

  • Тип: String
  • Предки: AccessControlPolicy.AccessControlList.Grant
Нет
ID

Идентификатор владельца бакета или идентификатор получателя прав.

  • Тип: String
  • Предки: AccessControlPolicy.Owner | AccessControlPolicy.AccessControlList.Grant
Нет
Owner

Контейнер для отображаемого имени и идентификатора владельца бакета.

  • Тип: Container
  • Предки: AccessControlPolicy
Нет
Permission

Указывает разрешение, предоставляемое получателю прав.


  • Тип: String
  • Допустимые значения: FULL_CONTROL | WRITE | WRITE_ACP | READ | READ_ACP
  • Предки: AccessControlPolicy.AccessControlList.Grant


Нет

Значения для получателя прав

Вы можете указать пользователя (получателя), которому вы предоставляете права доступа (с использованием элементов запроса) следующими способами:

  • С помощью идентификатора пользователя:
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID>ID</ID><DisplayName>EmailПолучателяПрав</DisplayName></Grantee>


Значение DisplayName является необязательным и игнорируется в запросе.

  • С помощью адреса электронной почты:
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress>EmailПолучателяПрав</EmailAddress>lt;/Grantee>



Получатель прав разрешается в канонического пользователя CanonicalUser и в ответе на запрос операции GET для ACL объекта (GET Object acl) отображается как CanonicalUser

  • С помощью URI:
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI>http://hb.bizmrg.com/groups/global/AuthenticatedUsers</URI></Grantee>

Ответы

Элементы ответа

Эта операция не возвращает элементы ответа.


GET Bucket CORS

Описание

Операция возвращает информацию по конфигурации CORS, установленной для бакета.

Для того, чтобы воспользоваться данной операцией, вам необходимо иметь права на запись WRITE_ACP. Владелец бакета имеет это разрешение по умолчанию и может предоставлять его другим пользователям.

Запросы

Синтаксис

 GET /?cors HTTP/1.1
 Host: BucketName.hb.bizmrg.com
 Date: date
 Authorization: authorization string

Параметры запроса

Данная реализация операции не использует параметры запроса.

Элементы запроса

Данная реализация операции не использует элементы запроса.

Ответы

Элементы ответов

Данная реализация операции GET возвращает следующие элементы ответов.


Имя Описание
CORSConfiguration

Контейнер для элементов CORSRules (максимальное количество элементов — 100).


  • Тип: Container
  • Дочерние элементы: CORSRules
  • Предок: нет


CORSRule

Набор источников и методов для предоставляемого доступа Cross-origin. В конфигурацию можно добавить до 100 правил.


  • Тип: Container
  • Дочерние элементы: AllowedOrigin, AllowedMethod, MaxAgeSeconds, ExposeHeader, ID
  • Предок: CORSConfiguration


AllowedHeader

Указывает, какие заголовки разрешено использовать в предполетном запросе OPTIONS через заголовок Access-Control-Request-Headers. Каждое имя заголовка, указанное в заголовке Access-Control-Request-Headers, должно иметь соответствующую запись в правиле. Возвращаться будут только запрошенные заголовки. Элемент может содержать максимум один подстановочный знак «*».

Элемент CORSRule может содержать максимум один элемент MaxAgeSeconds.

  • Тип: String
  • Предок: CORSRule
AllowedMethod

Устанавливает метод HTTP, который разрешается выполнять домену/источнику, указанному в правиле.

Каждый элемент CORSRule должен содержать минимум один элемент AllowedMethod.

  • Тип: Enum (GET, PUT, HEAD, POST, DELETE)
  • Предок: CORSRule
AllowedOrigin

Один или несколько заголовков запросов, к которому пользователи смогут получить доступ из приложений (например, из объекта JavaScript XMLHttpRequest).

Каждый элемент CORSRule должен содержать минимум один элемент AllowedOrigin. Значение строки может содержать максимум один подстановочный знак «*», например http://*.example.com. Вы также можете просто указать один символ «*» для предоставления доступа Cross-origin всем доменам и источникам.

  • Тип: String
  • Предок: CORSRule
ExposeHeader

Один или несколько заголовков в ответе, к которому пользователи смогут получить доступ из приложений (например, из объекта JavaScript XMLHttpRequest).

Вам необходимо добавить в правиле один ExposeHeader для каждого заголовка.

  • Тип: String
  • Предок: CORSRule
ID

Уникальный идентификатор для правила. Является необязательным элементом. Значение идентификатора не может превышать 255 символов в длину. Идентификаторы помогают вам быстро находить правила в конфигурации.

  • Тип: String
  • Предок: CORSRule
MaxAgeSeconds

Время в секундах, на которое браузер может кешировать предполетный ответ для указанного ресурса.

Элемент CORSRule может содержать максимум один элемент MaxAgeSeconds.

  • Тип: Integer (секунды)
  • Предок: CORSRule

Примеры

Пример №1: получение подресурса cors

Следующий пример позволяет получить подресурс cors бакета.

Запрос

 GET /?cors HTTP/1.1
 Host: BucketName.hb.bizmrg.com
 Date: Tue, 13 Dec 2011 19:14:42 GMT
 Authorization: signatureValue

Ответ

 HTTP/1.1 200 OK 
 x-request-id: 0CF038E9BCF63097
 Date: Tue, 13 Dec 2011 19:14:42 GMT
 Server: HbBizmrg
 Content-Length: 280
<CORSConfiguration>
     <CORSRule>
       <AllowedOrigin>http://www.example.com</AllowedOrigin>
       <AllowedMethod>GET</AllowedMethod>
       <MaxAgeSeconds>3000</MaxAgeSec>
     </CORSRule>
</CORSConfiguration>

PUT Bucket CORS

Описание

Данная операция устанавливает конфигурацию CORS для вашего бакета. Если конфигурация уже существует, то она переписывается сервисом.

Для того, чтобы воспользоваться данной операцией, вам необходимо иметь права на запись WRITE_ACP. Владелец бакета имеет это разрешение по умолчанию и может предоставлять его другим пользователям.

Вы можете установить эту конфигурацию на бакете так, что он сможет обслуживать запросы Cross-origin. Например, вы можете предоставить доступ запросу из источника http://www.example.com к вашему бакету my.example.bucket.com, используя функционал браузера XMLHttpRequest.

Для разрешения совместного использования ресурсов между разными источниками (CORS) на бакете необходимо добавить подресурс cors на бакет. Подресурс cors является XML-документом, в котором настраиваются правила, определяющие источники и методы HTTP, которые можно использовать в вашем бакете. Максимальный размер документа — 64 КБ. Например, у конфигурации CORS на бакете могут быть установлены два нижеследующих правила.

  • Первое правило CORSRule разрешает использовать Cross-origin-запросы PUT, POST и DELETE из источников https://www.example.com. Данное правило также разрешает использовать все заголовки в предполетном запросе OPTIONS с помощью заголовка Access-Control-Request-Headers. Следовательно, в качестве ответа на любой предполетный запрос OPTIONS, сервис возвращает любой запрошенный заголовок.
  • Второе правило разрешает использовать Cross-origin-запросы GET со всех источников. Подстановочный знак «*» указывает на возможность использования любого источника.
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>http://www.example.com</AllowedOrigin>
 
   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>
 
   <AllowedHeader>*</AllowedHeader>
 </CORSRule>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
 </CORSRule>
</CORSConfiguration>

Конфигурация CORS также разрешает использовать дополнительные конфигурационные параметры, как это показано ниже на примере конфигурации CORS на бакете, в которой разрешается использовать Cross-origin-запросы PUT и POST из http://www.example.com.

<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>http://www.example.com</AllowedOrigin>
   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>
   <AllowedHeader>*</AllowedHeader>
   <MaxAgeSeconds>3000</MaxAgeSeconds>
 </CORSRule>
</CORSConfiguration>

В этой конфигурации CORSRule включает следующие дополнительные элементы:

  • MaxAgeSeconds — этот элемент указывает время в секундах, на которое браузер может кешировать ответ сервиса на предполетный запрос OPTIONS для указанного ресурса. В этом примере данный параметр установлен на 3000 секунд. Кеширование позволяет браузерам не осуществлять отправку предполетного запроса OPTIONS в сервис, что применяется для создания повторяющихся запросов.

Когда сервис получает запрос Cross-origin (или предполетный запрос OPTIONS) для бакета, он осуществляет оценку конфигурации CORS на бакете и использует первое правило CORSRule, которое совпадает с получаемым запросом браузера на разрешение запроса Cross-origin. Для того, чтобы правило совпадало с получаемым запросом, должны выполняться нижеследующие условия.

  • Заголовок Origin запроса должен совпадать с элементами AllowedOrigin.
  • Метод запроса (например, GET, PUT, HEAD и пр.) или заголовок Access-Control-Request-Method в случае предполетного запроса OPTIONS должен быть одним из элементов AllowedMethod.
  • Каждый заголовок, указанный в заголовке запроса предполетного запроса Access-Control-Request-Headers, должен совпадать с элементом AllowedHeader.

Запросы

Синтаксис

 GET /?cors HTTP/1.1
 Host: BucketName.hb.bizmrg.com
 Content-Length: length
 Date: date
 Authorization: authorization string
 Content-MD5: MD5
<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin> Источник, из которого необходимо получать междоменные запросы</AllowedOrigin>
    <AllowedOrigin>...</AllowedOrigin>
    ...
    <AllowedMethod>метод HTTP</AllowedMethod>
    <AllowedMethod>...</AllowedMethod>
    ...
    <MaxAgeSeconds> Время в секундах, на которое браузер может кешировать предполетный ответ для ресурса</MaxAgeSeconds>
    <AllowedHeader> Заголовки, которые можно отправлять браузеру</AllowedHeader>
    <AllowedHeader>...</AllowedHeader>
     ...
    </CORSRule>
  <CORSRule>
    ...
  </CORSRule>
    ...
</CORSConfiguration>

Параметры запроса

Данная реализация операции не использует параметры запроса.

Заголовки запроса

Имя Описание Обязательно
Content-MD5

Зашифрованная алгоритмом Base64 128-битная MD5-свертка данных. Данный заголовок может использоваться в качестве проверки целостности сообщения, чтобы удостовериться в том, что тело запроса не было искажено при передаче. Для получения дополнительной информации смотрите RFC 1864.

  • Тип: String
  • По умолчанию: нет значения
Да

Элементы запроса

Имя Описание Обязательно
CORSConfiguration

Контейнер для элементов CORSRules (максимальное количество элементов — 100).


  • Тип: Container
  • Дочерние элементы: CORSRules
  • Предок: нет


Да
CORSRule

Набор источников и методов для предоставляемого доступа Cross-origin. Возможно добавление до 100 правил в конфигурацию.


  • Тип: Container
  • Дочерние элементы: AllowedOrigin, AllowedMethod, MaxAgeSeconds, ExposeHeader, ID.
  • Предок: CORSConfiguration


Да
ID

Уникальный идентификатор для правила. Значение идентификатора не может превышать 255 символов в длину. Идентификаторы помогают вам быстро находить правила в конфигурации.

  • Тип: String
  • Предок: CORSRule
Нет
AllowedMethod

Метод HTTP, который необходимо использовать источнику.

Каждый элемент CORSRule должен определять минимум один источник и один метод.

  • Тип: Enum (GET, PUT, HEAD, POST, DELETE)
  • Предок: CORSRule
Да
AllowedOrigin

Источник, из которого вы хотите получать междоменные запросы. Значение может содержать максимум один подстановочный знак «*».

Каждый элемент CORSRule должен определять минимум один источник и один метод.

Значение источника может содержать максимум один подстановочный знак «*», например http://*.example.com. Вы также можете указать только символ «*» в качестве значения источника, что предоставит междоменный доступ всем источникам.

  • Тип: String
  • Предок: CORSRule
Да
AllowedHeader

Указывает, какие заголовки разрешено использовать в предполетном запросе OPTIONS с помощью заголовка Access-Control-Request-Headers. Каждое имя заголовка, указанное в заголовке Access-Control-Request-Headers, должно иметь соответствующую запись в правиле. Сервис будет отправлять в ответе только разрешенные запрошенные заголовки.

Значение может содержать максимум один подстановочный знак «*».

  • Тип: String
  • Предок: CORSRule


Нет
MaxAgeSeconds

Время в секундах, на которое браузер может кешировать предполетный ответ для указанного ресурса.

Элемент CORSRule может содержать максимум один элемент MaxAgeSeconds.

  • Тип: Integer (секунды)
  • Предок: CORSRule
Нет
ExposeHeader

Один или несколько заголовков в ответе, к которому пользователи смогут получить доступ из приложений (например, из объекта JavaScript XMLHttpRequest).

Вам необходимо добавить для каждого заголовка в правиле один элемент ExposeHeader.

  • Тип: String
  • Предок: CORSRule
Нет

Ответы

Элементы ответов

Данная реализация операции не возвращает элементы ответов.

Примеры

Пример №1: конфигурация CORS

Запрос

 PUT /?cors HTTP/1.1
 Host: examplebucket.hb.bizmrg.com 
 x-amz-date: Tue, 21 Aug 2012 17:54:50 GMT
 Content-MD5: 8dYiLewFWZyGgV2Q5FNI4W==
 Authorization: authorization string
 Content-Length: 216
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>http://www.example.com</AllowedOrigin>
   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>
   <AllowedHeader>*</AllowedHeader>
   <MaxAgeSeconds>3000</MaxAgeSec>
 </CORSRule>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
   <AllowedHeader>*</AllowedHeader>
   <MaxAgeSeconds>3000</MaxAgeSeconds>
 </CORSRule>
</CORSConfiguration>

Ответ

 HTTP/1.1 200 OK
 x-amz-id-2: CCshOvbOPfxzhwOADyC4qHj/Ck3F9Q0viXKw3rivZ+GcBoZSOOahvEJfPisZB7B
 x-request-id: BDC4B83DF5096BBE
 Date: Tue, 21 Aug 2012 17:54:50 GMT
 Server: HbBizmrg

DELETE Bucket CORS

Описание

Операция удаляет информацию по конфигурации CORS, установленной для бакета.

Для того, чтобы воспользоваться данной операцией, вам необходимо иметь права на запись WRITE_ACP. Владелец бакета имеет это разрешение по умолчанию и может предоставлять его другим пользователям.

Запросы

Синтаксис

 DELETE /?cors HTTP/1.1
 Host: BucketName.hb.bizmrg.com
 Date: date
 Authorization: authorization string 

Параметры запроса

Данная реализация операции не использует параметры запроса.

Элементы запроса

Данная реализация операции не использует элементы запроса.

Примеры

Пример №1: получение подресурса cors

Следующий запрос DELETE удаляет подресурс cors из указанного бакета. Данное действие удаляет конфигурацию CORS, хранимую в подресурсе.

Запрос

 DELETE /?cors HTTP/1.1
 Host: BucketName.hb.bizmrg.com
 Date: Tue, 13 Dec 2011 19:14:42 GMT
 Authorization: signatureValue

Ответ

 HTTP/1.1 204 No Content
 x-amz-id-2: 0FmFIWsh/PpBuzZ0JFRC55ZGVmQW4SHJ7xVDqKwhEdJmf3q63RtrvH8ZuxW1Bol5
 x-amz-request-id: 0CF038E9BCF63097
 Date: Tue, 13 Dec 2011 19:14:42 GMT
 Server: HbBizmrg
 Content-Length: 0


PUT Bucket lifecycle

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


Описание

Данная операция создает новую конфигурацию жизненного цикла для бакета или замещает существующую конфигурацию жизненного цикла.

Запросы

Синтаксическая конструкция

 PUT /?lifecycle HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 Content-Length: length
 Date: date
 Authorization: authorization string
 Content-MD5: MD5
 
 Lifecycle configuration in the request body

Параметры запроса

Данная реализация операции не использует параметры запроса.

Заголовки запроса

Имя Описание Обязательно
Content-MD5

Зашифрованная алгоритмом Base64 128-битная MD5-свертка данных. Данный заголовок может использоваться в качестве проверки целостности сообщения, чтобы удостовериться в том, что тело запроса не было искажено при передаче. Для получения дополнительной информации смотрите RFC 1864.

  • Тип: String
  • По умолчанию: нет значения
Да

Тело запроса

В теле запроса указывается конфигурация жизненного цикла. Конфигурация жизненного цикла создается в виде XML-файла, в котором задано одно или несколько правил.


<LifecycleConfiguration>
    <Rule>
      ...
    </Rule>
    <Rule>
      ...
    </Rule>
    …
</LifecycleConfiguration>

Каждое правило включает в себя указанные ниже элементы.

  • Фильтр, осуществляющий поднабор объектов, к которым применимо правило. Фильтр использует префикс имени ключа.
  • Состояние, которое указывает активно ли правило.
  • Одно или несколько действий по окончанию срока, которые необходимо выполнить сервису над объектами, выбранными с помощью фильтра. 

Например:


<LifecycleConfiguration>
    <Rule>
        <Filter>
           <Prefix>key-prefix</Prefix>
        </Filter>
        <Status>rule-status</Status>
        One or more Transition/Expiration lifecycle actions.
    </Rule>
</LifecycleConfiguration>

 В таблице ниже приведено описание XML-элементов в конфигурации жизненного цикла.


Имя Описание Обязательно
Date

Дата выполнения действия сервисом.

Формат даты должен соответствовать стандарту ISO 8601. Время всегда установлено на 00:00 (UTC).

  • Тип: String
  • Предок: Expiration 
Да, если элемент Days не задан
Days

Элемент указывает количество дней, после которых выполняется определенное действие, указанное в правиле. Дни отсчитываются от даты внесения последних изменений в объект.

  • Предок: Expiration
Да, если элемент Date не задан
Expiration

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


  • Тип: Container
  • Дочерние элементы: Days или Date
  • Предок: Rule


Да, если нет других действий в элементе Rule
Filter

Контейнер для элементов, описывающий фильтр для определения поднабора объектов, к которым следует применять правило жизненного цикла. Если указывается пустой фильтр (<Filter></Filter>), то правило применяется ко всем объектам в бакете.


  • Тип: String
  • Дочерние элементы: Prefix
  • Предок: Rule


Да
ID

Уникальный идентификатор для правила. Максимальная длина значения — 255 символов.

  • Тип: String
  • Предок: Rule
Нет
LifecycleConfiguration

Контейнер для правил жизненного цикла. Максимальное количество правил — 1000.


  • Тип: Container
  • Дочерние элементы: Rule
  • Предок: нет значения


Да
Prefix

Префикс ключа объекта, указывающий на один или несколько объектов, к которым должно применяться правило. Пустой префикс (<Prefix></Prefix>) указывает на отсутствие фильтрации по префиксу ключа.

Максимальное количество элементов Prefix в фильтрации правил жизненного цикла — 1.

  • Тип: String
  • Предок: Filter
Нет
Rule

Контейнер для правила жизненного цикла. Конфигурация жизненного цикла может содержать до 1000 правил.

  • Тип: Container
  • Предок:LifecycleConfiguration
Да
Status

Если Status находится состоянии Enabled, то сервис применяет правило согласно его параметрам. Если Status находится состоянии Disabled, то сервис игнорирует правило.


  • Тип: String
  • Предок: Rule
  • Допустимые значения: Enabled, Disabled


Да

Ответы

Элементы ответов

Данная реализация операции не возвращает элементы ответов.

Примеры

Пример 1: добавление конфигурации жизненного цикла на бакет

Ниже показана конфигурация жизненного цикла с одним правилом, в котором с помощью действия по окончанию срока отсылается в сервис запрос по удалению объектов с префиксом logs/ по прошествии 365 дней после их создания.

<LifecycleConfiguration>
  <Rule>
    <ID>id2</ID>
    <Filter>
       <Prefix>logs/</Prefix>
    </Filter>
    <Status>Enabled</Status>
    <Expiration>
      <Days>365</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

GET Bucket lifecycle

Описание

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

Операция возвращает информацию по конфигурации жизненного цикла, установленной для бакета. 

Запросы

Синтаксическая конструкция

 GET /?lifecycle HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 Date: date
 Authorization: authorization string

Параметры запроса

Данная реализация операции не использует параметры запроса.

Элементы запроса

Данная реализация операции не использует элементы запроса.

Ответы

Элементы ответов

Данная реализация операции GET возвращает следующие элементы ответов.


Имя Описание
Date

Дата выполнения действия сервисом.

  • Тип: String
  • Предок: Expiration 
Days

Элемент указывает количество дней, после которых выполняется определенное действие, указанное в правиле. Дни отсчитываются от даты внесения последних изменений в объект. Сервис вычисляет время применимости действия для объекта путем сложения времени внесения последних изменений в объект и заданного количества дней и округления получившегося времени до 00:00 (UTC) следующего дня.

  • Тип: положительное значение Integer
  • Предок: Expiration
Expiration

Данное действие указывает период времени в жизненном цикле объекта, в течение которого сервису следует выполнить требуемое действие по окончанию срока. Действие по окончанию срока выполняется только на объектах, которые являются доступными согласно периоду, указанному в дочернем элементе Date или Days.


  • Тип: Container
  • Дочерние элементы: Days или Date
  • Предок: Rule


Filter

Данное действие указывает период времени в жизненном цикле объекта, в течение которого сервису следует выполнить требуемое действие по окончанию срока. Действие по окончанию срока выполняется только на объектах, которые являются доступными согласно периоду, указанному в дочернем элементе Date или Days.


  • Тип: Container
  • Дочерние элементы: Days или Date
  • Предок: Rule


ID

Уникальный идентификатор для правила. Максимальная длина значения — 255 символов.

  • Тип: String
  • Предок: Rule
LifecycleConfiguration

Контейнер для правил жизненного цикла. Максимальное количество правил — 1000.


  • Тип: Container
  • Дочерние элементы: Rule
  • Предок: нет значения


Prefix

Префикс ключа объекта, указывающий на один или несколько объектов, к которым должно применяться правило.

  • Тип: String
  • Предок: Filter
Rule

Контейнер для правила жизненного цикла.

  • Тип: Container
  • Предок: LifecycleConfiguration
Status

Если Status находится состоянии Enabled, то сервис применяет правило согласно его параметрам. Если Status находится состоянии Disabled, то сервис игнорирует правило.


  • Тип: String
  • Предок: Rule
  • Допустимые значения: Enabled или Disabled


Особые ошибки

Код ошибки Описание Код состояния HTTP Префикс кода ошибки SOAP
NoSuchLifecycleConfiguration Данная конфигурация жизненного цикла не существует. 404 Not Found Client

Примеры

Пример 1: получение подресурса жизненного цикла

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

Запрос

 GET /?lifecycle HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 x-amz-date: Thu, 15 Nov 2012 00:17:21 GMT
 Authorization: authorization string

Ответ

 HTTP/1.1 200 OK
 Date: Thu, 15 Nov 2012 00:17:23 GMT
 Server: HbBizmrg
 Content-Length: 358

<?xml version="1.0" encoding="UTF-8"?>
 <LifecycleConfiguration xmlns="http://hb.bizmrg.com/doc/2006-03-01/">
     <Rule>
         <ID>Archive and then delete rule</ID>
         <Filter>
            <Prefix>projectdocs/</Prefix>
         </Filter>
         <Status>Enabled</Status>
         <Expiration>
            <Days>3650</Days>
         </Expiration>
     </Rule>
 </LifecycleConfiguration>


DELETE Bucket lifecycle

Описание

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

Запросы

Синтаксическая конструкция

 DELETE /?lifecycle HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 Date: date
 Authorization: authorization string

Параметры запроса

Данная реализация операции не использует параметры запроса.

Элементы запроса

Данная реализация операции не использует элементы запроса.

Примеры

Пример запроса

Следующий запрос DELETE удаляет подресурс жизненного цикла из указанного бакета. Запрос удаляет конфигурацию жизненного цикла, которая хранится в подресурсе.

 DELETE /?lifecycle HTTP/1.1
 Host: BucketName.hb.bizmrg.com (BucketName.ib.bizmrg.com)
 Date: Wed, 14 Dec 2011 05:37:16 GMT
 Authorization: signatureValue

Пример ответа

В следующем успешном запросе сервисом возвращается ответ 204 No Content. Это означает, что у объектов в вашем бакете больше нет срока действия.

 HTTP/1.1 204 No Content 
 x-amz-id-2: Uuag1LuByRx9e6j5OnimrSAMPLEtRPfTaOAa==  
 x-amz-request-id: 656c76696e672SAMPLE5657374  
 Date: Wed, 14 Dec 2011 05:37:16 GMT
 Connection: keep-alive  
 Server: HbBizmrg