Decompression

最終更新日:2025-08-27 11:19:50

このAPIは、クラウドストレージプラットフォーム内の圧縮ファイルに対して解凍処理(展開処理)を実行するために使用します。解凍が完了すると、クラウドストレージ内に解凍済みファイルの情報を含むリストファイルが自動的に生成されます。本インターフェースを使用するには、wos:ProcessMedia 権限と対象ファイルに対する putObject 権限が必要です。解凍後に元ファイルを削除する設定にした場合は、deleteObject 権限も必要となります。

解凍タスクの作成

リクエスト構文

POST /key?decompression HTTP/1.1      
Host: Bucket.Endpoint
Date: Date
Authorization: Authorization

<?xml version="1.0" encoding="utf-8"?>
<Decompression xmlns="http://wcs.chinanetcenter.com/document">   
  <Config>
    <Param>
      <format>string</format>
      <bucket>string</bucket>
      ...
    </Param>
    <Output>
      <OutputBucket>string</OutputBucket>
      <OutputKey>string</OutputKey>
    </Output>
  </Config>
  <NotifyURL>string</NotifyURL>
  <Force>int</Force>
</Decompression>

リクエストパラメータ

なし

リクエストヘッダー

必要なのは Common Request Headers のみです。

リクエストボディ

リクエストボディには以下のXMLデータを記述します。

要素名 説明 必須
Decompression 解凍設定リストを定義します。
型: XML
子要素: Config, NotifyURL, Force
親要素: なし
Yes
Config 解凍操作を定義します。
型: XML
子要素: Param, Output
親要素: Decompression
Yes
Param 解凍に関する詳細設定を指定します。
型: XML
子要素: format, dir など
親要素: Config
Yes
Output 出力ファイル情報を定義します。
型: XML
子要素: OutputBucket, OutputKey
親要素: Config
Yes
OutputBucket 出力ファイルを保存するバケット名。
型: string
親要素: Output
No
OutputKey 出力ファイル名。UrlEncoded形式で指定。
型: string
親要素: Output
No
NotifyURL 処理結果の通知用URL。UrlEncoded形式で指定。
型: string
親要素: Decompression
No
Force データ処理の強制実行フラグ。デフォルトは0。
選択肢:
0: 処理済み結果が既に存在する場合、システムは再処理せず「file already exists」と返し、無駄なリソース消費を回避します。
1: 強制的に処理を行い、既存ファイルを上書きします。
型: integer
親要素: Decompression
No

レスポンス構文

成功時には以下のレスポンスが返却されます。

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
Date: date
Server: WS-web-server

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DecompressionResult xmlns="http://wcs.chinanetcenter.com/document">
  <Succeed>
    <PersistentId>string</PersistentId>
  </Succeed>
</DecompressionResult>

レスポンスヘッダー

Common Response Headers のみが利用されます。

レスポンス要素

要素名 説明
PersistentId 解凍タスクのID

POST /test.zip?decompression HTTP/1.1
Host: Bucket.Endpoint
Date: Date
Authorization: Authorization

<?xml version="1.0" encoding="utf-8"?>
<Decompression xmlns="http://wcs.chinanetcenter.com/document">
  <Config>
    <Param>
      <format>zip</format>
      <crush>0</crush>
    </Param>
    <Output>
      <OutputBucket>excite</OutputBucket>
      <OutputKey>test.list</OutputKey>
    </Output>
  </Config>
</Decompression>

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
Date: date
Server: WS-web-server

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DecompressionResult xmlns="http://wcs.chinanetcenter.com/document">
  <Succeed>
    <PersistentId>20500a49659******e088b1f736aa2a4</PersistentId>
  </Succeed>
</DecompressionResult>

解凍タスクステータスの照会

このAPIは、クラウドストレージ内の解凍持続タスク(ジョブ)の状態を照会します。wos:GetProcessMediaStatus 権限が必要です。

リクエスト構文

GET /?decompression&persistentId=<persistentId>
Host: Bucket.Endpoint
Date: Date
Authorization: Authorization

リクエストパラメータ

パラメータ名 必須 説明
persistentId Yes 解凍APIから返されるpersistentId

リクエストヘッダー

Common Request Headers のみが必要です。

リクエストボディ

なし

レスポンス構文

HTTP/1.1 StatusCode
Date: Date
Content-Type: type
Content-Length: length
Server: WS-web-server

