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.CLOUD_PLATFORM_READ_ONLY
StorageScopes.DEVSTORAGE_FULL_CONTROL
StorageScopes.DEVSTORAGE_READ_ONLY
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.Notifications notifications = storage.notifications();
Storage.Notifications.List list = notifications.list("バケットID");
Notifications res = list.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
GET: https://storage.googleapis.com/storage/v1/b/{バケットID}/notificationConfigs
が実行されます。
1.2.2. クエリパラメータ
クエリパラメータはありません。
1.3. レスポンスの内容
Notifications
メソッド | 戻り値 | 説明 |
---|---|---|
getKind | String | リソースの種類 固定文字列:"storage#notifications" |
getItems | List<Notification> | 通知リスト |
Notification
メソッド | 戻り値 | 説明 |
---|---|---|
getId | String | 通知ID |
getKind | String | リソースの種類 固定文字列:"storage#notification" |
getSelfLink | String | 通知の正規URL |
getEtag | String | サブスクリプション通知のHTTPエンティティタグ |
getEventTypes | List<String> | 通知のイベントタイプ |
getObjectNamePrefix | String | 通知されるオブジェクト名のプレフィックス(接頭語) |
getPayloadFormat | String | ペイロードの目的のコンテンツ "JSON_API_V1"、"NONE" |
getTopic | String | 通知サブスクリプションが発行するPub/Subトピック |
getCustomAttributes | Map<String,String> | Pub/Subメッセージに添付する追加属性 |
通知のイベントタイプ
定義値 | 内容 |
---|---|
OBJECT_FINALIZE | 新しいオブジェクトがバケット内に正常に作成された |
OBJECT_METADATA_UPDATE | 既存のオブジェクトのメタデータが変更された |
OBJECT_DELETE | オブジェクトが完全に削除された |
OBJECT_ARCHIVE | 【バケットでオブジェクトのバージョニングが有効になっている場合のみ】 非現行バージョンになった (オブジェクトのライブバージョンが明示的に非現行になったため、または同じ名前のオブジェクトのアップロードによって置き換えられたため) |
2. 変更通知を取得
指定した変更通知のメタデータを取得します。
2.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
StorageScopes.CLOUD_PLATFORM
StorageScopes.CLOUD_PLATFORM_READ_ONLY
StorageScopes.DEVSTORAGE_FULL_CONTROL
StorageScopes.DEVSTORAGE_READ_ONLY
StorageScopes.DEVSTORAGE_READ_WRITE
⧉[Cloud Storage API(V2)] JavaでCloud Storageを使う(2.2 Storageインスタンスを取得)
でスコープを指定してください。
2.2. 実行
通知IDは、NotificationのgetId()で取得できる値を使用します。
public static void main(String[] args) throws Exception{
Storage storage = getStorage();
Storage.Notifications notifications = storage.notifications();
Storage.Notifications.Get get = notifications.get("バケットID","通知ID");
Notification res = get.execute();
System.out.println(res);
}
2.2.1. HTTPリクエスト
GET: https://storage.googleapis.com/storage/v1/b/{バケットID}/notificationConfigs/{通知ID}
が実行されます。
2.2.2. クエリパラメータ
クエリパラメータはありません。
2.3. レスポンスの内容
Notification
2.3. レスポンスの内容(Notification)と同じです。
おしまい。。