このチュートリアルのコードサンプルでは、 を使用しています。
前提条件
- Boxアプリケーションで [] スコープ (
root_readwrite) が有効になっている - コンピュータにPython 3.8以降がインストールされている
- Box Python SDKがインストールされている (
pip install "boxsdk~=10") - が認証済みである
- のチュートリアルが完了している (同チュートリアルで定義した
file_uploadおよびfile_upload_chunkedヘルパー関数をこのチュートリアルで再利用し、アップロードロジックの重複を回避する)
重複したフォルダの処理
サブフォルダにアクセスする前に、そのフォルダがすでにBoxに存在しているかどうかを確認します。同名のフォルダが存在する場合は、新規フォルダを作成せずに、既存のフォルダを使用します。Python v10
フォルダの再帰的なアップロード
ローカルディレクトリツリーをたどる1つの再帰的な関数を、複数のヘルパー関数を組み合わせて作成します。各項目で、関数は次の処理を行います。- Box内にフォルダを作成するか、既存のフォルダを取得した後、フォルダを再帰的に処理します。
- 直接アップロードか分割アップロードかを選択するためにファイルサイズを確認します。20 MB以上のファイルでは分割アップロード、それよりも小さいファイルでは直接アップロードを使用します。
- 同名のファイルがすでに存在する場合は、アップロード方法のチュートリアルで説明したヘルパーを使用して新しいバージョンをアップロードします。
Python v10
min_chunked_sizeパラメータのデフォルト値は20 MB (の最小サイズ) です。このしきい値を大きくすることはできますが、小さくすることはできません。
サンプル全体
以下のスクリプトでは、Boxクライアントを認証し、保存先フォルダを作成 (または既存フォルダを再利用) して、ローカルディレクトリのコンテンツを再帰的にアップロードします。create_box_folderヘルパーを再利用して、ルートフォルダ ("0") にある保存先フォルダを取得または作成しています。
Python v10
