# mulesoft Compression Module - Full Documentation # Anypoint Studio を使用した Compression Module 2.2 の設定 Anypoint Studio (Studio) エディターは、Mule アプリケーション、プロパティ、および設定ファイルの設計と更新に役立ちます。 Studio でコネクタを追加および設定する手順は、次のとおりです。 1. [Mule プロジェクトを作成します](#create-mule-project)​。 2. [コネクタを Mule プロジェクトに追加します](#add-connector-to-project)​。 3. [コネクタのフローのソースを設定します](#configure-source)​。 4. [フローにコネクタの操作を追加します](#add-connector-operation)​。 [「アプリケーションログの表示」](#view-app-log)​で説明されているように、コネクタを実行するときに、リアルタイムでアプリケーションログを表示して問題を確認できます。 Studio で初めてコネクタを設定する場合は、​[「Anypoint Studio を使用したコネクタの設定」](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio)​を参照してください。このトピックを参照した後、コネクタ項目についての詳細情報が必要な場合は、​[「Compression Module リファレンス」](https://docs.mulesoft.com/jp/compression-module/latest/compression-documentation)​を参照してください。 ## [](#create-mule-project)Mule プロジェクトを作成する Studio で、コネクタを追加および設定する新しい Mule プロジェクトを作成します。 1. Studio で、​**\[File (ファイル)\] > \[New (新規)\] > \[Mule Project (Mule プロジェクト)\]**​ を選択します。 2. Mule プロジェクトの名前を入力して、​**\[Finish (完了)\]**​ をクリックします。 ## [](#add-connector-to-project)コネクタを Mule プロジェクトに追加する Compression Module を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​`pom.xml`​ ファイルに必須の連動関係を追加します。 1. **\[Mule Palette (Mule パレット)\]**​ で、​**\[(X) Search in Exchange ((X) Exchange 内を検索)\]**​ をクリックします。 2. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ で、検索項目に「​`connector-template-files`​」と入力します。 3. **\[Available modules (使用可能なモジュール)\]**​ で \[Compression Module\] をクリックします。 4. **\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。 ## [](#configure-source)ソースの設定 ソースは、指定された条件が満たされたときにフローを開始します。 次のソースのいずれかを Compression Module で使用するように設定できます。 - HTTP Listener (HTTP リスナー) 設定されたホストとポートで要求を受信するたびにフローを開始する - スケジューラー 時間ベースの条件が満たされたときにフローを開始する たとえば、HTTP Listener ソースを設定する手順は、次のとおりです。 1. **\[Mule Palette (Mule パレット)\]**​ で、​**\[HTTP\] > \[Listener\]**​ を選択します。 2. **\[Listener\]**​ を Studio キャンバスにドラッグします。 3. **\[Listener (リスナー)\]**​ 設定画面で、必要に応じて ​**\[Display Name (表示名)\]**​ 項目の値を変更します。 4. **\[Path (パス)\]**​ 項目の値を指定します。 5. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (​**+**​) をクリックして、アプリケーション内の HTTP Listener ソースのすべてのインスタンスで使用できるグローバル要素を設定します。 6. **\[General (一般)\]**​ タブで、コネクタの接続情報を指定します。 7. **\[TLS\]**​ タブで、必要に応じてコネクタの TLS 情報を指定します。 8. **\[Advanced (詳細)\]**​ タブで、必要に応じて再接続戦略を含む再接続情報を指定します。 9. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule が指定されたサーバーに接続できることを確認します。 10. **\[OK\]**​ をクリックします。 ## [](#add-connector-operation)フローにコネクタの操作を追加する フローにコネクタの操作を追加するときは、そのコネクタで実行するアクションを指定しています。 Compression Module の操作を追加する手順は、次のとおりです。 1. **\[Mule Palette (Mule パレット)\]**​ で ​**\[Compression (圧縮)\]**​ を選択し、目的の操作を選択します。 2. その操作を Studio キャンバスの入力元の横にドラッグします。 ![Mule パレットでの Compression Module の操作](/mulesoft/current/ja-jp/compression-module/latest/_images/compression-module-operations.png) ## [](#view-app-log)アプリケーションログの表示 問題を確認するため、アプリケーションログを次の方法で表示できます。 - アプリケーションを Anypoint Platform から実行している場合、アプリケーションログ出力は Anypoint Studio のコンソールウィンドウに表示されます。 - コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログ出力はオペレーティングシステムのコンソールに表示されます。 アプリケーションのログファイル (​`log4j2.xml`​) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 ​`MULE_HOME/logs/.log`​ でアプリケーションログにアクセスすることもできます。ログパスは、アプリケーションログファイル ​`log4j2.xml`​ で設定できます。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Anypoint Studio を使用したコネクタの設定](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [Compression Module リファレンス](https://docs.mulesoft.com/jp/compression-module/latest/compression-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Compression Module Compression Module v2.1 Compression Module では、最もよく使用されるファイルアーカイブツールと圧縮形式がサポートされ、Mule アプリケーションを介してそれらへのアクセスが提供されます。 ファイルアーカイブツールは、複数のファイルを 1 つのアーカイブファイルに結合してトランスポートや保存を容易にするコンピュータープログラムです。ほとんどのアーカイブツールはそのアーカイブ形式のデータ圧縮を使用して最終アーカイブのサイズを削減します。ただし、すべての圧縮アルゴリズムが複数のファイルをアーカイブできるとは限りません。一部の圧縮アルゴリズムは、単一ファイルのデータ圧縮に制限されます。 このモジュールでは、使用可能な各形式のファイルを、各形式に関連付けられたアルゴリズムにより提供される機能を失わずに、圧縮および圧縮解除します。 この機能を果たすため、このモジュールでは 2 組の操作が提供されます。1 つは、単一ファイルの圧縮と圧縮解除、もう 1 つは、ファイルのバンドルのアーカイブと抽出です。必要に応じて圧縮またはアーカイブ戦略を使用して、この各操作を設定できます。 リリースノート: [Compression Module リリースノート](https://docs.mulesoft.com/jp/release-notes/mule-runtime/module-compression)​ Exchange: [Compression Module](https://www.mulesoft.com/exchange/org.mule.modules/mule-compression-module/) ## [](#単一ファイルの圧縮と圧縮解除)単一ファイルの圧縮と圧縮解除 ### [](#コンテンツの圧縮)コンテンツの圧縮 入力ストリームが提供されると、モジュールはストリームを圧縮して新しい圧縮されたビットストリームを返します。これで、そのストリームをファイルシステムに保存したり、別のシステムに転送したりできます。 #### [](#圧縮ツール戦略)圧縮ツール戦略 圧縮ツール戦略では、ファイルまたは単一エントリアーカイブを圧縮できます。 ##### [](#gzip-圧縮ツール戦略)GZip 圧縮ツール戦略 操作でこの戦略を使用した場合、コンテンツを ​`gzip`​ 形式で圧縮する必要があることが宣言されます。 ```xml ``` ##### [](#zip-圧縮ツール戦略)Zip 圧縮ツール戦略 操作でこの戦略を使用した場合、コンテンツを ​`zip`​ 形式で圧縮する必要があることが宣言されます。 ```xml ``` #### [](#compress-操作)Compress 操作 ```xml #[payload.data] (1) (2) ```
1圧縮する ​InputStream​。デフォルトは ​#[payload]​ です。
2使用する圧縮ツール戦略。
#### [](#圧縮エラー)圧縮エラー コンテンツの圧縮中にエラーが発生した場合、​`COMPRESSION:COULD_NOT_COMPRESS`​ エラーがスローされます。 ## [](#コンテンツの圧縮解除)コンテンツの圧縮解除 指定された圧縮形式のアーカイブであるとみなされる圧縮された単一エントリコンテンツを圧縮解除します。 ### [](#圧縮解除ツール戦略)圧縮解除ツール戦略 圧縮解除ツール戦略では、ファイルまたは単一エントリアーカイブの圧縮解除方法が認識されています。 #### [](#gzip-圧縮解除ツール戦略)GZip 圧縮解除ツール戦略 操作でこの戦略を使用した場合、コンテンツを ​`gzip`​ 形式で圧縮解除する必要があることが宣言されます。 ```xml ``` #### [](#zip-圧縮解除ツール戦略)Zip 圧縮解除ツール戦略 操作でこの戦略を使用した場合、コンテンツを ​`zip`​ 形式で圧縮解除する必要があることが宣言されます。 ```xml ``` ### [](#decompress-操作)Decompress 操作 ```xml #[payload] (1) (2) ```
1圧縮解除する ​InputStream​。デフォルトは ​#[payload]​ です。
2使用する圧縮解除ツール戦略。
#### [](#圧縮解除エラー)圧縮解除エラー 提供されたコンテンツが、設定された戦略の形式に一致しない場合、​`COMPRESSION:INVALID_ARCHIVE`​ エラーがスローされます。 圧縮解除するアーカイブに複数のエントリが含まれる場合、この操作は ​`COMPRESSION:TOO_MANY_ENTRIES`​ エラーで失敗します。返す 1 つのエントリのみを選択できないためです。この場合、Extract 操作を使用する必要があります。 ## [](#複数のエントリのアーカイブと抽出)複数のエントリのアーカイブと抽出 ### [](#archive)Archive ``​ のマップが提供されると、アーカイブプロセスにより、提供されたすべてのエントリが 1 つの新しいアーカイブに、設定された形式で圧縮されます。 #### [](#アーカイブツール戦略)アーカイブツール戦略 アーカイブツール戦略の目的は、複数のエントリを 1 つのアーカイブに圧縮することです。 ##### [](#zip-アーカイブツール戦略)Zip アーカイブツール戦略 操作で Zip アーカイブツール戦略を使用した場合、コンテンツを ​`zip`​ 形式で圧縮する必要があることが宣言されます。 ```xml ``` ### [](#archive-操作)Archive 操作 この操作では、圧縮するエントリとその値を特定するマップを受け取ります。この操作に渡された各エントリは、指定された名前を持つ圧縮されたアーカイブ内に配置されます。 ```xml (1) #[ { summary.pdf: vars.summary, 'details/result_001.pdf': vars.file1 'details/result_002.pdf': vars.file2 } ] (2) ```
1圧縮するエントリの各名前をキーとして定義し、そのエントリのコンテンツを値として定義する DataWeave スクリプト。
2使用するアーカイブツール戦略。
結果のアーカイブには ​_3 つのエントリ_​が含まれます。1 つはルートレベルの ​`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`​ など) はディレクトリの分離を示します。これにより、アーカイブ内でディレクトリを作成するすべての名前が調べられます。
DataWeave 式を使用して Archive 操作への入力を作成する場合、DataWeave 式で、Java Map オブジェクトをビルドするために使用するオブジェクトを出力する必要があります。各キーは、アーカイブに追加するオブジェクト全体で一意である必要があります。
#### [](#アーカイブエラー)アーカイブエラー コンテンツの圧縮中に問題が発生した場合、​`COMPRESSION:COULD_NOT_COMPRESS`​ エラーがスローされます。 ## [](#extract)Extract いずれかの圧縮形式でアーカイブを表しているコンテンツを圧縮解除します。 ### [](#抽出ツール戦略)抽出ツール戦略 抽出ツール戦略では、特定の形式で圧縮されている複数のエントリを含むアーカイブを圧縮解除できます。 #### [](#zip-戦略)Zip 戦略 操作でこの戦略を使用した場合、コンテンツを ​`zip`​ 形式で抽出する必要があることが宣言されます。 ```xml ``` ### [](#extract-操作)Extract 操作 ```xml #[vars.archive] (1) (2) ```
1抽出する圧縮済みコンテンツ。デフォルトは ​#[payload]​ です。
2このアーカイブのエントリはオブジェクトとして返され、各オブジェクトにはその名前でアクセスできます。たとえば、次の構造を持つ 3 つのエントリを含むアーカイブが圧縮解除されたとします。
```none +- Archive | \- summary.pdf | \+ details | \- result_001.pdf | \- result_002.pdf ``` この場合、各エントリの抽出したコンテンツに ​`payload['summary.pdf']`​ または ​`payload.details['result_001.pdf']`​ のようにアクセスできます。 #### [](#アーカイブおよび抽出ツールの例)アーカイブおよび抽出ツールの例 この例では、input という名前のフォルダーからすべてのファイルを読み取り、キーをファイル名、値を読み取られたファイルの値に設定してオブジェクトを作成することで圧縮されたアーカイブを作成します。次にアーカイブを抽出します。その後、For-Each スコープは抽出された各キー/値を反復処理し、キーを新しいファイル名、値を対応するファイルの抽出されたコンテンツとしてファイルを新しい出力フォルダーに書き込みます。 ```xml ``` #### [](#抽出ツールエラー)抽出ツールエラー コンテンツが、設定された形式ではない場合、​`COMPRESSION:INVALID_ARCHIVE`​ エラーがスローされます。圧縮プロセス中にその他のエラーが発生した場合、操作で ​`COMPRESSION:COULD_NOT_DECOMPRESS`​ エラーがスローされます。 ## [](#一般的なユースケース)一般的なユースケース ### [](#ファイルの圧縮)ファイルの圧縮 次の例では、ファイルを読み取り、圧縮して、保存します。 ```xml ``` ### [](#リモートサービスからのペイロードの圧縮解除)リモートサービスからのペイロードの圧縮解除 次の例では、Zip ファイルを返して圧縮解除するサーバーを呼び出します。 ```xml #[payload.body.zipContent] ``` ## [](#関連情報)関連情報 - [Compression Module リファレンス](https://docs.mulesoft.com/jp/compression-module/2.1/compression-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Compression Module Compression Module v2.2 Compression Module では、最もよく使用されるファイルアーカイブツールと圧縮形式がサポートされ、Mule アプリケーションを介してそれらへのアクセスが提供されます。 ファイルアーカイブツールは、複数のファイルを 1 つのアーカイブファイルに結合してトランスポートや保存を容易にするコンピュータープログラムです。ほとんどのアーカイブツールはそのアーカイブ形式のデータ圧縮を使用して最終アーカイブのサイズを削減します。ただし、すべての圧縮アルゴリズムが複数のファイルをアーカイブできるとは限りません。一部の圧縮アルゴリズムは、単一ファイルのデータ圧縮に制限されます。 このモジュールでは、使用可能な各形式のファイルを、各形式に関連付けられたアルゴリズムにより提供される機能を失わずに、圧縮および圧縮解除します。 この機能を果たすため、このモジュールでは ​**Compress**​ 操作と ​**Decompress**​ 操作が提供され、これらを使用して、単一ファイルの圧縮と圧縮解除ができます。また、ファイルのアーカイブと抽出を行う ​**Archive**​ 操作と ​**Extract**​ 操作も提供されます。必要に応じて圧縮またはアーカイブ戦略を使用して、これらの操作を設定できます。 ## [](#始める前に)始める前に このコネクタを使用するには、以下に精通している必要があります。 - Anypoint Connector - Mule Runtime Engine (Mule) - Mule フローの要素とグローバル要素 - Anypoint Studio を使用した Mule アプリケーションの作成方法 アプリケーションを作成するには、Anypoint Platform および Anypoint Studio へのアクセスが必要です。 ## [](#コネクタの一般的なユースケース)コネクタの一般的なユースケース Compression Module の一般的なユースケースを次に挙げます。 - リモートサービスからのファイルのペイロードを圧縮および圧縮解除します。 - ファイルフォルダーとの間でファイルのアーカイブと抽出を行います。 これらのユースケースの例については、​[「Compression Module の例」](https://docs.mulesoft.com/jp/compression-module/latest/compression-module-examples)​を参照してください。 ## [](#次のステップ)次のステップ 前提条件を満たしたら、​[Anypoint Studio](https://docs.mulesoft.com/jp/compression-module/latest/compression-module-studio-configuration)​ でアプリケーションを作成してコネクタを設定できます。 ## [](#関連情報)関連情報 - [ファイルのアーカイブと抽出](https://docs.mulesoft.com/jp/compression-module/latest/compression-module-archive-extract) - [単一ファイルの圧縮と圧縮解除](https://docs.mulesoft.com/jp/compression-module/latest/compression-module-compress-decompress) - [Compression Module リファレンス](https://docs.mulesoft.com/jp/compression-module/latest/compression-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Compression Module の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションでコネクタにアクセスできます。 コネクタを Studio に追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力します。さらに、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/compression http://www.mulesoft.org/schema/mule/compression/current/mule-compression.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml org.mule.modules mule-compression-module x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`compression`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Compression Module の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションでコネクタにアクセスできます。 コネクタを Studio に追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力します。さらに、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/compression http://www.mulesoft.org/schema/mule/compression/current/mule-compression.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml org.mule.modules mule-compression-module x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`compression`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Compression Module のトラブルシューティング Compression Module のトラブルシューティングを行うには、冗長ログを有効化する方法と一般的なスローメッセージを解釈する方法をよく理解しておきます。 ## [](#冗長ログの有効化)冗長ログの有効化 アプリケーションと Compression Module のやりとりが失敗する理由の理解を深めるには、モジュールの冗長ログを一時的に有効にします。 Mule アプリケーションのパフォーマンスに影響するため、トラブルシューティングが完了したら、必ず拡張された冗長性を無効にしてください。 設定ファイルで冗長ログを有効にする手順は、次のとおりです。 1. Anypoint Studio にアクセスし、​**\[Package Explorer\]**​ ビューに移動します。 2. アプリケーションのプロジェクト名を開きます。 3. `src/main/resources`​ パスフォルダーを開きます。 4. フォルダー内の ​`log4j2.xml`​ ファイルを開きます。 5. ``​ タグ内に ​``​ タグを追加します。 ```xml ... ... ``` 6. アプリケーションの変更を保存します。 7. **Package Explorer**​ でプロジェクト名をクリックし、​**\[Run (実行)\]**​ > ​**\[Run As (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。 ## [](#一般的なスローを理解する)一般的なスローを理解する ここでは、一般的なスローメッセージとその解決方法を示します。 - COMPRESSION:COULD\_NOT\_COMPRESS コンテンツの圧縮を試行中にエラーが発生しました。 - COMPRESSION:COULD\_NOT\_DECOMPRESS コンテンツの圧縮解除を試行中にエラーが発生しました。 - COMPRESSION:INVALID\_ARCHIVE 圧縮解除しているコンテンツは無効なアーカイブです。 - COMPRESSION:TOO\_MANY\_ENTRIES 複数のエントリを含むアーカイブを ​**Decompress**​ 操作に渡す場合、モジュールで 1 つのエントリのみを選択することはできません。 ## [](#関連情報)関連情報 - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [Compression Module リファレンス](https://docs.mulesoft.com/jp/compression-module/2.1/compression-documentation) # Compression Module のトラブルシューティング Compression Module のトラブルシューティングを行うには、冗長ログを有効化する方法と一般的なスローメッセージを解釈する方法をよく理解しておきます。 ## [](#冗長ログの有効化)冗長ログの有効化 アプリケーションと Compression Module のやりとりが失敗する理由の理解を深めるには、モジュールの冗長ログを一時的に有効にします。 Mule アプリケーションのパフォーマンスに影響するため、トラブルシューティングが完了したら、必ず拡張された冗長性を無効にしてください。 設定ファイルで冗長ログを有効にする手順は、次のとおりです。 1. Anypoint Studio にアクセスし、​**\[Package Explorer\]**​ ビューに移動します。 2. アプリケーションのプロジェクト名を開きます。 3. `src/main/resources`​ パスフォルダーを開きます。 4. フォルダー内の ​`log4j2.xml`​ ファイルを開きます。 5. ``​ タグ内に ​``​ タグを追加します。 ```xml ... ... ``` 6. アプリケーションの変更を保存します。 7. **Package Explorer**​ でプロジェクト名をクリックし、​**\[Run (実行)\]**​ > ​**\[Run As (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。 ## [](#一般的なスローを理解する)一般的なスローを理解する ここでは、一般的なスローメッセージとその解決方法を示します。 - COMPRESSION:COULD\_NOT\_COMPRESS コンテンツの圧縮を試行中にエラーが発生しました。 - COMPRESSION:COULD\_NOT\_DECOMPRESS コンテンツの圧縮解除を試行中にエラーが発生しました。 - COMPRESSION:INVALID\_ARCHIVE 圧縮解除しているコンテンツは無効なアーカイブです。 - COMPRESSION:TOO\_MANY\_ENTRIES 複数のエントリを含むアーカイブを ​**Decompress**​ 操作に渡す場合、モジュールで 1 つのエントリのみを選択することはできません。 ## [](#関連情報)関連情報 - [Compression Module リファレンス](https://docs.mulesoft.com/jp/compression-module/latest/compression-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [Known Issues](https://help.salesforce.com/s/issues) # Compression Module の例 Compression Module の例は、ファイルの圧縮、圧縮解除、アーカイブ、抽出を行うのに役立ちます。 - [圧縮と圧縮解除の例](https://docs.mulesoft.com/jp/compression-module/latest/compression-module-compress-decompress-example) **Compress**​ 操作を使用してファイルを圧縮し、​**Decompress**​ 操作を使用してリモートサービスからのペイロードを圧縮解除します。 - [アーカイブと抽出の例](https://docs.mulesoft.com/jp/compression-module/latest/compression-module-archive-extract-example) **Archive**​ および ​**Extract**​ 操作を使用して、ファイルフォルダーとの間でファイルのアーカイブと抽出を行います。 ## [](#関連情報)関連情報 [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Compression Module リファレンス Compression Module v2.1 データの圧縮と圧縮解除の機能を提供するモジュール。 リリースノート: [Compression Module リリースノート](https://docs.mulesoft.com/jp/release-notes/mule-runtime/module-compression) ## [](#設定)設定 * * * ### [](#config)設定 デフォルト設定 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

