この記事はOracle Cloud Advent Calendar 2018 - Adventarの12月8日の記事として書かれています。
大きなファイルのアップロードにはマルチパートアップロードが有効です。今回はOracle Cloudのオブジェクトストレージにファイルをマルチパートアップロードしてみます。
Webのコンソールからはマルチパートアップロードできないため、Oracle Cloud Infrastructure (OCI) CLI を使用します。 OCI CLIでマルチパート・アップロードするには事前にバケットを作成し、バケット名(下図の赤四角)とバケットが所属するNamespace(下図の紫角丸四角)が必要です。

マルチパートアップロードにはoci os object putコマンドを使用します。パラメータとして以下を指定します。
- ネームスペースを
-ns - バケット名を
-bn - アップロードするファイルを
--file - オブジェクト・パーツのサイズを
--part-size - 並列度を
--parallel-upload-count
sandbox.7zファイルを20MB ごとにオブジェクト・パーツへ分割し、4並行でアップロードしてみます。
> oci os object put -ns oxxxr -bn Cxxxt --file sandbox.7z --part-size 20 --parallel-upload-count 4
Upload ID: 7xxxxxxe-8xx0-5xxc-fxxb-9xxxxxxxxxxb
Split file into 12 parts for upload.
Uploading object [####################################] 100%
{
"etag": "7xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4",
"last-modified": "Sat, 24 Nov 2018 08:23:19 GMT",
"opc-multipart-md5": "VC+BNIk9Xh3T7+rf9Ss4pQ==-12"
}
実行するとUploading object [------------------------------------] 0%で止まります。アップロードの進捗はパーツごとにしか更新されないようです。
ファイルがアップロードされたことをコンソールで確認してみます。

sandbox.7zファイルが表示されています。