4.2.3. 为运行集成提供资源


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

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

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

如果您有一个包含配置值的文本或二进制文件,您可以使用 --resource file:/path/to/file 选项来整理该文件。默认情况下,Camel K 操作器会将资料化文件复制到 /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