## [](#操作)操作 ### [](#archive)Archive `` 特定のすべてのエントリを、設定された形式で新しいファイルに圧縮します。 この操作に渡された各エントリは、DataWeave スクリプトでユーザーが指定した名前を持つ圧縮されたアーカイブ内に配置されます。たとえば、次の式があるとします。 `{ file: vars.aTxtContent, 'dir/resume.pdf': vars.pdf }` 結果のアーカイブには 2 つのエントリが含まれます。1 つはルートレベルの「file」という名前のエントリ。もう 1 つは「dir」というディレクトリ内の「resume.pdf」というエントリです。 `- Archive | \- file1 | \ dir1 | \- file2` この例では、エントリの名前の中にあるスラッシュ「/」はディレクトリの分離を示します。これにより、アーカイブ内でディレクトリを作成するすべての名前が調べられます。 #### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

Entries (エントリ)

Object (オブジェクト)

#[payload]

Archiver (アーカイブツール)

zip-archiver

x

Output Mime Type (出力 MIME タイプ)

String (文字列)

この操作で出力されるペイロードの MIME タイプ。

Output Encoding (出力エンコード)

String (文字列)

この操作で出力されるペイロードのエンコード。

Streaming Strategy (ストリーミング戦略)

反復可能ストリームを使用すべきかどうか、およびその動作を設定します。

