---
schema_version: "1"
id: 19b7e27a213f7e70fcaa43109e19873df3859fe1302b919cf69299fd4dd0652c
title: ファイルのアーカイブと抽出
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/compression-module/latest/compression-module-archive-extract.md
canonical_url: https://docs.mulesoft.com/jp/compression-module/latest/compression-module-archive-extract
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 4c93f71427df37a869045981243120a02d4310e7728249659ec694628419a997
description: MuleSoft Documentation Site
release: "2.2"
latest: true
---
# ファイルのアーカイブと抽出

Compression Module では、一連のエントリを新しいアーカイブファイルに圧縮できる ​**Archive**​ 操作と、アーカイブファイルを表すコンテンツを圧縮解除できる ​**Extract**​ 操作が提供されます。

## [](#archive-操作の設定)Archive 操作の設定

入力ストリームペイロードを指定すると、​**Archive**​ 操作では、すべてのペイロードエントリを Zip 形式の新しいアーカイブファイルに圧縮できます。この操作では、圧縮する値を特定するマップを受け取ります。その後、各エントリを受け取ります。各エントリは、DataWeave 式で指定したエントリ名を持つ圧縮されたアーカイブファイル内に配置されます。

1. Studio で、​**Archive**​ 操作をフローにドラッグします。
2. 圧縮するエントリの各名前をキーとして定義し、そのエントリのコンテンツをその値として定義する DataWeave スクリプトに ​**\[Entries (エントリ)\]**​ を設定します。たとえば、次のように定義します。
    
    ```dataweave
    {
             summary.pdf: vars.summary,
             'details/result_001.pdf': vars.file1
             'details/result_002.pdf': vars.file2
           }
    ```

![Compression Archive 操作の設定](/mulesoft/current/ja-jp/compression-module/latest/_images/compression-archive-operation.png)

**設定 XML**​ エディターでは、設定は次のように記述されます。

```xml
<compression:archive>
   <compression:entries>
    #[
       {
         summary.pdf: vars.summary,
         'details/result_001.pdf': vars.file1
         'details/result_002.pdf': vars.file2
       }
     ]
   </compression:entries>
   <compression:archiver>
       <compression:zip-archiver/>
   </compression:archiver>
</compression:archive>
```

結果のアーカイブには 3 つのエントリが含まれます。ルートレベルで配置されている ​`summary.pdf`​ と、​`details`​ ディレクトリに配置されている ​`result_001.pdf`​ および ​`result_002.pdf`​ です。

```none
+- content.zip
|  \- summary.pdf
|  \+ details
   |  \- result_001.pdf
   |  \- result_002.pdf
```

`details/result_001.pdf`​ など、エントリの名前の中にあるスラッシュ ​`/`​ はディレクトリの分離を示します。すべての名前が調べられ、アーカイブ内のディレクトリが作成されます。

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">DataWeave 式を使用して ​<strong>Archive</strong>​ 操作への入力を作成する場合、DataWeave 式で、Java マップオブジェクトをビルドするために使用するオブジェクトを出力する必要があります。アーカイブにオブジェクト全体を追加するための一意のキーを定義します。</td></tr></tbody></table>

## [](#zip64-アーカイブツール戦略の設定)ZIP64 アーカイブツール戦略の設定

アーカイブツール戦略では、複数のエントリを 1 つのアーカイブに圧縮します。Zip アーカイブツール戦略では、Zip 形式を使用してコンテンツを圧縮する必要があることが宣言されます。Studio では ​**\[Archiver (アーカイブツール)\]**​ 項目はデフォルトで設定されます。4 GB を超えるファイルとバイト配列をアーカイブするには、​**\[Force ZIP64 (ZIP64 を強制)\]**​ 項目を選択します。

1. Studio で、フローから ​**\[Archive\]**​ 操作を選択します。
2. **\[Entries (エントリ)\]**​ 項目を、たとえば、次のような式に設定します。
    
    ```DataWeave
    output application/java
    ---
    (0 to sizeOf(payload) - 1) as Array
    reduce (index, acc={}) ->
    acc ++ { (payload[index].attributes.fileName): payload[index].payload}
    ```

1. **\[Force ZIP64 (ZIP64 を強制)\]**​ を選択します。

![選択されている \[Force ZIP64 (ZIP64 を強制)\] 項目](_images/compression-zip64-archiver.png)

**\[Configuration XML (設定 XML)\]**​ エディターで、​`zip-archiver`​ および ​`forceZip64`​ の設定は次のように記述されます。

```xml
<compression:archive doc:name="Archive">
<compression:entries>
<![CDATA[#[output application/java
---
(0 to sizeOf(payload) - 1) as Array
reduce (index, acc={}) ->
acc ++ { (payload[index].attributes.fileName): payload[index].payload}]]]>
</compression:entries>
<compression:archiver>
<compression:zip-archiver forceZip64="true"/>
</compression:archiver>
</compression:archive>
```

## [](#extract-操作の設定)Extract 操作の設定

**Extract**​ 操作では、いずれかの圧縮形式でアーカイブを表しているコンテンツを圧縮解除できます。アーカイブファイルのエントリはオブジェクトとして返され、各オブジェクトにはそのエントリ名でアクセスできます。

1. Studio で、フローから ​**\[Extract\]**​ 操作を選択します。
2. **\[Compressed (圧縮済み)\]**​ 項目を ​`vars.archive`​ に設定します。

![Compression Extract 操作の設定](/mulesoft/current/ja-jp/compression-module/latest/_images/compression-extract-operation.png)

**設定 XML**​ エディターでは、設定は次のように記述されます。

```xml
<compression:extract>
    <compression:compressed>#[vars.archive]</compression:compressed>
    <compression:extractor>
        <compression:zip-extractor/>
    </compression:extractor>
</compression:extract>
```

ここでは、次の構造を含む 3 つのエントリが含まれるアーカイブを圧縮解除するとします。

```none
+- Archive
|  \- summary.pdf
|  \+ details
   |  \- result_001.pdf
   |  \- result_002.pdf
```

この場合、各エントリの抽出したコンテンツに ​`payload['summary.pdf']`​ または ​`payload.details['result_001.pdf']`​ を使用してアクセスできます。

## [](#zip-抽出ツール戦略の設定)Zip 抽出ツール戦略の設定

抽出ツール戦略では、特定の形式で圧縮されている複数のエントリを含むアーカイブを圧縮解除します。 Zip アーカイブ戦略では、Zip 形式を使用してコンテンツを抽出する必要があることが宣言されます。Studio では ​**\[Extractor (抽出ツール)\]**​ 項目はデフォルトで設定されます。

![選択されている \[Force ZIP64 (ZIP64 を強制)\] 項目](_images/compression-zip64-archiver.png)

**設定 XML**​ エディターでは、設定は次のように記述されます。

```xml
<compression:zip-archiver/>
```

## [](#関連情報)関連情報

- [Compression Module リファレンス](https://docs.mulesoft.com/jp/compression-module/latest/compression-documentation)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)