4.2.3. 为正在运行的集成提供资源


您可以通过指定 kamel run 命令的 --resource 选项,为它运行时提供集成使用的资源。您可以指定本地文本文件(1 MiB 最大文件大小)、ConfigMap (3MB)或 Secret (3MB)。您可以选择指定资源材料的文件的目的地。例如,如果要设置 HTTPS 连接,请使用 --resource 选项,因为您必须提供一个 SSL 证书,这是已知位置中预期的二进制文件。

当您使用 --resource 选项时,Camel K 运算符不会解析资源查找运行时属性,且不会将资源添加到 classpath 中。(如果要将资源添加到类路径,您可以使用 JVM 特征

4.2.3.1. 将文本或二进制文件指定为资源

如果您的文本或二进制文件包含配置值,您可以使用 --resource file:/path/to/file 选项来对文件进行碎片整理。默认情况下,Camel K operator 将资料化文件复制到 /etc/camel/resources/ 目录中。另外,您可以指定不同的目标目录,如 指定资源 的目标路径 所述。

前提条件

流程

  1. 创建一个 Camel K 集成,以读取您提供的文件内容。

    例如,以下集成(ResourceFileBinaryRoute.java) unzips 并读取 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}");
    
      }
    }
    Copy to Clipboard Toggle word wrap
  2. 运行集成并使用 --resource 选项将文件复制到默认目标目录(/etc/camel/resources/)。例如:

    kamel run --resource file:resources-data.zip ResourceFileBinaryRoute.java -d camel-zipfile --dev
    Copy to Clipboard Toggle word wrap

    注: 如果您指定了二进制文件,则会在集成中透明地创建并解码文件内容的二进制表示。

    另外,您可以通过重复添加 --resource 选项来提供多个资源,例如:

    kamel run --resource file:resources-data1.txt --resource file:resources-data2.txt ResourceFileBinaryRoute.java -d camel-zipfile --dev
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat