デバイスのBox Driveフォルダ内で作業する際、Box Driveは、Box APIを呼び出してエクスプローラやFinderでの操作をBoxと同期します。 これらのAPIコールは、移動とコピー、さらにファイルとフォルダで異なります。 この記事では、その仕組みについてまとめます。
移動と名前変更
移動 (別のフォルダへのドラッグを含む) または名前変更では、Box上の既存のファイルまたはフォルダが更新されます。Box Driveでは、ファイルまたはフォルダの更新APIを使用して、親や名前を変更します。 項目の移動または名前変更を行っただけでは、コンテンツは再アップロードされません。ファイルもフォルダもこのパターンに従います。
分類ラベルと移動
通常の移動または名前変更を行っても、Box上では同じ項目 (同じファイルID) のままのため、これに競合し上書きするShieldポリシーがない限り、その項目の分類は保持されます。
コピー
コピーでは、コピー先に新しい項目が作成されます。 Box Driveは、Box上に新しい項目を1つずつ作成します。 フォルダとファイルでは動作が異なります。
フォルダ
フォルダをコピーすると、Box上に新しいフォルダツリーが作成されます。 新しいフォルダはそれぞれ、独立した項目として作成されます。コピーに含まれるファイルは、以下のファイルルールに従って1ファイルずつ処理されます。
ファイル
コピーによって新しいファイルが作成されるたびに、Box Driveは不必要なデータの再送信を回避しようとします。
ファイルをコピーAPI (サーバー側のコピー): Box Driveは、ソースと同じコンテンツ (つまりSHA-1が一致) を含むファイルがBox上にすでに存在することを認識している場合、デバイスから再度アップロードするのではなく、Boxに対してクラウド内のそのファイルをコピーするよう求めることができます。
アップロードAPI: Box Driveは、コンテンツを既知のファイルと照合できない場合 (例えば、そのファイルがBox Driveのキャッシュを通じて同期されたことがない場合や、Box Driveの外部からコンテンツをコピーした場合)、そのデータを新しいファイルとしてコピー先にアップロードします。
例:
他の場所からBox Driveにファイルをコピーする → Box Driveにはまだ一致するBoxファイルがないことが多い → アップロードする
ファイルが認識された後、Box Drive内で同じファイルを再度コピーする → Box Driveがコンテンツを照合できる可能性がある → 2回目はすべてアップロードする代わりに、ファイルをコピーAPIを使用する
分類ラベルとコピー
Box Driveは、特定のコンテンツを一度アップロードした後、可能であればサーバー側のコピーで再利用することで、効率化を図ります。 未分類のファイルにはこの方法が適しています。
カスケードポリシーや類似のポリシーを通じて適用されたShield分類など、重複しないようにメタデータが追加されているファイルの場合、ファイルをコピーAPIを使用すると、意図せずメタデータが引き継がれてしまう可能性があります。 これを回避するため、Box Driveでは、ソースファイルにそのようなメタデータが追加されている場合、ファイルをコピーエンドポイントを使用せず、代わりに新しいファイルをアップロードします。 その場合、ウェブ版のBoxでブラウザから同じ項目をコピーするときのように、分類ラベルが新しいファイルにコピーされることはありません。