Target Variable (対象変数)

String (文字列)

操作の出力が格納される変数の名前

Target Value (対象値)

String (文字列)

操作の出力に対して評価する式。その式の結果は対象変数に保存されます。

#[payload]

#### [](#出力)出力

Type (型)

Binary (バイナリ)

#### [](#スロー)スロー - COMPRESSION:COULD\_NOT\_COMPRESS ### [](#compress)Compress `` 設定された形式 (ZIP または GZIP) を使用して、特定のコンテンツを圧縮します。コンテンツの圧縮中に問題が発生した場合、​COULD\_NOT\_COMPRESS​ エラーがスローされます。 #### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

Content (コンテンツ)

Binary (バイナリ)

#[payload]

Compressor (圧縮ツール)

次のいずれかになります。

  • gzip-compressor

  • zip-compressor

x

Output Mime Type (出力 MIME タイプ)

String (文字列)

この操作で出力されるペイロードの MIME タイプ。

Output Encoding (出力エンコード)

String (文字列)

この操作で出力されるペイロードのエンコード。

Streaming Strategy (ストリーミング戦略)

反復可能ストリームを使用すべきかどうか、およびその動作を設定します。

Target Variable (対象変数)

String (文字列)

操作の出力が格納される変数の名前

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。その式の結果は対象変数に保存されます。

