Rest 是否有方法捕获已在SnapLogic中执行的任务的名称?
我们有许多在相同管道上运行的触发任务,但参数不同 关于这一点,我的问题是——是否有一种可能的方法,比如一个函数或一个表达式来捕获被触发任务的名称,这样我们就可以在编写报告和电子邮件时使用这些信息,其中任务启动了错误管道。我找不到任何接近它的东西 提前感谢。此答案解决了在被调用管道中唯一标识调用方任务的要求Rest 是否有方法捕获已在SnapLogic中执行的任务的名称?,rest,api,snaplogic,Rest,Api,Snaplogic,我们有许多在相同管道上运行的触发任务,但参数不同 关于这一点,我的问题是——是否有一种可能的方法,比如一个函数或一个表达式来捕获被触发任务的名称,这样我们就可以在编写报告和电子邮件时使用这些信息,其中任务启动了错误管道。我找不到任何接近它的东西 提前感谢。此答案解决了在被调用管道中唯一标识调用方任务的要求 对于触发的任务,SnapLogic没有提供任何现成的功能。尽管如此,对于超任务,您可以从管道的输入中获得$['task\u name'] SnapLogic开箱即用地提供了以下标头,这些标头
对于触发的任务,SnapLogic没有提供任何现成的功能。尽管如此,对于超任务,您可以从管道的输入中获得
$['task\u name']
SnapLogic开箱即用地提供了以下标头,这些标头可以在由触发的任务启动的管道中捕获和使用。这些措施如下
- PATH\u INFO-URL任务部分后的路径元素
- 远程用户-调用此请求的用户的名称
- REMOTE\u ADDR-调用此请求的主机的IP地址
- 请求\u方法-用于调用此请求的方法
https://elastic.snaplogic.com/.../task-name
- 标题必须全部大写。标题区分大小写
- 连字符必须更改为下划线
- HTTP自定义头覆盖任务和管道参数,但查询字符串参数具有最高优先级
对于已触发任务的任务名称,没有任何显式日志条目<代码>调用程序是您必须使用的 但是,SnapLogic用于填充仪表板的主API更加冗长。以下是谷歌Chrome开发者工具上的响应截图 您可以使用
invoker\u name
和pipe\u invoker
字段来标识触发的任务
下面是正在使用的API
POST/rest/pm/运行时
正文:
{
"state": "Completed,Stopped,Failed,Queued,Started,Prepared,Stopping,Failing,Suspending,Suspended,Resuming",
"offset": 0,
"limit": 25,
"include_subpipelines": false,
"sort": {
"create_time": -1
},
"start_ts": null,
"end_ts": null,
"last_hours": 1
}
您可以使用一个管道定期触发此API,然后解析响应并填充日志表(或创建日志文件)。感谢您的响应。我需要这个用于监控目的,以减少手动工作量(在仪表板上逐个检查任务)。我使用您提出的解决方案尝试了第二种方法,并使用SnapLogic提供的管道监控API在映射器之前添加了REST Get Snap,但仍然只能捕获调用器类型[triggered,scheduled]。在这两者之间是否有我遗漏的一步?如果日志记录是您想要的,那么为什么不使用SnapLogic管道监控API呢?我已经这样做了,但是,仍然没有任务名称值,只有输出上的“invoker”。这是否意味着此信息不公开?日志项没有任务名称<代码>调用程序是您必须使用的工具。@tee\t请注意,我添加了另一个答案来满足您的日志记录要求。