4.2.3. 実行中のインテグレーションへのリソースの提供
kamel run コマンドの --resource オプションを使用すると、実行しているときに使用するインテグレーションのリソースを指定できます。ローカルのテキストファイル (1 MiB の最大ファイルサイズ)、ConfigMap (3 MB) またはシークレット (3 MB) を指定できます。オプションで、リソース用にマテリアル化したファイルの宛先を指定できます。たとえば、HTTPS 接続を設定する場合は、--resource オプションを使用します。これは、既知の場所にあると予想されるバイナリーファイルである SSL 証明書を提供する必要があるためです。
--resource オプションを使用する場合、Camel K Operator はランタイムプロパティーを検索するリソースを解析せず、リソースをクラスパスに追加しません。(クラスパスにリソースを追加する場合は、JVM トレイト を使用できます。
4.2.3.1. リソースとしてのテキストまたはバイナリーファイルの指定
設定値が含まれるテキストファイルまたはバイナリーファイルがある場合は、--resource file:/path/to/file オプションを使用してファイルをマテリアル化できます。デフォルトでは、Camel K Operator はマテリアル化されたファイルを /etc/camel/resources/ ディレクトリーにコピーします。オプションで、「 リソースの宛先パスの指定」で説明されているように、別の宛先ディレクトリーを 指定できます。
前提条件
- Setting up your Camel K development environment
- 設定プロパティーが含まれる 1 つ以上のテキストまたはバイナリーファイルがある。
手順
指定するファイルの内容を読み取る Camel K インテグレーションを作成します。
たとえば、以下の統合(
ResourceFileBinaryRoute.java)を展開してresources-data.zipファイルを読み込みます。import org.apache.camel.builder.RouteBuilder; public class ResourceFileBinaryRoute extends RouteBuilder { @Override public void configure() throws Exception { from("file:/etc/camel/resources/?fileName=resources-data.zip&noop=true&idempotent=false") .unmarshal().zipFile() .log("resource file unzipped content is: ${body}"); } }インテグレーションを実行し、
--resourceオプションを使用してファイルをデフォルトの宛先ディレクトリー (/etc/camel/resources/) にコピーします。以下に例を示します。kamel run --resource file:resources-data.zip ResourceFileBinaryRoute.java -d camel-zipfile --dev
注記: バイナリーファイルを指定すると、ファイルの内容のバイナリー表現が作成され、インテグレーションで透過的にデコードされます。
必要に応じて、
--resourceオプションを繰り返し追加して、複数のリソースを指定できます。以下に例を示します。kamel run --resource file:resources-data1.txt --resource file:resources-data2.txt ResourceFileBinaryRoute.java -d camel-zipfile --dev