Talend(Ubuntu)-读取系统变量
我想创建一个流,它将根据系统变量“WORK_ENV”选择一个配置文件。在talend工作的Java节点中,我似乎无法做到这一点 但是,如果我在ubuntu终端上执行“echo$WORK\u ENV”,我可以看到以下输出 已经尝试使用System.getenv(“工作环境”)以及更新的System.getProperty(“工作环境”)。它们都产生空值 网络搜索告诉我,同样的结构也适用于人们,但出于某种奇怪的原因,它不适用于我Talend(Ubuntu)-读取系统变量,talend,Talend,我想创建一个流,它将根据系统变量“WORK_ENV”选择一个配置文件。在talend工作的Java节点中,我似乎无法做到这一点 但是,如果我在ubuntu终端上执行“echo$WORK\u ENV”,我可以看到以下输出 已经尝试使用System.getenv(“工作环境”)以及更新的System.getProperty(“工作环境”)。它们都产生空值 网络搜索告诉我,同样的结构也适用于人们,但出于某种奇怪的原因,它不适用于我 Talend版本是OpenStudio 7.0.1,在Ubuntu
Talend版本是OpenStudio 7.0.1,在Ubuntu 16.04LTS上,我建议您使用上下文参数将该值传递给您的工作。
您可以在作业中声明名为
ENV
的上下文变量。当您将作业构建为独立作业时,您会得到一个用于*nix系统的启动器,如下所示:
#!/bin/sh
cd `dirname $0`
ROOT_PATH=`pwd`
java -Xms64M -Xmx1024M -cp .:$ROOT_PATH:$ROOT_PATH/..other jars.. talend_project.talend_job_0_1.talendJob --context=Default "$@"
然后,可以通过执行以下操作将环境变量发送到作业:
talendJob_run.sh --context_param ENV=$WORK_ENV
在Talend作业中,您可以使用
context.ENV
我建议您使用上下文参数将该值传递给您的作业。您可以在作业中声明名为
ENV
的上下文变量。当您将作业构建为独立作业时,您会得到一个用于*nix系统的启动器,如下所示:
#!/bin/sh
cd `dirname $0`
ROOT_PATH=`pwd`
java -Xms64M -Xmx1024M -cp .:$ROOT_PATH:$ROOT_PATH/..other jars.. talend_project.talend_job_0_1.talendJob --context=Default "$@"
然后,可以通过执行以下操作将环境变量发送到作业:
talendJob_run.sh --context_param ENV=$WORK_ENV
在您的Talend工作中,您可以使用context.ENV
这对我很有用:
String work_env=(String)System.getenv("WORK_ENV");
System.out.println("Work Environment is " + work_env);
这对我很有用:
String work_env=(String)System.getenv("WORK_ENV");
System.out.println("Work Environment is " + work_env);