ossutil の cp コマンドを使用して、ローカルファイルを OSS にアップロードします。このコマンドは、大容量ファイルのアップロードもサポートしています。
注意事項
ファイルをアップロードするには、
oss:PutObject、oss:ListParts、およびoss:AbortMultipartUpload権限が必要です。詳細については、「RAM ユーザーへのカスタムポリシーの追加」をご参照ください。バッチアップロードは、ソースがディレクトリである場合のみサポートされます。
-u, --updateオプションを使用すると、送信先ファイルの有無に関わらず、各ファイルに対して少なくとも 1 回の HEAD リクエストが実行され、比較処理が行われます。データの変更頻度が低い場合、多数の非効率なリクエストが発生し、パフォーマンス低下やコスト増加を招く可能性があります。このオプションを使用する際は、不要なリソース消費を避けるため、業務要件を十分に検討してください。
コマンド構文
ossutil cp source dest [flags]パラメーター | 型 | 説明 |
source | string | ローカルファイルのパスです。相対パス、絶対パス、または |
dest | string | 送信先オブジェクトのパスで、 |
--acl | string | オブジェクトのアクセス制御リスト (ACL) です。有効な値は以下のとおりです。
|
--bandwidth-limit | SizeSuffix | データ転送レートの制限値です。最小値は 1024 B/s です。デフォルト単位は B/s です。 帯域幅値に単位を明示的に指定できます(例:B(バイト)、K(キロバイト)、M(メガバイト)、G(ギガバイト))。たとえば、50M は 50 MB/s の帯域幅制限を意味します。 |
--bigfile-threshold | SizeSuffix | マルチパートアップロード、ダウンロード、またはコピーを開始するファイルサイズのしきい値です。デフォルト値は 104857600 バイト(100 MiB)です。 |
--cache-control | string | ブラウザなどのクライアントがオブジェクトをどのようにキャッシュするかを指定します。 |
--content-disposition | string | オブジェクトをインライン表示するか、添付ファイルとしてダウンロードするかを指定します。 |
--content-encoding | string | オブジェクトのコンテンツエンコーディングを指定します。 |
--content-type | string | オブジェクトのコンテンツタイプです。 |
--copy-props | string | ソースオブジェクトからコピーするプロパティを指定します。有効な値は以下のとおりです。
|
--checkpoint-dir | string |
|
-d, --dirs | string | ディレクトリをコピーする場合、このオプションを指定すると、ソースディレクトリの最上位レベルにあるファイルのみがコピーされ、サブディレクトリは無視されます。 |
--encoding-type | string | 入力オブジェクト名またはファイル名のエンコーディング方式です。有効な値は |
--end-with | string | 指定した文字列で終わるファイル名のみを含めます。 |
--exclude | stringArray | パスまたはファイル名に対する除外ルールです。 |
--exclude-from | stringArray | ルールファイルから除外ルールを読み込みます。 |
--expires | stringArray | キャッシュされたコンテンツの絶対的な有効期限を指定します。 |
--files-from | stringArray | ファイルからソースファイル名の一覧を読み込み、空行およびコメント行は無視します。このオプションはフィルタリング専用です。 |
--files-from-raw | stringArray | ファイルからソースファイル名の一覧を読み込みます。このオプションはフィルタリング専用です。 |
--filter | stringArray | パスまたはファイル名に対するフィルタリングルールです。 |
--filter-from | stringArray | ルールファイルからフィルタリングルールを読み込みます。 |
-f, --force | / | 確認プロンプトを表示せずに操作を強制実行します。 |
--include | stringArray | パスまたはファイル名の包含ルール。 説明 フィルター オプションについて詳しくは、「フィルター オプション」をご参照ください。 |
--include-from | stringArray | ルールファイルから包含ルールを読み込みます。 |
-j, --job | int | 同時 アップロードタスクの数。デフォルト値: 3。 説明 このオプションは、 |
--listObjects | / | ListObjects API オペレーションを使用してオブジェクトを一覧表示します。 |
--max-size | SizeSuffix | 転送対象となるファイルの最大サイズです。デフォルト単位はバイトですが、B、K、M、G、T、P などの接尾辞を指定できます。1 K(KiB)= 1024 B です。 |
--metadata | strings | キー=値の形式でオブジェクトのユーザーメタデータを指定します。 |
--metadata-directive | string | 送信先オブジェクトのメタデータの設定方法を指定します。有効な値は以下のとおりです。
|
--metadata-exclude | stringArray | オブジェクトのメタデータに対する除外ルールです。 |
--metadata-filter | stringArray | オブジェクトのメタデータに対するフィルタリングルールです。 |
--metadata-filter-from | stringArray | ルールファイルからオブジェクトのメタデータフィルタリングルールを読み込みます。 |
--metadata-include | stringArray | オブジェクトのメタデータに対する包含ルールです。 |
--min-age | Duration | 指定された時間間隔以上前に変更されたファイルのみをアップロードします。デフォルトの単位は秒です。1 時間を意味する「1h」などの単位接尾辞を使用できます。 説明
|
--max-age | Duration | 指定された時間間隔内に変更されたファイルのみをアップロードします。デフォルトの単位は秒です。単位接尾辞(例:1h(1 時間))を使用できます。 説明
|
--min-mtime | Time | 指定された時刻以降に変更されたファイルのみをアップロードします。時刻は協定世界時 (UTC) 形式である必要があります。例: 2006-01-02T15:04:05。 説明
|
--max-mtime | Time | 指定時刻以前に変更されたファイルのみをアップロードします。時刻は UTC 形式で指定する必要があります(例:2006-01-02T15:04:05)。 |
--min-size | SizeSuffix | 転送対象となるファイルの最小サイズです。デフォルト単位はバイトですが、B、K、M、G、T、P などの接尾辞を指定できます。1 K(KiB)= 1024 B です。 |
--no-progress | / | 進行状況バーを無効化します。 |
--page-size | int | バッチアップロード時のページ分割リクエストで、1 回のリクエストで一覧表示するオブジェクトの最大数です。値の範囲は 1~1,000 です。デフォルト値は 1000 です。 |
--parallel | int | 単一の大きなファイルの場合、同時にアップロードするパート数を設定します。 |
--part-size | SizeSuffix | マルチパートアップロードにおける各パートのサイズです。デフォルトでは、ossutil がファイルサイズに基づいて最適なパートサイズを自動計算します。値の範囲は 100 KiB~5 GiB です。 |
-r, --recursive | / | ディレクトリをアップロードする場合、すべてのファイルおよびサブディレクトリを再帰的にアップロードするには、このオプションを指定する必要があります。 |
--request-payer | string | リクエストの支払者を指定します。送信先バケットで「Requester Pays」モードが有効になっている場合は、 |
--size-only | / | 送信先ファイルとサイズが異なるソースファイルのみをアップロードします。 |
--storage-class | string | オブジェクトのストレージクラスです。有効な値は以下のとおりです。
|
--tagging | strings | キー=値の形式でオブジェクトのタグを指定します。複数のタグを追加するには、このオプションを複数回指定できます。 |
--tagging-directive | string | 送信先オブジェクトのタグの設定方法を指定します。有効な値は以下のとおりです。
|
-u, --update | / | ソースファイルが送信先ファイルより新しい場合、または送信先ファイルが存在しない場合にのみ、ファイルをアップロードします。 説明 送信先ファイルの最終更新時間がソースファイルと同じ場合、そのファイルは再アップロードされます。 |
--ignore-existing | / | 既に存在する送信先ファイルをスキップします。 |
詳細については、「コマンドライン オプション」をご参照ください。
送信先オブジェクトの名前は、以下のルールに基づいて決定されます。
単一ファイルをアップロードし、プレフィックスが空の場合、オブジェクト名はソースファイル名と同じになります。
単一ファイルをアップロードし、プレフィックスがスラッシュ(/)で終わる場合、オブジェクト名は
prefix+ ソースファイル名になります。複数ファイルをアップロードし、プレフィックスが空の場合、オブジェクト名はソースファイルの相対パスになります。
複数ファイルをアップロードし、プレフィックスがスラッシュ(/)で終わる場合、オブジェクト名は
prefix+ ソースファイルの相対パスになります。複数ファイルをアップロードし、プレフィックスがスラッシュ(/)で終わらない場合、オブジェクト名は
prefix+ / + ソースファイルの相対パスになります。
相対パスとは、コマンドで指定されたソースディレクトリ以降のファイルパスの部分を指します。たとえば、コマンド ossutil cp -r /root/dir/ oss://... の場合、/root/dir/subdir/test.txt の相対パスは subdir/test.txt です。
使用例
単一ファイルのアップロード
単一ファイルのアップロード
ローカルファイル
examplefile.txtを、examplebucketバケット内のdesfolder/ディレクトリにアップロードします。ossutil cp D:/localpath/examplefile.txt oss://examplebucket/desfolder/
複数ファイルのアップロード
ディレクトリ内のすべてのファイルをアップロード
ローカルディレクトリ
localfolder/内のすべてのファイルを、examplebucketバケット内のdesfolder/ディレクトリに再帰的にアップロードします。ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/特定の条件に一致するファイルをバッチアップロード
.txt 拡張子を持つファイルのみを再帰的にアップロードします。
ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/ --include "*.txt"10 個の同時タスクを使用したバッチアップロード
ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/ -f -j 10
アップロード速度の制限
ローカルファイル
upload.rarをexamplebucketバケット内のdesfolder/ディレクトリにアップロードし、アップロード速度を 20 MB/s に制限します。帯域幅制限はバイト毎秒(B/s)で指定されています。ossutil cp D:/upload.rar oss://examplebucket/desfolder/ --bandwidth-limit 20971520ローカルファイル
file.rarをexamplebucketバケット内のdesfolder/ディレクトリにアップロードし、アップロード速度を 50 MB/s に制限します。帯域幅制限の単位は MB/s として明示されています。ossutil cp D:/file.rar oss://examplebucket/desfolder/ --bandwidth-limit 50M