#[payload]

#### [](#出力-2)出力

Type (型)

Binary (バイナリ)

#### [](#スロー-2)スロー - COMPRESSION:COULD\_NOT\_COMPRESS ### [](#decompress)Decompress `` 特定の形式 (ZIP または GZIP) であるとみなされる圧縮されたコンテンツの 1 つのエントリを圧縮解除します。コンテンツが、設定された形式ではない場合、​INVALID\_ARCHIVE​ エラーがスローされます。圧縮されたアーカイブには複数のエントリが含まれている可能性があります。この操作では、アーカイブに複数のエントリが含まれる場合に何を返す必要があるかがわからないため、単一のエントリアーカイブのみを処理できます。コンテンツに複数のエントリが含まれる場合、​TOO\_MANY\_ENTRIES​ エラーがスローされます。複数のエントリアーカイブの場合、このモジュールの ​\`extract\`​ 操作を使用します。この操作では、複数のエントリを受け入れる形式のみを選択できます。 #### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Compressed (圧縮済み)

Binary (バイナリ)

#[payload]

Decompressor (圧縮解除ツール)

次のいずれかになります。

  • gzip-decompressor

  • zip-decompressor

x

Output Mime Type (出力 MIME タイプ)

String (文字列)

この操作で出力されるペイロードの MIME タイプ。

Output Encoding (出力エンコード)

String (文字列)

この操作で出力されるペイロードのエンコード。

Streaming Strategy (ストリーミング戦略)

反復可能ストリームを使用すべきかどうか、およびその動作を設定します。

Target Variable (対象変数)

String (文字列)

操作の出力が格納される変数の名前

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。その式の結果は対象変数に保存されます。

#[payload]

#### [](#出力-3)出力

Type (型)

Binary (バイナリ)

#### [](#スロー-3)スロー - COMPRESSION:COULD\_NOT\_DECOMPRESS - COMPRESSION:INVALID\_ARCHIVE - COMPRESSION:TOO\_MANY\_ENTRIES ### [](#extract)Extract `` 圧縮形式でアーカイブを表している特定のコンテンツを圧縮解除します。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Compressed (圧縮済み)

Binary (バイナリ)

#[payload]

Extractor (抽出ツール)

次のいずれかになります。

  • zip-extractor

x

Streaming Strategy (ストリーミング戦略)

反復可能ストリームを使用すべきかどうか、およびその動作を設定します。

 

Target Variable (対象変数)

String (文字列)

操作の出力が格納される変数の名前

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。その式の結果は対象変数に保存されます。

#[payload]

#### [](#出力-4)出力

Type (型)

Object (オブジェクト)

#### [](#スロー-4)スロー - COMPRESSION:COULD\_NOT\_DECOMPRESS - COMPRESSION:INVALID\_ARCHIVE ## [](#型)型 ### [](#repeatable-in-memory-stream)Repeatable In Memory Stream (反復可能なメモリ内ストリーム)
項目 型 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

ストリームをコンシュームし、ランダムアクセスを提供するために割り当てられるメモリ量。ストリームのデータ量がこのバッファサイズを超える場合は、bufferSizeIncrement 属性に従って、maxInMemorySize を上限としてバッファが拡張されます。

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、どれだけ拡張するか。値を 0 以下に設定すると、バッファが拡張されません。つまり、バッファがフルになると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。

Max Buffer Size (最大バッファサイズ)

Number (数値)

使用するメモリの最大量。これを超えると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。0 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

これらのすべての属性の単位

### [](#repeatable-file-store-stream)Repeatable File Store Stream (反復可能なファイルストアストリーム)
項目 型 説明 デフォルト値 必須

Max In Memory Size (最大メモリ内サイズ)

Number (数値)

データをメモリ内に保持するためにストリームで使用する最大メモリを定義します。これを超えると、ディスクへのコンテンツのバッファが開始されます。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

maxInMemorySize で表される単位

## [](#関連情報)関連情報 [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Compression Module リファレンス Compression Module v2.2 データの圧縮と圧縮解除の機能を提供するモジュール。 リリースノート: [Compression Module リリースノート](https://docs.mulesoft.com/jp/release-notes/mule-runtime/module-compression) ## [](#設定)設定 * * * ### [](#config)設定 デフォルト設定 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

## [](#操作)操作 ### [](#archive)Archive `` 特定のすべてのエントリを、設定された形式で新しいファイルに圧縮します。 この操作に渡された各エントリは、DataWeave スクリプトで指定したエントリ名を持つ圧縮されたアーカイブ内に配置されます。たとえば、次の式があるとします。 `{ file: vars.aTxtContent, 'dir/resume.pdf': vars.pdf }` 結果のアーカイブには 2 つのエントリが含まれます。ルートレベルで配置されている ​`file`​ と、​`dir`​ ディレクトリに配置されている ​`resume.pdf`​ です。 `- Archive | \- file1 | \ dir1 | \- file2` この例では、エントリの名前の中にあるスラッシュ ​`/`​ はディレクトリの分離を示します。すべての名前によってアーカイブ内のディレクトリが作成されます。 #### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

