Working with OAuth 2 0 APIs in Azure Data Factory

Ғылым және технология

Links, session details, and speaker bio:
Sign up to our Meetup group www.meetup.com/hybrid-virtual...
Join our LinkedIn group / 12487. .
Follow us on Twitter / hybridvug​
...and of course don't forget to subscribe to our channel, like the video, and hit the bell! It really helps us in our mission to produce free content for the masses.
Session Details:
Working with APIs can be tricky, and even more so when it's an OAuth 2.0 API. Add to that an ETL platform and automation, and you now have a perfect storm that's pretty difficult to navigate.
This session is about my journey with OAuth 2.0 APIs while trying to extract my own financial data, how I struggled with the authorization flow and how it finally started making sense.
We'll talk about what an OAuth 2.0 API is, and why they are so difficult to deal with when your tool of choice is an automated ETL platform. After that we'll take a closer look at the steps to develop an ADF pipeline that extracts data from an OAuth 2.0 API, and review some tools that can help you throughout the development process.
Speaker Bio:
Martin Schoombee is Chief Data Wrangler at 28twelve consulting he helps people make sense of their data, using Microsoft technologies.
Host/s:
Mark Broadbent.
Mikael Wedham.
Originally recorded on 1st June 2022.
Video Production: Mark Broadbent 4th September 2022.
00:00 Introduction
02:22 What is OAuth
03:44 The Authorization Flow
11:20 Testing APIs (with Postman)
36:08 Azure Data Factory - Linked Services, Datasets & Pipelines
48:09 Questions

Пікірлер: 27

  • @HybridVirtualGroup
    @HybridVirtualGroup Жыл бұрын

    Use the following timings to jump to your content of interest: 00:00 Introduction 02:22 What is OAuth 03:44 The Authorization Flow 11:20 Testing APIs (with Postman) 36:08 Azure Data Factory - Linked Services, Datasets & Pipelines 48:09 Questions

  • @JohnOC4U
    @JohnOC4U Жыл бұрын

    Posts such as this our the lifeblood of data engineers!! People such as Martin should be congratulated for going to the trouble to share this type of content! Brilliantly explained. Incredibly useful. Thank you.

  • @HybridVirtualGroup

    @HybridVirtualGroup

    Жыл бұрын

    Thank you for your kind feedback. We agree, Martin is a superstar.

  • @MartinSchoombee

    @MartinSchoombee

    Жыл бұрын

    Thank you very much for the kind words, John. Comments like these help motivate us to keep going, knowing that we were able to help some folks.

  • @sallieworsley2867
    @sallieworsley28679 күн бұрын

    Thank you for putting this together, it is informative and useful.

  • @mohanpanga7794
    @mohanpanga7794 Жыл бұрын

    This is amazing, I liked how you used the Azure Key Vault to securely save the token/url etc to use for the API calls.

  • @eziola
    @eziola Жыл бұрын

    Great video! So helpful, and great job explaining everything. That being said, I believe you forgot the step where you have to add an "Access Policy" that includes the Key Permissions for the Data Factory.

  • @MartinSchoombee

    @MartinSchoombee

    Жыл бұрын

    Yes, good catch thank you :-)

  • @EasyDataEngineering

    @EasyDataEngineering

    9 ай бұрын

    What exactly is meant by what you said? I am getting an error that says "AKV10000: Request is missing a Bearer or PoP token." which I think is related to creating an access policy; however, when I click on Access Policy it says that everything is handled in the Access Control (IAM) page

  • @SanderSchmeitz
    @SanderSchmeitzАй бұрын

    Awesome tutorial! I got my OAUTH2 flow working as well! Only question that I have is: What Sink did you configure in the 'Copy Xero Invoices' copy activity? In my case I want to send data from system A to system B, but I think I just have to use two Web activities (Get and Post/Put) instead of a Copy activity (because I think they don't support POST/PUT in the Sink of a Copy Activity).

  • @geoffreyhibon2651
    @geoffreyhibon2651 Жыл бұрын

    Amazing Pres! Thanks a lot

  • @alikh1984
    @alikh1984 Жыл бұрын

    Great Stuff, thank you for this!

  • @Ravichandra-fi5ks
    @Ravichandra-fi5ks Жыл бұрын

    I hope you keep on doing what you are doing. 🙂

  • @avinashkale5019
    @avinashkale50196 ай бұрын

    Great video and very nicely explained. I liked to understand how you used the Azure Key Vault to securely save the token/url etc to use for the API calls or is any code publish in Git Repo, if yes please share the link. Thanks in advance.

  • @saurabhtalele1537
    @saurabhtalele1537 Жыл бұрын

    cool content....

  • @JMo268
    @JMo2685 ай бұрын

    So is postman or other third party tool required to configure Oath between ADF and your example cloud app?

  • @ris9hi
    @ris9hi Жыл бұрын

    I see, you have implemented refresh grant type in ADF, do I need to run the Auth code flow in Postman first and get the refresh token and use the same refresh token in ADF with grant type as refresh?

  • @MartinSchoombee

    @MartinSchoombee

    Жыл бұрын

    Yes, you need to go through the Auth flow outside of ADF first in order to get your first set of tokens. After that, you can use those tokens in ADF to get a new refresh token.

  • @viveknimmagadda2397
    @viveknimmagadda2397 Жыл бұрын

    Thank you for the detailed explanation. I had followed all the steps as explained here. However, when I create the web activity in ADF to refresh the Xero access token, I keep getting the error "invalid_client" with error code 2108. It works perfectly fine when in Postman and when I look into the input of the web activity, the Authorization and grant_type are exactly in sync with that of Postman. Tried searching for the same error on the internet but wasn't successful.

  • @SachinGupta-nh5vy
    @SachinGupta-nh5vy5 ай бұрын

    where will i get Auth URL and Access Token URL? please help

  • @tbuck51
    @tbuck51 Жыл бұрын

    Great video! Question. I see that the refresh token is updated in Key Vault with a PUT operation, where does the Access Token get saved? Does it get saved under a secret in key vault. I am working on a Quickbooks Online integration that requires a "client secret" and "refresh token" in the linked service

  • @MartinSchoombee

    @MartinSchoombee

    Жыл бұрын

    Thank you! Yes, I like to save the access token, refresh token and client secret all in Key Vault. The access token is saved in a similar fashion to the refresh token. Because of the fact that the client secret doesn't change, you can add that to the Key Vault manually and don't have to do it as part of the pipeline. A word of caution regarding the QuickBooks linked service, as I am dealing with it on another project...don't use it. Use the native REST linked service for REST APIs...the built-in linked services usually don't do a good job of dealing with the nuances the different vendors like to implement.

  • @tbuck51

    @tbuck51

    Жыл бұрын

    @@MartinSchoombee Thank you for the heads up! Its always a risk when trying to use Preview features as it is. I will try out the REST API connector instead. I appreciate all of your help and great explanations!

  • @tbuck51

    @tbuck51

    Жыл бұрын

    @@MartinSchoombee Is there any chance that you may have a tutorial of the QuickBooks Online integration that you are working on as well?

  • @MartinSchoombee

    @MartinSchoombee

    Жыл бұрын

    @@tbuck51 Not specific to QuickBooks, but have a look at my blog series on the topic...the logic should be virtually identical to what I have there.

  • @tbuck51

    @tbuck51

    Жыл бұрын

    @@MartinSchoombee Will do! Thank you!

  • @rashane1000
    @rashane10007 ай бұрын

    new sub here! thanks for this awesome content! keep it coming 😊

Келесі