デフォルトでは、バケットに有効なライフサイクル管理はありません。既存のバケットのライフサイクル構成を設定または変更するには、バケットを範囲とする PUT リクエストを作成し、lifecycle
クエリ文字列パラメータを使用します。リクエストの本文では、ライフサイクル設定を含む XML ドキュメントを指定する必要があります。作成対象の新規バケットにライフサイクル設定することはできません。
既存のバケットのライフサイクル構成の設定や変更を行うには FULL_CONTROL
権限が必要です。また、PUT Bucket メソッドを使用するための認証も必要です。
クエリ文字列パラメータ
パラメータ | 説明 | 必須 |
---|---|---|
lifecycle |
これを使用して、既存のバケットのライフサイクル設定を追加または変更します。LifecycleConfiguration ドキュメントをリクエストの本文で指定する必要があります。 | × |
署名付き URL を作成して使用するときに指定するパラメータについては、署名付き URL クエリ文字列パラメータをご覧ください。
リクエスト ヘッダー
一般的なリクエスト ヘッダーをご覧ください。
リクエストの本文の要素
次のリクエストの本文の要素は、lifecycle
クエリ文字列パラメータを使用して既存バケットのライフサイクル設定を行う場合にのみ適用することができます。
要素 | 説明 |
---|---|
LifecycleConfiguration |
バケットに対してライフサイクル管理ポリシーを定義します。 このポリシーには、0 以上(最大 100)のルールが含まれています。空の要素(例: <LifecycleConfiguration/> )を使用して、バケットのライフサイクル管理を無効にします。 |
Rule |
ライフサイクルの管理ルールを定義します。このルールは、アクションと、そのアクションを満たすために必要な条件で構成されます。 |
Action |
実行するアクションを定義します。アクション要素は 1 つだけ含める必要があります。 |
Delete |
バケット内のオブジェクトを削除するアクション要素。 |
SetStorageClass |
バケット内のオブジェクトのストレージ クラスを変更するアクション要素。 |
Condition |
アクションの実行に必要な条件。ルールには少なくとも 1 つの条件要素が含まれている必要があります。 |
Age |
指定された期間(日数)でオブジェクトに一致する条件要素。 |
CreatedBefore |
UTC で指定した日付の午前 0 時より前に作成されたオブジェクトに一致する条件要素。値は、タイムゾーンを指定しない ISO 日付文字列(2019-01-15 など)です。 |
CustomTimeBefore |
Custom-Time メタデータで、この条件で設定された日付より古い日付を持つオブジェクトと一致する条件要素。CustomTimeBefore は、タイムゾーンを指定しない ISO 日付文字列です。たとえば、2020-02-25 です。 |
DaysSinceCustomTime |
Custom-Time メタデータが DaysSinceCustomTime 日以上前のオブジェクトに一致する条件要素。 |
DaysSinceNoncurrentTime |
バージョニングされたオブジェクトにのみ関連する条件要素。指定した日数以上経過していないオブジェクトと一致します。 |
IsLive |
条件要素は通常、オブジェクトのバージョニングと組み合わせて使用されます。false に設定した場合、オブジェクトの最新でないバージョンがあれば、この条件が満たされます。true に設定した場合、この条件はオブジェクトのライブ バージョンに満足します。オブジェクトのバージョニングを使用しない場合、すべてのオブジェクトがライブとみなされ、IsLive が true の場合は一致とみなされます。 |
MatchesStorageClass |
指定したストレージ クラスのオブジェクトと一致する条件要素。複数のストレージ クラスを比較する場合、この条件を同じルールに複数回追加できます。 |
NoncurrentTimeBefore |
バージョニングされたオブジェクトにのみ関連する条件要素。この条件で指定された日付より前の日付に noncurrent になったオブジェクトに一致します。 NoncurrentTimeBefore は、タイムゾーンを指定しない ISO 日付文字列です。たとえば、2020-02-25 です。 |
NumberOfNewerVersions |
バージョニングされたオブジェクトにのみ関連する条件要素。値が N の場合、オブジェクトのバージョンよりも新しいバージョンが、(ライブ バージョンを含めて)N 個以上存在すると、この条件が満たされます。 |
リクエストの構文
PUT /?lifecycle HTTP/1.1 Host: BUCKET_NAME.storage.googleapis.com Date: DATE Content-Length: REQUEST_BODY_LENGTH Content-Type: MIME_TYPE_OF_THE_BODY Authorization: AUTHENTICATION_STRING XML_DOCUMENT_DEFINING_LIFECYCLE_CONFIGURATION
レスポンス ヘッダー
使用するリクエスト ヘッダーに応じて、リクエストから返されるレスポンス ヘッダーは異なります。
レスポンスの本文の要素
このレスポンスの本文に XML ドキュメントは含まれません。
例
次の例では、example.com という名前のバケットでライフサイクル管理を有効にします。その他の例については、ライフサイクルの管理をご覧ください。
リクエスト
PUT /example.com?lifecycle HTTP/1.1 Host: storage.googleapis.com Content-Length: 220 Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg <?xml version="1.0" ?> <LifecycleConfiguration> <Rule> <Action> <Delete/> </Action> <Condition> <Age>30</Age> </Condition> </Rule> </LifecycleConfiguration>
レスポンス
HTTP/1.1 200 OK Date: Mon, 07 Jan 2019 03:38:42 GMT Expires: Mon, 01 Jan 1990 00:00:00 GMT Cache-Control: no-cache, no-store, must-revalidate Content-Length: 0 Content-Type: text/html