Azure Storage BLOB インベントリ機能でCSVレポートを出力してみた

2021.09.09

いわさです。

少し前ですが、Azure Blob ストレージのインベントリ機能がGAになっていました。

プレビュー時に触っていなくて、ストレージの項目一覧でも作成してくれるのかな?くらいに思っていたのですが、どういうものなのかわかっていなかったので、少し触って理解を深めてみることにしました。

試してみた

日次または週次でインベントリレポートを作成してくれるようです。
また、作成対象に含めるアイテムの条件を設定出来るようです。

ルールで、フィルター・フォーマット・スケジュールなどなどを指定出来ます。

今回は全てのアイテムを対象として、日次でCSVを出力するルールを作成しました。
スナップショットなども対象に含めます。

有効化する

まずはインベントリルールを作成し、前述の設定を行います。

ルール作成は以下のような項目が設定可能です。

コンテナはバックアップやバージョニングを有効化しておきました。

あとは勝手にレポートが出力されていきます。
最短出力が日次なので、検証を繰り返しているうちに2週間くらいかかりました。

今思えば、設定のON/OFFで即出力出来たのかもしれない・・・。

レポート

日次か週次でレポート出力されます。
出力先は対象コンテナーストレージのルートに以下の形式で格納されます。

yyyy/MM/dd/HH-mm-ss/規則名の階層でフォルダが作成され、3つのファイルがレポートして出力されます。
そのうちメインのデータとなるのがCSV(指定したフォーマットの)ファイルです。

CSVは以下のような形式になっています。
チェックサムとマニフェストファイルも出力されますが、メインで日次で確認するデータはCSVになりそうです。

キャプチャで全てのフィールドは表示出来ないですが、以下に出力されるフィールドは記されていますので確認してみてください。

また、今回は試していませんが、レポート作成時にBlobInventoryPolicyCompletedイベントが発生するので、イベント駆動で何かをトリガーすることも可能です。

まとめ

ストレージって格納して終わりみたいな使い方が多かったので、こういったデータを扱うのは新鮮でした。

おそらくコンプライアンスというか証跡的な使い方を想定していると思うのですが、日次のインベントリがCSV形式で残されますので、Blobコンテナのストレージ利用量と内訳をBIツールなどで時系列に可視化するなども面白そうだなーと第一印象で感じました。
PowerBI力が足りてないですがそのあたりも是非トライしてみたいと思います。