Entries (エントリ)

Object (オブジェクト)

アーカイブファイルに追加するエントリ。

#[payload]

Archiver (アーカイブツール)

複数のエントリを 1 つのアーカイブに圧縮するアーカイブツール戦略。

x

Output Mime Type (出力 MIME タイプ)

String (文字列)

この操作で出力されるペイロードの MIME タイプ。

Output Encoding (出力エンコード)

String (文字列)

この操作で出力されるペイロードのエンコード。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は対象変数に保存されます。

#[payload]

#### [](#出力)出力

Type (型)

Binary (バイナリ)

#### [](#スロー)スロー - COMPRESSION:COULD\_NOT\_COMPRESS ### [](#compress)Compress `` 設定された形式 (​`Zip`​ または ​`GZip`​) を使用して、特定のコンテンツを圧縮します。 #### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

Content (コンテンツ)

Binary (バイナリ)

圧縮するコンテンツ。

#[payload]

Compressor (圧縮ツール)

次のいずれかになります。

ファイルまたは単一エントリアーカイブを圧縮する圧縮ツール戦略。

x

Output Mime Type (出力 MIME タイプ)

String (文字列)

この操作で出力されるペイロードの MIME タイプ。

Output Encoding (出力エンコード)

String (文字列)

この操作で出力されるペイロードのエンコード。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は対象変数に保存されます。

#[payload]

#### [](#出力-2)出力

Type (型)

Binary (バイナリ)

#### [](#スロー-2)スロー - COMPRESSION:COULD\_NOT\_COMPRESS ### [](#decompress)Decompress `` 設定された形式 (​`Zip`​ または ​`GZip`​) で圧縮されたコンテンツの単一エントリを圧縮解除します。圧縮されたアーカイブには複数のエントリが含まれている可能性があります。​**Decompress**​ 操作では、アーカイブに複数のエントリが含まれる場合にどのエントリを返すかがわからないため、単一エントリアーカイブのみを管理します。複数エントリアーカイブの場合、このモジュールの ​**Extract**​ 操作を使用します。この操作では、複数のエントリを受け入れる形式のみを選択できます。 #### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Compressed (圧縮済み)

Binary (バイナリ)

圧縮解除するコンテンツ。

#[payload]

Decompressor (圧縮解除ツール)

次のいずれかになります。

  • gzip-decompressor

  • zip-decompressor

ファイルまたは単一エントリアーカイブを圧縮解除する圧縮解除ツール戦略。

x

Output Mime Type (出力 MIME タイプ)

String (文字列)

この操作で出力されるペイロードの MIME タイプ。

Output Encoding (出力エンコード)

String (文字列)

この操作で出力されるペイロードのエンコード。

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は対象変数に保存されます。

#[payload]

#### [](#出力-3)出力

Type (型)

Binary (バイナリ)

#### [](#スロー-3)スロー - COMPRESSION:COULD\_NOT\_DECOMPRESS - COMPRESSION:INVALID\_ARCHIVE - COMPRESSION:TOO\_MANY\_ENTRIES ### [](#extract)Extract `` 圧縮形式でアーカイブを表している特定のコンテンツを圧縮解除します。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Compressed (圧縮済み)

Binary (バイナリ)

圧縮解除する圧縮済みアーカイブコンテンツ。

#[payload]

Extractor (抽出ツール)

次のいずれかになります。

  • zip-extractor

特定の形式で圧縮されている複数のエントリを含むアーカイブを圧縮解除する抽出ツール戦略。

x

Streaming Strategy (ストリーミング戦略)

Mule によるストリームの処理方法を設定します。反復可能ストリームは、デフォルトの動作です。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力を評価する式。式の結果は対象変数に保存されます。

#[payload]

#### [](#出力-4)出力

Type (型)

Object (オブジェクト)

#### [](#スロー-4)スロー - COMPRESSION:COULD\_NOT\_DECOMPRESS - COMPRESSION:INVALID\_ARCHIVE ## [](#型)型 ### [](#repeatable-in-memory-stream)Repeatable In Memory Stream (反復可能なメモリ内ストリーム)
項目 型 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

ストリームをコンシュームし、ランダムアクセスを提供するために割り当てられるメモリ量。ストリームのデータ量がこのバッファサイズを超える場合は、bufferSizeIncrement 属性に従って、maxInMemorySize を上限としてバッファが拡張されます。

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、どれだけ拡張するか。値を 0 以下に設定すると、バッファが拡張されません。つまり、バッファがフルになると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。

Max Buffer Size (最大バッファサイズ)

Number (数値)

使用するメモリの最大量。これを超えると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。0 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE

  • KB

  • MB

  • GB

これらのすべての属性の単位

### [](#repeatable-file-store-stream)Repeatable File Store Stream (反復可能なファイルストアストリーム)
項目 型 説明 デフォルト値 必須

Max In Memory Size (最大メモリ内サイズ)

Number (数値)

データをメモリ内に保持するためにストリームで使用する最大メモリを定義します。これを超えると、ディスクへのコンテンツのバッファが開始されます。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE

  • KB

  • MB

  • GB

maxInMemorySize で表される単位

### [](#反復不可能ストリーム)反復不可能ストリーム 反復可能ストリーム機能を無効にして反復不可能ストリームを使用します。これにより、パフォーマンスオーバーヘッド、メモリ使用量、およびコストが抑えられます。 ### [](#zip-compressor)Zip 圧縮ツール
項目 型 説明 デフォルト値 必須

Force Zip64 (Zip64 を強制)

Boolean (ブール)

4 GB を超えるファイルおよびバイト配列を圧縮できます。

false

### [](#zip-archiver)Zip アーカイブツール
項目 型 説明 デフォルト値 必須

Force Zip64 (Zip64 を強制)

Boolean (ブール)

4 GB を超えるファイルおよびバイト配列をアーカイブできます。

false

