このトピックでは、Drive and Photo Service (Developer Edition) の履歴バージョン機能について説明します。 PDS が提供するデフォルトの BasicUI で履歴バージョン機能を使用できます。 また、このトピックを参照して、PDS の API 操作を呼び出してファイルの履歴バージョンを管理することもできます。
基本概念
機能説明
ファイルの履歴バージョン機能を有効にして、ファイルの複数のバージョンをバックアップできます。 これにより、ファイルとその履歴バージョンを保存し、ファイルが上書きされたり誤って変更されたりした場合でも簡単にファイルを復元できます。
ファイルを変更または上書きすると、新しいファイルバージョンが生成されます。 ファイルのすべての履歴バージョンのクエリ、ファイルの履歴バージョンの詳細のクエリ、ファイルの履歴バージョンの復元、またはファイルの履歴バージョンの削除を実行できます。 ファイルの履歴バージョンにタグを追加することもできます。
ファイルの履歴バージョンの保持期間を構成できます。 保持期間は 1 ~ 999 日です。 ファイルの特定の履歴バージョンを永続的に保持し、履歴バージョンの蓄積を防ぐためにファイルの履歴バージョンを定期的にマージするように構成することもできます。
ファイルの履歴バージョンを 1 ~ 999 個保持し、ファイルの履歴バージョンを最大 50 個永続的に保持できます。 永続的に保持されるファイルの履歴バージョンは、履歴バージョンの保持期間が経過したり、ファイルの履歴バージョンの最大数を超えた場合でも削除されません。
前提条件
PDS Developer Edition ドメインが作成されている。
この機能を有効にできるのは、スーパー管理者またはドライブ管理者のみです。
BasicUI が有効になっています。 詳細については、「BasicUI を有効にする」をご参照ください。
履歴バージョン機能を有効にする
BasicUI にログインし、管理コンソールに移動します。 BasicUI へのログイン方法については、「BasicUI にログインする」をご参照ください。
左側のナビゲーションウィンドウで、
を選択します。[履歴バージョン] をオンにします。
履歴バージョンの構成
[ファイル設定] ページの右上隅にある [編集] をクリックして、履歴バージョンの構成を変更できます。
機能 | 説明 |
[ファイル履歴バージョンをマージする] | この機能はデフォルトで有効になっています。 この機能が有効になっている場合、10 分以内に生成されたファイルの複数バージョンがマージされ、ファイルの最新の履歴バージョンのみが保持されます。 これにより、ファイルをオンラインで変更および保存したり、オンプレミスディスクとクラウドドライブ間でファイルを同期したりするなど、ファイルに対して操作を実行した後にファイルが頻繁に保存される場合に、多数の履歴バージョンが生成されるのを防ぎます。 この機能が無効になっている場合、ファイルを手動で保存するか、ファイルが自動的に保存されるたびに、ファイルの履歴バージョンが生成されます。 |
[バージョンの上限数を設定する] |
|
[バージョンストレージ期間を設定する] |
|
API 操作と呼び出し例
CreateFile
PDS にファイルをアップロードしてファイルを作成すると、ファイルには 1 つのバージョンしかありません。 既存のファイルを上書きするために PDS にファイルをアップロードすると、ファイルの新しいバージョンが生成されます。
PDS にファイルをアップロードして既存のファイルを上書きする方法については、「ファイルをアップロードする」トピックの「上書きモードでのファイルのアップロード」セクションを参照してください。 既存のファイルを上書きするには、CreateFile 操作を呼び出すときに、file_id パラメータを上書きするファイルの ID に設定します。 その他の構成は、ファイルをアップロードしてファイルを作成する場合と同じです。
ListRevision
ListRevision 操作を呼び出して、ファイルの履歴バージョンをページごとにクエリできます。 返される結果は、逆時系列順にソートされます。 ファイルの履歴バージョンが生成された時刻に基づいて、ファイルの履歴バージョンは最新のものから最も古いものの順にソートされます。
サンプルリクエスト
{
"drive_id":"testDriveId", // ドライブID
"file_id": "testFileId" // ファイルID
}
サンプルレスポンス
{
"items": [{ // 履歴バージョン情報のリスト
"domain_id": "testDomainId", // ドメインID
"drive_id": "testDriveId", // ドライブID
"file_id": "testFileId", // ファイルID
"revision_id": "testRevisionId", // リビジョンID
"revision_name": "history_version.xlsx", // リビジョン名
"file_extension": "xlsx", // ファイル拡張子
"size": 8493, // ファイルサイズ
"revision_version": 2, // リビジョンバージョン
"keep_forever": false, // 永久保存フラグ
"revision_description": "", // リビジョン説明
"revision_create_reason": "overwrite", // リビジョン作成理由
"content_hash_name": "sha1", // コンテンツハッシュ名
"content_hash": "xxxxxx", // コンテンツハッシュ値
"crc64_hash": "xxxxxx", // CRC64ハッシュ値
"created_at": "2022-09-05T04:00:09.017Z", // 作成日時
"updated_at": "2022-09-05T04:00:09.017Z", // 更新日時
"creator_type": "User", // 作成者タイプ
"creator_id": "testCreatorId", // 作成者ID
"is_latest_version": true // 最新バージョンフラグ
}],
"next_marker": "" // 次のページのトークン
}
パラメータの説明
drive_id リクエストパラメーターは、クエリ対象の履歴バージョンを持つファイルが存在する個人ドライブまたはエンタープライズドライブの ID を指定します。
file_id リクエストパラメーターは、履歴バージョンをクエリするファイルの ID を指定します。 このパラメーターにはフォルダ ID を指定できません。
結果がページごとに返される場合、next_marker レスポンスパラメーターは、新しいページの結果を取得するための次のリクエストで使用されるページネーショントークンを示します。 前のリクエストから取得したトークンを、次のリクエストの marker パラメーターの値として指定する必要があります。 next_marker レスポンスパラメーターに値が返されない場合、最後のページの結果が返されます。
revision_version レスポンスパラメーターは、バージョン番号を示します。 数値が小さいほど、バージョンが古いことを示します。
revision_create_reason レスポンスパラメータは、バージョンが生成された理由を示します。 有効な値:
空の文字列: ファイルが作成されます。
overwrite: 既存のファイルが上書きされます。
restore_rev: 履歴バージョンが復元されます。
is_latest_version レスポンスパラメーターは、ファイルが最新バージョンであるかどうかを示します。
revision_name レスポンスパラメーターは、ファイルの最新バージョンの名前を示します。 ファイルの最新バージョンの名前は、ファイルの名前と同じです。 履歴バージョンの名前は、履歴バージョンが生成されたときに固定されます。
GetRevision
GetRevision 操作を呼び出して、履歴バージョンの詳細をクエリできます。 ListRevision 操作と比較して、download_url パラメータが GetRevision 操作のレスポンスに追加されます。
サンプルリクエスト
{
"drive_id":"testDriveId", // ドライブID
"file_id": "testFileId", // ファイルID
"revision_id": "testRevisionId" // リビジョンID
}
サンプルレスポンス
{
"domain_id": "testDomainId", // ドメインID
"drive_id": "testDriveId", // ドライブID
"file_id": "testFileId", // ファイルID
"revision_id": "testRevisionId", // リビジョンID
"revision_name": "history_version.xlsx", // リビジョン名
"file_extension": "xlsx", // ファイル拡張子
"size": 8493, // ファイルサイズ
"revision_version": 2, // リビジョンバージョン
"keep_forever": false, // 永久保存フラグ
"revision_description": "", // リビジョン説明
"revision_create_reason": "overwrite", // リビジョン作成理由
"content_hash_name": "sha1", // コンテンツハッシュ名
"content_hash": "xxxxxx", // コンテンツハッシュ値
"crc64_hash": "xxxxxx", // CRC64ハッシュ値
"created_at": "2022-09-05T04:00:09.017Z", // 作成日時
"updated_at": "2022-09-05T04:00:09.017Z", // 更新日時
"creator_type": "User", // 作成者タイプ
"creator_id": "testCreatorId", // 作成者ID
"is_latest_version": true, // 最新バージョンフラグ
"download_url": "testDownloadUrl" // ダウンロードURL
}
UpdateRevision
UpdateRevision 操作を呼び出して、ファイルバージョンのプロパティを構成できます。
ファイルバージョンを永続的に保持できるようにする
ファイルの履歴バージョンを最大 50 個永続的に保持できます。 永続的に保持されるファイルの履歴バージョンは、履歴バージョンの保存期間が経過した場合、またはファイルの履歴バージョンの最大数を超えた場合でも削除されません。
DeleteRevision 操作を呼び出すことにより、永続的に保持されているファイルの履歴バージョンを削除できます。
ファイルが完全に削除されると、永続的に保持されているファイルの履歴バージョンは削除されます。
サンプルリクエスト
{
"drive_id": "testDriveId", // ドライブID
"file_id": "testFileId", // ファイルID
"revision_id": "testRevisionId", // リビジョンID
"keep_forever": true // 永久保存フラグ
}
ファイルバージョンが永続的に保持されないようにする
サンプルリクエスト
{
"drive_id": "testDriveId", // ドライブID
"file_id": "testFileId", // ファイルID
"revision_id": "testRevisionId", // リビジョンID
"keep_forever": false // 永久保存フラグ
}
ファイルバージョンの説明を指定する
サンプルリクエスト
{
"drive_id": "testDriveId", // ドライブID
"file_id": "testFileId", // ファイルID
"revision_id": "testRevisionId", // リビジョンID
"revision_description": "this is a revision" // リビジョン説明
}
RestoreRevision
このオペレーションを呼び出して、ファイルの最新バージョンを復元することはできません。
ファイルの履歴バージョンを復元すると、履歴バージョンに基づいて新しいバージョンが生成されます。 履歴バージョンのステータスは変更されません。 新しいバージョンの作成者は、履歴バージョンを復元したオペレーターです。 履歴バージョンによって占有されているストレージスペースを解放するために履歴バージョンを削除するには、DeleteRevision 操作を呼び出す必要があります。
RestoreRevision 操作を呼び出して、ファイルの履歴バージョンをファイルの最新バージョンとして復元できます。
サンプルリクエスト
{
"drive_id": "testDriveId", // ドライブID
"file_id": "testFileId", // ファイルID
"revision_id": "testRevisionId" // リビジョンID
}
DeleteRevision
この操作を呼び出して、ファイルの最新バージョンを削除することはできません。
DeleteRevision 操作を呼び出して、履歴バージョンを削除し、履歴バージョンによって占有されているストレージスペースを解放できます。
サンプルリクエスト
{
"drive_id": "testDriveId", // ドライブID
"file_id": "testFileId", // ファイルID
"revision_id": "testRevisionId" // リビジョンID
}