LoginSignup
0
0

[Cloud Storage API(V2)] Javaでバケットの保持ポリシーをロックする

Posted at

Cloud Storage API V2(Java)を使用して、
Cloud Storageのバケットの保持ポリシーをロックする方法
についてご紹介します。

バケット保持ポリシーとロック
保持ポリシーとは、バケット内にオブジェクトがアップロードされた後、
そのオブジェクトが削除・変更されないように期間を設定することができる機能です。

保持ポリシーを「ロック」することにより、すべてのユーザーが
設定した保持ポリシーの保持期間を短縮/削除できないようにします。

「ロック」した状態の保持ポリシーを削除したい場合は、
バケット自体を削除するしかありません。
ただし、バケット内にオブジェクトが存在する場合、
保持ポリシーを満たした期間外にならなければ削除することもできません。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Cloud Storage API(V2)] JavaでCloud Storageを使う
を参照ください。

No 目次
1 保持ポリシーをロック
1 スコープ
2 実行
3 レスポンスの内容

1. 保持ポリシーをロック

指定したバケットの保持ポリシーをロックします。

1.1. スコープ

このAPIを実行するには、以下のいずれかのスコープを指定してください。

StorageScopes.CLOUD_PLATFORM
StorageScopes.DEVSTORAGE_FULL_CONTROL

⧉[Cloud Storage API(V2)] JavaでCloud Storageを使う(2.2 Storageインスタンスを取得)
でスコープを指定してください。

1.2. 実行

バケットIDとメタ世代番号(metageneration)は必須です。
メタ世代番号は、⧉BucketのgetMetageneration()で取得できます。

public static void main(String[] args) throws Exception{
    Storage storage = getStorage();
    Storage.Buckets buckets = storage.buckets();
    
    Storage.Buckets.LockRetentionPolicy lock = buckets.lockRetentionPolicy("バケットID",メタ世代番号);
    
    Bucket res = lock.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

POST: https://storage.googleapis.com/storage/v1/b/{バケットID}/lockRetentionPolicy
が実行されます。

1.2.2. クエリパラメータ

クエリパラメータはありません。

1.2.3. リクエストボディ

リクエストボディはありません。

1.3. レスポンスの内容

Bucket

⧉[Cloud Storage API(V2)] Javaでバケットを取得する(Bucket)と同じです。




おしまい。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0