I need to receive the runOutput from python activity in ADF.
In Notebook activity we can receive it using @ {activity ('databricks notebook activity name').output.runOutput}
.
But same thing when I am trying to do using python activuty, it is not working even though I am exiting notebook with dbutils.notebook.exit('my message)
.
Any help would be appreciated. Thanks.
CodePudding user response:
I have reproduced the above and not able to get the runOutput
of Python script like we get in Notebook activity.
dbutils.notebook.exit('my message')
I have used the above script in my .py
file.
As per my repro, runOutput
might not be there for python activity. You can try this workaround where I am able to get the Output from REST API job runs.
First extract the particular run id of the python activity from the above output.
@string(last(split(activity('Python1').output.runPageUrl,'/')))
Then use web activity to get the details of that particular run with Bearer token as authorization.
URL: https://< databricks-instance >/api/2.0/jobs/runs/get-output?run_id=@{variables('run_id')}
For Header: give name as Authorization
and for value give Bearer < your databricks bearer token>
In the logs of the above web activity output, you can find the python activity output.
@string(activity('Web1').output.logs)
Output: