はじめに
SharePointの容量を節約するためのチーム課題に対する体験談をご紹介します。
ストレージ容量の圧迫
SharePointのドキュメントライブラリでは、バージョン履歴の管理が可能です。バージョン履歴をさかのぼってファイルを容易に復元できる一方で、バージョン履歴がストレージ容量を圧迫することがあります。
これは、ドキュメントが更新されるたびに新たなバージョンとしてファイル全体が複製されるため、利用者が想定していないところで1ドキュメントあたりの容量が肥大化する場合があるからです。
バージョン履歴の削除方法
UI上でバージョン履歴を表示して削除する方法がありますが、ドキュメントごとに手動で削除するのは時間がかかります。また、自動的に古いバージョンを削除する設定もありますが、バージョン保持数や保持期間の仕様上、即効性という意味では今回の要求を満たすのは難しそうでした。
そこで、削除したいタイミングで自動的にバージョン履歴を削除する方法を調査しました。
PowerShellによる自動削除
最も推奨されていたのはPowerShellによる自動削除の方法ですが、私個人で行うには権限に課題があり、認証周りでハードルが高く断念しました。
Power Automateによる自動削除
別の方法を調査した結果、Power Automateで実現できそうだったので、そちらで進めることにしました。
SharePoint REST APIを使用しつつ、サブフォルダーを含む全ドキュメントの不要なバージョンを削除できるフローを作成しました。
おおまかな流れ
- 削除対象のフォルダーパス、および保持したいバージョン数を入力
- サブフォルダーの検索
- 各フォルダーごとにファイル検索
- 各ファイルごとにバージョン情報取得
- バージョン情報を一括削除
大きなフォルダー構成では動作未確認ですが、少なくともチーム内で運用している範囲ではストレージ容量を大幅に削減でき、今後も活用できそうです。
無事、チーム内の課題を一つ解決することができました。
同じ課題に悩まれている方の参考になれば幸いです。