<?xml version="1.0" encoding="utf-8"?>
<QueryDecompressionResult xmlns="https://wcs.chinanetcenter.com/document">
  <Id>string</Id>
  <CreationTime>string</CreationTime>
  <Input>
    <Bucket>string</Bucket>
    <Key>string</Key>
    <Size>int</Size>
  </Input>
  <Item>
    <Cmd>string</Cmd>
    <Code>int</Code>
    <Desc>string</Desc>
    <CostTime>int</CostTime>
    <Error>string</Error>
    <Output>
      <OutputBucket>string</OutputBucket>
      <OutputKey>string</OutputKey>
      <Size>int</Size>
    </Output>
  </Item>
</QueryDecompressionResult>

レスポンスヘッダー

Common Response Headers のみが利用されます。

Request Example:
GET /?decompression&persistentId=20500a496******b1f736aa2a4
Host: Bucket.Endpoint
Date: Date
Authorization: Authorization

Response Example
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
Date: date
Server: WS-web-server

<?xml version="1.0" encoding="utf-8"?>
<QueryDecompressionResult xmlns="https://wcs.chinanetcenter.com/document">
  <Id>20500a496******b1f736aa2a4</Id>
  <CreationTime>2019-05-16T03:16:05Z</CreationTime>
  <Input>
    <Bucket>sweet</Bucket>
    <Key>happy%2Ftest.zip</Key>
    <Size>1000</Size>
  </Input>
  <Item>
    <Cmd>decompression/zip</Cmd>
    <Code>3</Code>
    <CostTime>0</CostTime>
    <Desc>finish</Desc>
    <Error>null</Error>
    <Output>
      <OutputBucket>excite</OutputBucket>
      <OutputKey>test.list</OutputKey>
      <Size>2000</Size>
    </Output>
  </Item>
</QueryDecompressionResult>

解凍通知データの説明

通知データは下記の形式で送信されます。

<?xml version="1.0" encoding="utf-8"?>
<NotifyBody xmlns="https://wcs.chinanetcenter.com/document">
  <Id>string</Id>
  <CreatTime>string</CreatTime>
  <Input>
    <Bucket>string</Bucket>
    <Key>string</Key>
    <Size>int</Size>
  </Input>
  <Item>
    <Cmd>string</Cmd>
    <Code>int</Code>
    <Desc>string</Desc>
    <CostTime>int</CostTime>
    <Error>string</Error>
    <Output>
      <OutputBucket>string</OutputBucket>
      <OutputKey>string</OutputKey>
      <Size>int</Size>
      <Hash>string</Hash>
    </Output>
  </Item>
</NotifyBody>

パラメータ説明

パラメータ名 説明
NotifyBody 持続処理の結果データ。型: XML
Id インターフェースから返された persistentId。型: string。親: NotifyBody
CreationTime タスク作成時刻(yyyymmddhhmmss 形式)。型: string。親: NotifyBody
Input 対象ファイル情報。型: XML。親: NotifyBody。子: Bucket, Key, Size
Bucket 対象ファイルのバケット名。型: string。親: Input
Key 対象ファイル名(URLエンコード)。型: string。親: Input
Size (Input) 対象ファイルサイズ。型: integer。親: Input
Item 解凍処理のステータス情報。型: XML。親: NotifyBody
Cmd 操作コマンド(ops)。型: string。親: Item
Code ステータスコード。失敗は2、成功は3。型: integer。親: Item
Desc ステータスコードの詳細説明。型: string。親: Item
CostTime 持続処理の消費時間。特別な場合を除き通常0。型: integer。親: Item
Error 失敗時の原因詳細。型: string。親: Item
Output 処理済みファイル情報。型: XML。親: Item
OutputBucket 処理済みファイルのバケット名。型: string。親: Output
OutputKey 処理済みファイル名(URLエンコード)。型: string。親: Output
Size (Output) 処理済みファイルサイズ。型: integer。親: Output
Hash 処理結果のハッシュ値。型: string。親: Output

解凍パラメータの詳細

パラメータ 必須 説明
bucket No 解凍ファイルを指定したバケットに保存します。
crush No 解凍後の処理:
2 - 圧縮ファイルを削除し、リストファイルは作成しない
1 - 圧縮ファイルを削除し、リストファイルは残す
0 - 両方とも残す
format Yes 圧縮ファイルのフォーマット(zip、tar、gzip、7z、rar をサポート)
p No 展開パスワード。RSA暗号化する必要があります。
1. 利用者自身でRSA鍵ペアを用意し、公開鍵をオブジェクトストレージへ共有してください。
prefix No 解凍対象ファイルの保存先パスを指定(URLエンコード 必要)。省略時はアーカイブと同じディレクトリ内に展開されます。

注意: 元ファイルを削除する場合は、deleteObject 権限が必要です。