Cloud Storage API V2(Java)を使用して、
Cloud Storageの管理フォルダ(マネージドフォルダ)を生成・削除する方法
についてご紹介します。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Cloud Storage API(V2)] JavaでCloud Storageを使う
を参照ください。
No | 目次 | ||
---|---|---|---|
1 | 管理フォルダを生成 | ||
1 | スコープ | ||
2 | 実行 | ||
3 | レスポンスの内容 | ||
2 | 管理フォルダを削除 | ||
1 | スコープ | ||
2 | 実行 | ||
3 | レスポンスの内容 |
1. 管理フォルダを生成
指定したバケットに管理フォルダ(マネージドフォルダ)を生成します。
1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
StorageScopes.CLOUD_PLATFORM
StorageScopes.DEVSTORAGE_FULL_CONTROL
StorageScopes.DEVSTORAGE_READ_WRITE
⧉[Cloud Storage API(V2)] JavaでCloud Storageを使う(2.2 Storageインスタンスを取得)
でスコープを指定してください。
1.2. 実行
public static void main(String[] args) throws Exception{
Storage storage = getStorage();
Storage.ManagedFolders folder = storage.managedFolders();
ManagedFolder content = new ManagedFolder();
content.setName("管理フォルダの名前");
Storage.ManagedFolders.Insert insert = folder.insert("バケットID",content);
ManagedFolder res = insert.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
POST: https://storage.googleapis.com/storage/v1/b/{バケットID}/managedFolders
が実行されます。
1.2.2. クエリパラメータ
クエリパラメータはありません。
1.2.3. リクエストボディ
ManagedFolderのsetメソッドにより、リクエストボディを追加できます。
メソッド | 引数 | 説明 |
---|---|---|
setName | String | 【必須】管理フォルダの名前 |
1.3. レスポンスの内容
ManagedFolder
メソッド | 戻り値 | 説明 |
---|---|---|
getId | String | 管理フォルダID |
getName | String | 管理フォルダ名 |
getKind | String | リソースの種類 固定文字列:"storage#managedFolder" |
getSelfLink | String | 管理フォルダーURL |
getBucket | String | 管理フォルダーが含まれるバケットの名前 |
getCreateTime | DateTime | 管理フォルダーが作成された時刻 |
getUpdateTime | DateTime | 管理フォルダーが更新された時刻 |
getMetageneration | Long | メタ世代番号(metageneration) |
2. 管理フォルダを削除
指定した管理フォルダ(マネージドフォルダ)を削除します。
指定した空の管理フォルダを削除します。
このAPIで削除できるのは管理フォルダが空の場合のみです。
管理フォルダが空ではない場合は例外が発生します。
空ではない管理フォルダを削除する場合は、
Storage.ManagedFolders.Delete.set("allowNonEmpty", true);
を設定してexecute()すると正常にAPIは実行されます。
ただし、管理フォルダ扱いではなくなるだけなので、オブジェクト自体は残ります。
2.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
StorageScopes.CLOUD_PLATFORM
StorageScopes.DEVSTORAGE_FULL_CONTROL
StorageScopes.DEVSTORAGE_READ_WRITE
⧉[Cloud Storage API(V2)] JavaでCloud Storageを使う(2.2 Storageインスタンスを取得)
でスコープを指定してください。
2.2. 実行
public static void main(String[] args) throws Exception{
Storage storage = getStorage();
Storage.ManagedFolders folder = storage.managedFolders();
Storage.ManagedFolders.Delete delete = folder.delete("バケットID","管理フォルダ名");
delete.execute();
}
2.2.1. HTTPリクエスト
DELETE: https://storage.googleapis.com/storage/v1/b/{バケットID}/managedFolders/{管理フォルダ名}
が実行されます。
2.2.2. クエリパラメータ
クエリパラメータはありません。。
2.3. レスポンスの内容
レスポンスはありません。
削除に失敗した場合は例外が発生します。
おしまい。。