![rohit_kumar_0-1724760571211.png rohit_kumar_0-1724760571211.png](/t5/image/serverpage/image-id/10609i2486C4D106B0D297/image-size/medium/is-moderation-mode/true?v=v2&px=400)
The above set of activities took some 4 hours at ADF to explore and design with greater ease of use, connections, monitoring and it could have probably taken 4 days or more using Databricks Workflows.
The integration runtime at ADF was just up for under a minute to complete all these activities with limited compute usage probably lower than workflows in this case as it is not compute intensive.
Can there be a better solution through Databricks with the similar ease of use and lesser compute?
Illustrating the detailed steps performed at ADF below:
- The first step is the generation of Session ID:
![rohit_kumar_1-1724760571240.png rohit_kumar_1-1724760571240.png](/t5/image/serverpage/image-id/10610i3A27074FFEDAEF79/image-size/medium/is-moderation-mode/true?v=v2&px=400)
It will require a web activity to be created in ADF Pipeline with a Post Method and body incorporating username and password and then the API end points of Informatica login will be hit.
The body can be passed with secret values from Key vault for the implementation purpose. A random user and password have been placed in the body for demonstration purpose.
It will generate an output set from which “orgUuid” and “iCsessionid” will be used for the next step of Access Token Generation.
![rohit_kumar_2-1724760571264.png rohit_kumar_2-1724760571264.png](/t5/image/serverpage/image-id/10611i7CB6A7E4F81EA291/image-size/medium/is-moderation-mode/true?v=v2&px=400)
![rohit_kumar_3-1724760571282.png rohit_kumar_3-1724760571282.png](/t5/image/serverpage/image-id/10612i199B2592E837722B/image-size/medium/is-moderation-mode/true?v=v2&px=400)
This will be dynamically generated and will get changed with every execution.
- The second step is Access Token Generation:
![rohit_kumar_4-1724760571305.png rohit_kumar_4-1724760571305.png](/t5/image/serverpage/image-id/10613i214B0AE9A9CB3925/image-size/medium/is-moderation-mode/true?v=v2&px=400)
It will require another subsequent web activity to be created in ADF Pipeline with a Post Method and the URL for Access token generation.
It will have an additional two headers i.e., “IDS-SESSION-ID” and “Cookie” in a particular format with the URL which will be fetched dynamically from the previous activity of session ID generation.
![rohit_kumar_5-1724760571329.png rohit_kumar_5-1724760571329.png](/t5/image/serverpage/image-id/10614i3E875F87B6BD7A77/image-size/medium/is-moderation-mode/true?v=v2&px=400)
![rohit_kumar_6-1724760571349.png rohit_kumar_6-1724760571349.png](/t5/image/serverpage/image-id/10615i8F8F6BE0AE49DC79/image-size/medium/is-moderation-mode/true?v=v2&px=400)
Output for the Access Toke Generation step will come in below format as “jwt_token”
![rohit_kumar_7-1724760571372.png rohit_kumar_7-1724760571372.png](/t5/image/serverpage/image-id/10617i63E1BFE12C489FE5/image-size/medium/is-moderation-mode/true?v=v2&px=400)
- The third step will be Job ID Generation:
![rohit_kumar_8-1724760571399.png rohit_kumar_8-1724760571399.png](/t5/image/serverpage/image-id/10616i75632D85E13A1E30/image-size/medium/is-moderation-mode/true?v=v2&px=400)
It will require another subsequent web activity to be created in ADF Pipeline with a Post Method and the URL for Job ID generation.
It will have additional parameters of from and size defined in the body.
It will also have additional two headers. The first one is “X-INFRA-ORG-ID” which has been fetched dynamically from the first activity of ‘session ID generation’ and the second one is “Authorization” in a particular format which has been fetched dynamically from the previous activity of Token generation.
The dynamic Headers will be as shown below:
![rohit_kumar_9-1724760571454.png rohit_kumar_9-1724760571454.png](/t5/image/serverpage/image-id/10618i486FCE734A2537D1/image-size/medium/is-moderation-mode/true?v=v2&px=400)
![rohit_kumar_10-1724760571486.png rohit_kumar_10-1724760571486.png](/t5/image/serverpage/image-id/10619i17147C4C6A03517D/image-size/medium/is-moderation-mode/true?v=v2&px=400)
The output of the Job ID Generation:
![rohit_kumar_11-1724760571510.png rohit_kumar_11-1724760571510.png](/t5/image/serverpage/image-id/10620iC3282A08CDE3170F/image-size/medium/is-moderation-mode/true?v=v2&px=400)
The output of the Job_ID_Generation will be JobId, trackingURI and OutputURI which will be used in subsequent steps for tracking and getting attachment.
- The fourth step will be Track Job Status:
![rohit_kumar_12-1724760571539.png rohit_kumar_12-1724760571539.png](/t5/image/serverpage/image-id/10622i925A79112B4632E8/image-size/medium/is-moderation-mode/true?v=v2&px=400)
It will require another subsequent web activity to be created in ADF Pipeline with GET Method this time and the dynamic URL to track job status. The URL will consist of the JOB ID generated from the previous step dynamically.
The below step depicts the format of the dynamic URL in concatenated format with JOB ID fetched from previous step.
![rohit_kumar_13-1724760571567.png rohit_kumar_13-1724760571567.png](/t5/image/serverpage/image-id/10623i28AECE23CBB7EADA/image-size/medium/is-moderation-mode/true?v=v2&px=400)
It will also have the same two additional headers as in last step. The first one is “X-INFRA-ORG-ID” which has been fetched dynamically from the first activity of ‘session ID generation’ and the second one is “Authorization” in a particular format which has been fetched dynamically from the previous activity of Token generation.
- The fifth step be wait and re-check after certain interval.
![rohit_kumar_14-1724760571585.png rohit_kumar_14-1724760571585.png](/t5/image/serverpage/image-id/10621iEC2FDF6FAAF2C321/image-size/medium/is-moderation-mode/true?v=v2&px=400)
- The sixth step will be Get Attachment:
![rohit_kumar_15-1724760571603.png rohit_kumar_15-1724760571603.png](/t5/image/serverpage/image-id/10625i514107F4E5C7F862/image-size/medium/is-moderation-mode/true?v=v2&px=400)
It will require another subsequent web activity to be created in ADF Pipeline with GET Method again and the dynamic URL to retrieve attachment. The URL will consist of the “Output URI” generated from the Job ID Generation step dynamically.
The below step depicts the format of the dynamic URL in concatenated format with JOB ID fetched from previous step.
![rohit_kumar_16-1724760571630.png rohit_kumar_16-1724760571630.png](/t5/image/serverpage/image-id/10624iD0251340F64A93B6/image-size/medium/is-moderation-mode/true?v=v2&px=400)
It will also have an additional headers “Authorization” in a particular format which has been fetched dynamically from the previous activity of Token generation as used in the last step of Job ID Generation and wait and check activity.
The output of the step is as below in the Response section which is an unreadable xlsx attachment. We will download this in the next step.
![rohit_kumar_17-1724760571652.png rohit_kumar_17-1724760571652.png](/t5/image/serverpage/image-id/10626i9A6A82D1D497B729/image-size/medium/is-moderation-mode/true?v=v2&px=400)
- The seventh step will be Extract Data:
![rohit_kumar_18-1724760571675.png rohit_kumar_18-1724760571675.png](/t5/image/serverpage/image-id/10628i2A6A247C1C28BBD7/image-size/medium/is-moderation-mode/true?v=v2&px=400)
The last step will a copy activity to fetch the data. It will have a source dataset of type Binary with the dynamic URL passed with OutputURI generated from Job_ID_Generation step shown earlier.
The request method will be GET and would require an additional header for Authorization with jwt token in the format shown in earlier steps.
![rohit_kumar_19-1724760571702.png rohit_kumar_19-1724760571702.png](/t5/image/serverpage/image-id/10627i2C375B0922157A62/image-size/medium/is-moderation-mode/true?v=v2&px=400)
The associated Linked service will be a HTTP type designed with dynamic URL which can be provided during the run time from previous steps and the authentication type as Anonymous to be handled during runtime with token.
![rohit_kumar_20-1724760571722.png rohit_kumar_20-1724760571722.png](/t5/image/serverpage/image-id/10629i5AD86F6404C7AB86/image-size/medium/is-moderation-mode/true?v=v2&px=400)
We would need to configure a Sink setting to dump the data in ADLS. The dataset designed here is of type Binary to capture the attachment as is with the dataset properties of ADLS name, container, file path, file name defined.
The associate Linked service of type ADLS is as shown below:
![rohit_kumar_21-1724760571741.png rohit_kumar_21-1724760571741.png](/t5/image/serverpage/image-id/10630iA2A39EE65CD2A9D0/image-size/medium/is-moderation-mode/true?v=v2&px=400)
The file dumped at the end of the last step is as show below:
![rohit_kumar_22-1724760571770.png rohit_kumar_22-1724760571770.png](/t5/image/serverpage/image-id/10632iB485B5CC0081B53C/image-size/medium/is-moderation-mode/true?v=v2&px=400)
![rohit_kumar_23-1724760571784.png rohit_kumar_23-1724760571784.png](/t5/image/serverpage/image-id/10631iF7171C2237045271/image-size/medium/is-moderation-mode/true?v=v2&px=400)