Compress Multiple Files

最終更新日:2025-08-18 15:32:51

このインターフェースは、クラウドストレージプラットフォーム上で指定した複数ファイルのパッケージ化および圧縮機能を提供します。現在、サポートされている圧縮形式はZIPのみです。

リクエスト説明

POST /fmgr/compress
Host: <MgrDomain>
Authorization: <accessToken>

ヘッダー説明

パラメータ 必須 説明
HOST はい 管理ドメイン名(コンソールのバケット概要で取得可能)
Authorization はい 管理クレデンシャル

パラメータ説明

リクエストパラメータは以下の形式で整理され、リクエスト内容として送信されます。

fops=bucket/<Urlsafe_Base64_Encoded_Bucket>/keys/<Urlsafe_Base64_Encoded_key1|Urlsafe_Base64_Encoded_key2|Urlsafe_Base64_Encoded_key3|……>/keyList/<Urlsafe_Base64_Encoded_keyList>/saveas/<Urlsafe_Base64_Encoded(<bucket:filekey>)>&notifyURL=<Urlsafe_Base64_Encoded_notifyUrl>&separate=<Separate>&force=<Force>
パラメータ 必須 説明
fops はい 処理パラメータリスト。上記の形式であり、複数の処理リクエストを同時にサポートします。パラメータリスト同士は ; で区切ります。
bucket はい 圧縮対象ファイルが存在するバケット名。<Urlsafe_Base64_Encoded_bucket>は、指定したバケット名をURLセーフなBase64文字列にエンコードしたものです。
keys はい 圧縮対象ファイルまたはディレクトリ。リソース間は¦で区切ります。
注意:
1. keyListパラメータが存在する場合は、本パラメータを空にすることができます。
2. /で終了するとkey値はディレクトリを示します。
keyList はい 圧縮対象となるファイルまたはディレクトリ情報のインデックスファイルパス。多数のファイル/ディレクトリを圧縮する場合、インデックスファイルに圧縮対象を1行ずつ(URLエンコード不要)記載し、スペースにアップロードします。インデックスファイルのパスを指定することで、その内容に従ったファイル・ディレクトリを圧縮できます。
注意: keysパラメータが存在する場合、本パラメータを空にすることができます。
saveas はい 出力ファイルの保存パス。"space:filename"のURLセーフなBase64エンコード値を設定してください。
notifyURL いいえ 処理結果通知を受け取るURL。通知内容の形式については task query interface . の返却内容を参照してください。
separate いいえ 命令ごとに通知を分けるかどうか。
1と0が指定可能:
1:各命令の実行完了後にnotifyURLへ通知。
0:全命令実行完了後に一度だけnotifyURLへ通知。デフォルトは0です。
force いいえ 強制処理するかどうか。
1:強制的にデータ処理し、既存結果を上書きします。
0:処理結果が既に存在する場合は正常終了とし、リソース消費のため再処理を避けます。デフォルトは0です。

注意事項:

  1. keysパラメータとkeyListパラメータを両方記入した場合は、keysパラメータが優先されます。
  2. 圧縮対象としたファイルまたはディレクトリの一部が存在しない、あるいはディレクトリが空の場合、それらは圧縮対象から除外されます。指定した圧縮ファイルが存在しない場合、圧縮は失敗します。
  3. keyListインデックスファイルの内容形式は、1行ずつ記載(URIエンコード不要、UTF-8エンコード)です。
    例:test/keyList.txt に下記の情報が記載されている場合、圧縮対象ファイルは下記となります。
1.jpg
dir1/
2.jpg
test.jpg
……
指定したkeyListがtest/keyList.txtの場合、1.jpg、dir1/、2.jpg、test.jpg…が圧縮対象ファイルになります。
  1. 圧縮後も元のディレクトリ構造が保持されます。例:test/test1/ディレクトリ内にtest2(空ディレクトリ)と1.jpgファイル、さらにtest3ディレクトリ(2.jpgファイル含む)が存在し、test/test1/ディレクトリをa.zipに圧縮した場合、a.zipを解凍すると下記のディレクトリ構造となります:
test(ディレクトリ)
|---test1(ディレクトリ)
    |---1.jpg(ファイル)
    |---test3(ディレクトリ)
        |---2.jpg
  1. 圧縮対象ファイルが3,000件を超えるか、ファイル合計サイズが50GBを超える場合、圧縮タスクは失敗します。

レスポンス説明

  • リクエストが成功すると、下記内容の Json 文字列が返されます。
{ "persistentId": <persistentId> }
フィールド名 必須 説明
persistentId はい タスクプロセスID。タスク進捗の照会に使用できます。
  • リクエストが失敗した場合、下記内容の Json 文字列が返されます。
{
    "code":     "<code string>",
    "message":  "<ErrMsg string>"
}
フィールド名 必須 説明
code はい HTTPリクエストレスポンスコード。詳細は[ HTTP response status code を参照してください。
message はい リクエスト失敗時のメッセージ

curl -v -X POST -d "fops=bucket/bXlidWNrZXQ=/keys/MS5qcGc=|Mi5qcGc=|My5qcGc=/saveas/bXlidWNrZXQyOjEuemlw;bucket/bXlidWNrZXQ=/keyList/dGVzdC9jb21wcmVzcy50eHQ=/saveas/bXlidWNrZXQyOjIuemlw&notifyURL=aHR0cDovL3Rlc3QuY29tL25vdGlmeVVSbA==&separate=1&force=0" -H "Authorization:86622e227a50d49d858c2494a935bc2e4ac543a7:Y2JmMGY0YTNhZmQxZmVlZGM2ZTA0YTdjNTcyOWQ1NjRkNTExYjg0Yg==" --url "http://mgrDomain/fmgr/compress"