ささみ学習帳 - sasami's study book

ささみ学習帳

Microsoft365 や Power Platform について学んだこと・アイデアのメモ

Boxコネクタの「ファイルが変更されたとき(プロパティのみ)(V1/V2)」トリガーが反応するのはファイルが変更されたときだけではない事への対処

はじめに

こちらの記事の続きです。

sasami-axis.hatenablog.com

Boxコネクタの「ファイルが変更されたとき(プロパティのみ)(V1/V2)」トリガーはファイルが変更されたときも含め、少なくとも下記のイベントに反応することが検証で分かりました。

  • ファイル新規作成
  • ファイル新規アップロード
  • ファイルの変更
  • ファイル更新アップロード
  • ファイル名の変更
  • メタデータの追加(1つ目のみ)
  • タグの追加

この動作は新規ファイルと変更ファイルで異なる処理を行いたい場合に厄介な仕様です。

今回はこれに対する対処になりそうな一つのアイデアです。

 

対処案-ファイルの履歴の有無で新規ファイルか判別する

対処案はシンプルです。ファイルの履歴がない場合は新規ファイルという判断を加えるだけです。

 

Box APIにはそれができる命令が備わっています。

ja.developer.box.com

 

HTTPアクションやカスタムコネクタでこのAPIを使ってもよいのですが、「ファイルが変更されたとき(プロパティのみ)(V1/V2)」トリガーの出力や「ID によるファイル メタデータの取得」アクションの出力にある「ETag」がそれにあたるようです。

新規ファイルのEtagは"0"で、ファイルが更新されるたびに数字が増えていきます。

BoxコネクタのリファレンスにもBox APIのリファレンスにもそのようなことは記載されていません。あくまで個人的に検証したのみの結論です。

 

フロー全体図

フロー解説

  • Etagが0だったら
    • 新規ファイルまたは新規アップロード
  • それ以外だったら
    • 下記のいずれか
      • ファイルの変更
      • ファイル更新アップロード
      • ファイル名の変更
      • メタデータの追加(1つ目のみ)
      • タグの追加

という分岐ができます。

 

制限事項・課題事項

 

さいごに

カスタムコネクタを作成して一通り動作確認した後でETagの存在に気づきました...

結果的にBox APIが気軽に使えるようになったので回り道もよいものです。