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/ 目录中。另外,您可以指定不同的目标目录,如 指定资源 的目标路径 所述。
前提条件
- 设置 Camel K 开发环境
- 您有一个或多个包含配置属性的文本或二进制文件。
流程
创建一个 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}"); } }运行集成并使用
--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