跨不同Informatica仓库调用已有工作流并传参的可行性及方法
跨Informatica仓库调用工作流并传递参数的可行性与实现方案
可行,Informatica支持跨仓库调用已存在的工作流并传递自定义参数,主要通过命令行工具或REST API两种方式实现,以下是具体方案:
一、使用pmcmd命令行工具(适用于On-Premise版本)
pmcmd是Informatica官方提供的命令行工具,可直接远程触发不同仓库的工作流并传递参数。
前置条件
- 执行机器已安装Informatica Client工具,包含pmcmd组件
- 掌握目标仓库的核心信息:仓库节点地址/IP、端口、认证账号密码、集成服务名称
- 目标工作流已在Workflow Manager中定义好可接收的参数
命令格式
pmcmd startworkflow -sv <集成服务名称> -d <仓库地址>:<端口> -u <用户名> -p <密码> -f <工作流所在文件夹> -param "<参数1=值1>;<参数2=值2>" <工作流名称>关键参数说明:
-sv:指定目标仓库绑定的集成服务-d:目标仓库的网络地址与端口-param:多参数用分号分隔,参数名必须与目标工作流中定义的完全匹配
实际示例
pmcmd startworkflow -sv Int_Srv_Prod -d prod.inf-server.com:6001 -u etl_admin -p Pwd@1234 -f Sales_ETL -param "src_schema=SALES_SRC;dest_table=SALES_FACT" wf_Sales_Data_Transform
二、使用Informatica Cloud REST API(适用于IICS版本)
如果是Informatica云版本(IICS),可通过REST API实现跨仓库的工作流调用与参数传递。
前置条件
- 通过OAuth2认证获取IICS的API会话令牌
- 掌握目标工作流的唯一ID(可在IICS控制台中查看)
- 目标工作流已配置好可接收的参数
步骤说明
获取会话令牌
curl -X POST "https://dm-us.informaticacloud.com/ma/api/v2/user/login" -H "Content-Type: application/json" -d '{"username":"your_account","password":"your_password"}'从响应中提取
sessionId作为后续请求的认证令牌。触发工作流并传参
curl -X POST "https://dm-us.informaticacloud.com/ma/api/v2/job" -H "Content-Type: application/json" -H "icSessionId: <你的sessionId>" -d '{ "taskId": "<目标工作流ID>", "parameters": { "batch_id": "20240520_001", "load_type": "incremental" }, "taskType": "WORKFLOW" }'
注意事项
- 参数名区分大小写,必须与目标工作流中定义的完全一致
- 跨仓库调用需确保网络连通性,防火墙开放对应端口(pmcmd默认6001,IICS API默认443)
- 敏感信息(如密码、令牌)避免硬编码,建议使用环境变量或加密配置文件存储
内容的提问来源于stack exchange,提问作者Juliy Peck
相关产品推荐
相关产品推荐

