Apache·奥齐 oozie.wf.workflow.notification.url
属性将作业状态更新通知自定义终结点。
<property>
<name>oozie.wf.workflow.notification.url</name>
<value>http://SERVER:8080/endpoint/oozieUpdate?jobId=$jobId%26status=$status</value>
</property>
我有一个用例,端点必须对传入的请求进行身份验证,但我找不到一个解决方案,该解决方案允许我配置oozie,以便它将身份验证头发送到此通知url(例如basic auth)。有办法吗?
2条答案
按热度按时间qncylg1j1#
我怀疑你能用
oozie.wf.workflow.notification.url
在目前的状态下。我检查了oozie的源代码发现:org.apache.oozie.client.oozieclient(在常量中读取的属性):
org.apache.oozie.command.wf.workflownotificationxcommand(常量用于形成proxyconf变量):
org.apache.oozie.command.notificationxcommand(在workflownotificationxcommand的超类中使用proxyconf变量的http调用本身):
如您所见,这里没有使用
httpURLConnection.setRequestProperty(,)
.不过,您可以使用自定义java操作进行变通,也可以使用任何您喜欢的头从中进行http调用。
snz8szmq2#
作为解决方法,我为通知url创建了一个替换变量。
然后每次运行作业时,我都会在url中包含一个不同的密钥。
本例中的信任锚定是https。当我收到来自作业的通知时,我可以通过比较密钥来确保它不是来自攻击者。