4.2.3.4. リソースの宛先パスの指定

/etc/camel/resources/ ディレクトリーは、--resource オプションで指定するリソースをマウントするためのデフォルトの場所です。リソースをマウントする別のディレクトリーを指定する必要がある場合は、--resourece @path 構文を使用します。

前提条件

手順

  1. 設定プロパティーが含まれるファイル、ConfigMap、またはシークレットを参照する Camel K インテグレーションを作成します。たとえば、以下のインテグレーション (名前: ResourceFileLocationRoute.java) は myprops ファイルを参照します。

    import org.apache.camel.builder.RouteBuilder;
    
    public class ResourceFileLocationRoute extends RouteBuilder {
      @Override
      public void configure() throws Exception {
    
          from("file:/tmp/?fileName=input.txt&noop=true&idempotent=false")
             .log("resource file content is: ${body}");
    
      }
    }
  2. インテグレーションを実行し、@path 構文で --resource オプションを使用して、リソースの内容 (ファイル、ConfigMap、または Secret のいずれか) をマウントする場所を指定します。

    たとえば、以下のコマンドは、/tmp ディレクトリーを使用して input.txt ファイルをマウントするように指定します。

    kamel run --resource file:resources-data.txt@/tmp/input.txt ResourceFileLocationRoute.java --dev
  3. インテグレーションの Pod で、ファイル (例: input.txt) が正しい場所 (例: tmp ディレクトリー内) にマウントされていることを確認します。たとえば、以下のコマンドを実行します。

    oc exec <pod-name> -- cat /tmp/input.txt