Lifecycle
In this article:
Lifecycle#
Управление жизненным циклом объектов позволяет автоматически удалять объекты из бакета после истечения срока их хранения.
PutBucketLifecycleConfiguration#
Задаёт правила удаления объектов и их версий из бакета. Правила перемещения объектов между классами хранения (Storage Classes) не поддерживаются.
Запрос перезаписывает существующую конфигурацию, поэтому для сохранения предыдущей конфигурации её необходимо добавить в новый запрос.
Запрос должен содержать заголовок Content-MD5
c MD5-хешем передаваемой конфигурации (тела запроса) в кодировке Base64.
Пример запроса#
Запрос
PUT /bucket1/?lifecycle=null HTTP/1.1
Host: s3.k2.cloud
Content-MD5: B+uE7Xf0n6K5qORbVGqzAw==
X-Amz-Content-Sha256: beaead3198f7da1e70d03ab969765e0821b24fc913697e929e726aeaebf0eba3
X-Amz-Date: 20220601T081208Z
Authorization: AWS4-HMAC-SHA256 Credential=project:user@company/20220601/{region}/s3/aws4_request, SignedHeaders=content-md5;host;x-amz-content-sha256;x-amz-date, Signature=24eceb4f2f3d83c606966ca631e240c4d33cc3949a63f76eb99d99fef06b2fef
Content-Type: application/xml
Content-Length: 400
<LifecycleConfiguration>
<Rule>
<ID>ObjectExpiration</ID>
<Filter>
<Prefix>logs/</Prefix>
</Filter>
<Status>Enabled</Status>
<Expiration>
<Days>365</Days></Expiration>
</Rule>
<Rule>
<ID>DeleteNonCurrent</ID>
<Filter>
<Prefix>logs/</Prefix>
</Filter>
<Status>Enabled</Status>
<NoncurrentVersionExpiration>
<NoncurrentDays>100</NoncurrentDays>
</NoncurrentVersionExpiration>
</Rule>
</LifecycleConfiguration>
Пример ответа#
Ответ
HTTP/1.1 200 OK
x-amz-request-id: tx000000000000007feef9e-00629724ec-41e627a3-default
content-type: application-xml
content-length: 0
date: Wed, 01 Jun 2022 08:35:56 GMT
GetBucketLifecycleConfiguration#
Возвращает конфигурацию жизненного цикла бакета.
Пример запроса#
Запрос
GET /bucket1?lifecycle=null HTTP/1.1
Host: s3.k2.cloud
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20220601T114555Z
Authorization: AWS4-HMAC-SHA256 Credential=project:user@company/20220601/{region}/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=7f49aa189dd0b80285149fe3f979b166a9be8ccf2ef7da2a394ac98bd2056d93
Пример ответа#
Ответ
HTTP/1.1 200 OK
x-amz-request-id: tx0000000000000081d8990-0062975173-41e627a3-default
content-type: application-xml
content-length: 274
date: Wed, 01 Jun 2022 11:45:55 GMT
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Rule>
<ID>LogExpiration</ID>
<Filter>
<Prefix>logs/</Prefix>
</Filter>
<Status>Enabled</Status>
<Expiration>
<Days>365</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>
DeleteBucketLifecycleConfiguration#
Удаляет конфигурацию жизненного цикла бакета.
Пример запроса#
Запрос
DELETE /bucket1/?lifecycle=null HTTP/1.1
Host: s3.k2.cloud
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20220601T115410Z
Authorization: AWS4-HMAC-SHA256 Credential=project:user@company/20220601/{region}/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=6c7c533abb88c693fbe500ca17c505219e725e883254e274f07a52d309ec7f37
Пример ответа#
Ответ
HTTP/1.1 204 No Content
x-amz-request-id: tx000000000000008240d6f-0062975362-40173986-default
content-type: application-xml
date: Wed, 01 Jun 2022 11:54:10 GMT