## [](#関連情報)関連情報 [MuleSoft ヘルプセンター](https://help.mulesoft.com) # アーカイブと抽出の例 次の Compression Module の例は、フォルダーとの間でファイルのアーカイブと抽出を行う方法を示しています。File Connector の ​**List**​ 操作で、​`input`​ という名前のフォルダーからすべてのファイルをリストします。次に ​**Compress**​ 操作で、キーをファイル名に設定し、値をリストされたファイルの値に設定してオブジェクトを生成し、圧縮されたアーカイブを作成します。 その後、​**Extract**​ 操作で、アーカイブされたファイルを圧縮解除します。次に、​**ForEach**​ スコープで、抽出された各キー/値ペアを反復処理し、キーをファイル名、値を対応する抽出されたファイルコンテンツとして、ファイルを新しい出力フォルダーに書き込みます。 1. Studio で ​**\[Scheduler\]**​ トリガーをフローにドラッグします。 2. **\[Frequency (頻度)\]**​ を ​`15`​ に設定し、​**\[Time unit (時間単位)\]**​ を ​`SECONDS`​ に設定します。 3. **\[List\]**​ 操作を ​**\[Scheduler\]**​ トリガーの横にドラッグします。 4. コネクタ設定を追加します。 5. **\[Directory path (ディレクトリパス)\]**​ を ​`input`​ に設定します。 6. **\[Set Payload\]**​ コンポーネントを ​**\[List\]**​ 操作の右にドラッグします。 7. **\[Value (値)\]**​ を次の DataWeave 式に設定します。 ```dataweave output application/java --- (0 to sizeOf(payload) - 1) as Array reduce (index, acc={}) -> acc ++ { (payload[index].attributes.fileName): payload[index].payload} ``` 1. **\[Archive\]**​ 操作を ​**\[Set payload\]**​ コンポーネントの横にドラッグします。 2. **\[Extract\]**​ 操作を ​**\[Archive\]**​ 操作の横にドラッグします。 3. **For Each**​ スコープをドラッグします。 4. **\[Collection (コレクション)\]**​ を ​`payload`​ に設定します。 5. **\[Write\]**​ 操作を ​**For Each**​ スコープにドラッグします。 6. **\[Path (パス)\]**​ を ​`#[output application/json--- "output/" ++ (payload pluck $$)[0]]`​ に設定します。 7. **\[Content (コンテンツ)\]**​ を ​`[CDATA[#[output application/java --- ( payload pluck $ )[0]]]`​ に設定します。 8. **\[Logger\]**​ コンポーネントを ​**For Each**​ スコープの右にドラッグします。 9. **\[Message (メッセージ)\]**​ を ​`output application/json --- payload`​ に設定します。 10. Mule アプリケーションを保存して実行します。 ![Studio Canvas での Compression Module のアーカイブ抽出フロー](/mulesoft/current/ja-jp/compression-module/latest/_images/compression-module-example-1.png) **設定 XML**​ エディターでは、設定は次のように記述されます。 ```xml
``` ## [](#関連情報)関連情報 - [Compression Module リファレンス](https://docs.mulesoft.com/jp/compression-module/latest/compression-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # ファイルのアーカイブと抽出 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 #[ { summary.pdf: vars.summary, 'details/result_001.pdf': vars.file1 'details/result_002.pdf': vars.file2 } ] ``` 結果のアーカイブには 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`​ など、エントリの名前の中にあるスラッシュ ​`/`​ はディレクトリの分離を示します。すべての名前が調べられ、アーカイブ内のディレクトリが作成されます。
DataWeave 式を使用して ​Archive​ 操作への入力を作成する場合、DataWeave 式で、Java マップオブジェクトをビルドするために使用するオブジェクトを出力する必要があります。アーカイブにオブジェクト全体を追加するための一意のキーを定義します。
## [](#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 acc ++ { (payload[index].attributes.fileName): payload[index].payload}]]]> ``` ## [](#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 #[vars.archive] ``` ここでは、次の構造を含む 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 Module リファレンス](https://docs.mulesoft.com/jp/compression-module/latest/compression-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # 単一ファイルの圧縮と圧縮解除 Compression Module では、設定された Gzip または Zip 形式で単一ファイルを圧縮または圧縮解除できる ​**Compress**​ および ​**Decompress**​ 操作が提供されます。 ## [](#compress-操作の設定)Compress 操作の設定 入力ストリームペイロードを指定すると、​**Compress**​ 操作では、ストリームを圧縮し、新しい圧縮されたビットストリームを返すことができます。次に、圧縮されたビットストリームをファイルシステムに保存するか、別のシステムに転送することができます。 1. Studio で、​**Compress**​ 操作をフローにドラッグします。 2. **\[Content (コンテンツ)\]**​ を、圧縮する入力ストリームペイロードに設定します。 3. **\[Compressor (圧縮ツール)\]**​ を ​**\[Gzip compressor (Gzip 圧縮ツール)\]**​ または ​**\[Zip compressor (Zip 圧縮ツール)\]**​ 戦略に設定します。 ![Compressor 操作の設定](/mulesoft/current/ja-jp/compression-module/latest/_images/compression-compressor-operation.png) **設定 XML**​ エディターでは、設定は次のように記述されます。 ```xml #[payload.data] ``` ## [](#gzip-圧縮ツール戦略の設定)GZip 圧縮ツール戦略の設定 圧縮ツール戦略では、ファイルまたは単一エントリアーカイブを圧縮します。​**\[Gzip compressor (Gzip 圧縮ツール)\]**​ 戦略では、Gzip 形式でコンテンツを圧縮する必要があることが宣言されます。 1. Studio で、フローから ​**\[Compress\]**​ 操作を選択します。 2. **\[Compressor (圧縮ツール)\]**​ を ​**\[Gzip compressor (Gzip 圧縮ツール)\]**​ に設定します。 **設定 XML**​ エディターでは、設定は次のように記述されます。 ```xml ``` ## [](#zip-圧縮ツール戦略の設定)Zip 圧縮ツール戦略の設定 **\[Zip compressor (Zip 圧縮ツール)\]**​ \*戦略では、Zip 形式でコンテンツを圧縮する必要があることが宣言されます。 1. Studio で、フローから ​**\[Compress\]**​ 操作を選択します。 2. **\[Compressor (圧縮ツール)\]**​ を ​**\[Zip compressor (Zip 圧縮ツール)\]**​ に設定します。 3. 4 GB を超えるファイルおよびバイト配列を圧縮するには、​**\[Force ZIP64 (ZIP64 を適用)\]**​ を選択します。 **設定 XML**​ エディターでは、設定は次のように記述されます。 ```xml ``` ## [](#decompress-操作の設定)Decompress 操作の設定 **Decompress**​ 操作では、指定された圧縮形式のアーカイブである、圧縮された単一エントリコンテンツを圧縮解除できます。圧縮されたアーカイブには複数のエントリが含まれる可能性がありますが、この操作では、アーカイブに複数のエントリが含まれる場合にどのエントリを返すかがわからないため、単一エントリアーカイブのみを管理します。複数エントリアーカイブの場合、​**Extract**​ 操作を使用します。この操作では、複数のエントリを受け入れる形式のみを選択できます。 1. Studio で、​**Decompress**​ 操作をフローにドラッグします。 2. **\[Compressed (圧縮済み)\]**​ を、圧縮解除する入力ストリームペイロードに設定します。 3. **\[Decompressor (圧縮解除ツール)\]**​ を ​**\[Gzip decompressor (Gzip 圧縮解除ツール)\]**​ または ​**\[Zip decompressor (Zip 圧縮解除ツール)\]**​ 戦略に設定します。 ![Compressor 操作の設定](/mulesoft/current/ja-jp/compression-module/latest/_images/compression-decompressor-operation.png) **設定 XML**​ エディターでは、設定は次のように記述されます。 ```xml #[payload] ``` ## [](#gzip-圧縮解除ツール戦略の設定)GZip 圧縮解除ツール戦略の設定 圧縮解除ツール戦略では、ファイルまたは単一エントリアーカイブを圧縮解除します。​**\[Gzip decompressor (Gzip 圧縮解除ツール)\]**​ 戦略では、Gzip 形式でコンテンツを圧縮解除する必要があることが宣言されます。 1. Studio で、フローから ​**\[Decompress\]**​ 操作を選択します。 2. **\[Decompressor (圧縮解除ツール)\]**​ を ​**\[Gzip decompressor (Gzip 圧縮解除ツール)\]**​ に設定します。 **設定 XML**​ エディターでは、設定は次のように記述されます。 ```xml ``` ## [](#zip-圧縮解除ツール戦略の設定)Zip 圧縮解除ツール戦略の設定 **\[Zip decompressor(Zip 圧縮解除ツール)\]**​ 戦略では、Zip 形式でコンテンツを圧縮解除する必要があることが宣言されます。 1. Studio で、フローから ​**\[Decompress\]**​ 操作を選択します。 2. **\[Decompressor (圧縮解除ツール)\]**​ を ​**\[Zip decompressor (Zip 圧縮解除ツール)\]**​ に設定します。 **設定 XML**​ エディターでは、設定は次のように記述されます。 ```xml ``` ## [](#関連情報)関連情報 - [Compression Module リファレンス](https://docs.mulesoft.com/jp/compression-module/latest/compression-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # 圧縮と圧縮解除の例 次の Compression Module の例は、​**Compress**​ 操作を使用してファイルを圧縮し、​**Decompress**​ 操作を使用してリモートサービスからのペイロードを圧縮解除する方法を示しています。 ## [](#ファイルの圧縮)ファイルの圧縮 次の例では、ファイルを読み取るように File Connector の ​**Read**​ 操作を設定します。次に、​**Compress**​ 操作でファイルを圧縮し、GZip 形式で保存します。その後、必要に応じて、File Connector の ​**Write**​ 操作でコンテンツを特定のパスに書き込みます。 1. Studio で、File Connector の ​**Read**​ 操作をフローにドラッグします。 2. **\[Path (パス)\]**​ を ​`file.txt`​ に設定します。 3. **\[Compress\]**​ 操作を ​**\[Read\]**​ 操作の横にドラッグします。 4. **\[Compressor (圧縮ツール)\]**​ を ​**\[Gzip compressor (Gzip 圧縮ツール)\]**​ に設定します。 5. **\[Write\]**​ 操作を ​**\[Compress\]**​ 操作の横にドラッグします。 6. **\[Path (パス)\]**​ を ​`file-txt.gz`​ に設定します。 **設定 XML**​ エディターでは、設定は次のように記述されます。 ```xml ``` ## [](#リモートサービスからのペイロードの圧縮解除)リモートサービスからのペイロードの圧縮解除 次の例では、サーバーから Zip ファイルを返す操作をコンシュームするように Web Service Consumer Connector の ​**Consume**​ 操作を設定します。次に、​**Decompress**​ 操作で Zip ファイルを圧縮解除します。 1. Studio で、Web Service Consumer Connector の ​**Consume**​ 操作をフローにドラッグします。 2. **\[Connector configuration (コネクタ設定)\]**​ を目的の操作設定 (​`ZipServiceConfig`​ など) に設定します。 3. **\[Operation (操作)\]**​ を、呼び出す Web サービス操作の名前 (​`returnsZip`​ など) に設定します。 4. **\[Decompress\]**​ 操作を ​**\[Consume\]**​ 操作の横にドラッグします。 5. **\[Content (コンテンツ)\]**​ を ​`payload.body.zipContent`​ に設定します。 6. **\[Compressor (圧縮ツール)\]**​ を ​**\[Zip compressor (Zip 圧縮ツール)\]**​ に設定します。 **設定 XML**​ エディターでは、設定は次のように記述されます。 ```xml ``` ## [](#関連情報)関連情報 - [Compression Module リファレンス](https://docs.mulesoft.com/jp/compression-module/latest/compression-documentation) - [MuleSoft ヘルプセンター](https://help.mulesoft.com)