SlideShare une entreprise Scribd logo
1  sur  22
Microsoft identity platform
Apr 15, 2021 | 9:00AM PST
Community call
Get Change notification delivered
via Azure Event Hubs
George Juma
Microsoft
Kalyan Krishna
Microsoft
Introduction
• First things first
• Please note: We are recording this call so those unable to attend can benefit from the recording.
• This call is designed for developers who implement or are interested in implementing Microsoft identity platform
solutions.
• What kind of topics will we discuss?
• We will address development related topics submitted to us by the community for discussion.
• We build a pipeline of topics for the next few weeks, please submit your feedback and topic suggestions -
https://aka.ms/IDDevCommunityCallSurvey
• View recordings on the Microsoft 365 Developer YouTube channel - https://aka.ms/M365DevYouTube
• Follow us on Twitter @Microsoft365Dev and @azuread
• This is NOT a support channel. Please use Stack Overflow to ask your immediate support related questions.
• When is the next session?
• Community Calls: Monthly – 3rd Thursday of every month
• Next Identity Developer Community Call: May 20th
Microsoft identity platform
Apr 15, 2021 | 9:00AM PST
Community call
Get Change notification delivered
via Azure Event Hubs
George Juma
Microsoft
Kalyan Krishna
Microsoft
About this session
 Brief introduction to Graph change notification (WebHooks)
 Change notifications delivered via Azure Event hubs
Extend Microsoft 365 experiences Build your experience
Documents Conversations Portals Timeline Search
Web
apps
Bots &
agents
Device
& native
Daemon
apps
Workflow
automation
Analytics
apps
Microsoft Graph API
People Chats Files Devices Mail Events
Lists Security Search
Alerts
Microsoft 365
Track changes with Webhooks
Webhooks
• Allows applications to be notified when data changes in the Microsoft Graph
• Subscribe to particular notifications
• Renew subscriptions for notifications as needed
• Combine notifications with track changes for robust data notifications
• Subscribe to rich change notification to get notifications with resource data
Webhooks
• Get notifications for messages, events, contacts, users, groups,
conversations, OneDrive files & alerts endpoints
• Stay up to date and in-sync with data in the Microsoft Graph
• No “polling” at regular intervals required
• Never miss a change
Why
Webhooks
The Microsoft Graph uses the webhook mechanism to
deliver change notifications to clients.
A client is a web service that configures its own URL to
receive notifications from Microsoft Graph.
Webhooks
Using
Webhooks
Which of the following are you most familiar with
A. Azure Event Hubs
B. Azure Event Grids
C. Azure Storage Queues
D. Web sockets e.g., Socket.io
Do you use changenotifications (webhooks) in your app(s) today?
A. Yes, [supported scenario]
B. No
Get Change notifications delivered through Azure Event Hubs
Allows Change notifications to be delivered through Azure Event Hubs.
Azure Event Hubs is a popular real-time events ingestion and distribution service built for scale.
You can use Azure Events Hubs instead of traditional webhooks to receive change notifications.
Specifically built to target:
High throughput scenarios
The receiver cannot or does not want to expose a publicly available URL
Temporizing the change notifications (in case your service needs to go offline for maintenance, for
example).
Using Azure Event Hubs to receive change notifications
Get Change notifications delivered through Azure Event Hubs
Examples of high throughput scenarios:
Applications subscribing to a large set of resources
Applications subscribing to resources that change with a high frequency
Multi-tenant applications that subscribe to resources across a large set of organizations
This change notifications delivery mode is available for all resources that support Microsoft Graph change
notifications.
Using Azure Event Hubs to receive change notifications
Get Change notifications delivered through Azure Event Hubs
Microsoft
Graph
Key Vault
Microsoft Graph
Change Tracking
Event Hub
Your application
Create subscription
Get EventHub connection string
Place notifications in event hub
Retrieve messages from event hub
Get Change notifications delivered through Azure Event Hubs
How it works.
You'll need to provision an Azure Event Hub and Azure Storage.
Create a shared access policy with a "Listen" permission and obtain the
connection string. Follow the steps listed in
• Configuring the Azure Event Hub and
• Send events to and receive events from Azure Event Hubs - .NET.
You'll need to provision an Azure Key Vault.
Give access to the Microsoft Graph Change Tracking to your KeyVault entry
Use the Event Hubs SDK will relay the notifications to your application.
You don't need to reply to the notification URL validation. You can ignore the validation message that you receive.
Why Key Vault
In order to access the Event Hub securely and to allow for key rotations, Microsoft Graph gets the
connection string to the Event Hub through Azure Key Vault.
So, you need to :
• Create an Azure Key Vault to store secret.
• Add the connection string to the Event Hub as a secret.
• Add an access policy for Microsoft Graph (Microsoft Graph Change Tracking) to access the secret.
After you create the required Azure KeyVault and Azure Event Hubs services, you can go ahead and create
your subscription and start receiving change notifications via Azure Event Hubs.
But wait, the notification URL is constructed differently too..
The new NotificationURL
Its set as
EventHub:https://<azurekeyvaultname>.vault.azure.net/secrets/<secretname>?tenantId=<domainname>
with the following values:
azurekeyvaultname - The name you gave to the key vault when you created it. Can be found in the DNS name.
secretname - The name you gave to the secret when you created it. Can be found on the Azure Key Vault Secrets page.
domainname - The name of your tenant; for example, consto.onmicrosoft.com or contoso.com. Because this domain will be used to
access the Azure Key Vault, it is important that it matches the domain used by the Azure subscription that holds the Azure Key Vault. To get
this information, you can go to the overview page of the Azure Key Vault you created and click the subscription. The domain name is
displayed under the Directory field.
{
"changeType": "Updated,Deleted",
"notificationUrl": "EventHub:https://<your keyvault name>.vault.azure.net/secrets/<your secret name>?tenantId=contoso.onmicrosoft.com",
"resource": "users",
"expirationDateTime": "2021-08-15T00:00:00Z",
"clientState": "suresecret1"
}
git clone --branch event-hub https://github.com/microsoftgraph/msgraph-training-changenotifications
Resources
Use the Microsoft Graph API to get change notifications
Using Azure Event Hubs to receive change notifications
Microsoft Graph Training Module - Using Change Notifications and Track Changes with Microsoft Graph
Azure Event Hubs — A big data streaming platform and event ingestion service
Microsoft 365
https://aka.ms/adaptivecardscommunitycall
https://aka.ms/microsoftgraphcall
https://aka.ms/IDDevCommunityCalendar
https://aka.ms/microsoftteamscommunitycall
https://aka.ms/officeaddinscommunitycall
https://aka.ms/PowerAppsMonthlyCall
https://aka.ms/spdev-call
) https://aka.ms/spdev-sig-call
(biweekly https://aka.ms/spdev-spfx-call
https://aka.ms/M365PnP
Recording will be available soon on our
Microsoft 365 Developer YouTube channel
https://aka.ms/M365DevYouTube
(subscribe today)
Follow us on Twitter
@Microsoft365Dev and @azuread
Next call: Apr 15th at 9:00am PST
https://aka.ms/IDDevCommunityCalendar
Thank you

Contenu connexe

Tendances

Dapr: distributed application runtime
Dapr: distributed application runtimeDapr: distributed application runtime
Dapr: distributed application runtimeMoaid Hathot
 
Azure App Service
Azure App ServiceAzure App Service
Azure App ServiceBizTalk360
 
Building a Modern Data Architecture on AWS - Webinar
Building a Modern Data Architecture on AWS - WebinarBuilding a Modern Data Architecture on AWS - Webinar
Building a Modern Data Architecture on AWS - WebinarAmazon Web Services
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluentconfluent
 
IoT & Azure (EventHub)
IoT & Azure (EventHub)IoT & Azure (EventHub)
IoT & Azure (EventHub)Mirco Vanini
 
Azure active directory によるデバイス管理の種類とトラブルシュート事例について
Azure active directory によるデバイス管理の種類とトラブルシュート事例についてAzure active directory によるデバイス管理の種類とトラブルシュート事例について
Azure active directory によるデバイス管理の種類とトラブルシュート事例についてShinya Yamaguchi
 
Spring Cloud Gateway on Kubernetes
Spring Cloud Gateway on KubernetesSpring Cloud Gateway on Kubernetes
Spring Cloud Gateway on KubernetesTakeshi Ogawa
 
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門Hisashi HATAKEYAMA
 
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID ConnectDemystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID ConnectVinay Manglani
 
Getting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics servicesGetting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics servicesEastBanc Tachnologies
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService PrincipalToru Makabe
 
Tackle Your Dark Data Challenge with AWS Glue - AWS Online Tech Talks
Tackle Your Dark Data  Challenge with AWS Glue - AWS Online Tech TalksTackle Your Dark Data  Challenge with AWS Glue - AWS Online Tech Talks
Tackle Your Dark Data Challenge with AWS Glue - AWS Online Tech TalksAmazon Web Services
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Managementjeremysbrown
 
Azure API Management
Azure API ManagementAzure API Management
Azure API ManagementDaniel Toomey
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜Masaru Kurahayashi
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic AppsBizTalk360
 
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流についてAzureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について真吾 吉田
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure FunctionsCallon Campbell
 

Tendances (20)

Dapr: distributed application runtime
Dapr: distributed application runtimeDapr: distributed application runtime
Dapr: distributed application runtime
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
Webhooks
WebhooksWebhooks
Webhooks
 
Building a Modern Data Architecture on AWS - Webinar
Building a Modern Data Architecture on AWS - WebinarBuilding a Modern Data Architecture on AWS - Webinar
Building a Modern Data Architecture on AWS - Webinar
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluent
 
IoT & Azure (EventHub)
IoT & Azure (EventHub)IoT & Azure (EventHub)
IoT & Azure (EventHub)
 
Azure active directory によるデバイス管理の種類とトラブルシュート事例について
Azure active directory によるデバイス管理の種類とトラブルシュート事例についてAzure active directory によるデバイス管理の種類とトラブルシュート事例について
Azure active directory によるデバイス管理の種類とトラブルシュート事例について
 
Spring Cloud Gateway on Kubernetes
Spring Cloud Gateway on KubernetesSpring Cloud Gateway on Kubernetes
Spring Cloud Gateway on Kubernetes
 
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門
 
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID ConnectDemystifying SAML 2.0,Oauth 2.0, OpenID Connect
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
 
Getting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics servicesGetting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics services
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
AWS Black Belt Online Seminar 2016 AWS IoT
AWS Black Belt Online Seminar 2016 AWS IoTAWS Black Belt Online Seminar 2016 AWS IoT
AWS Black Belt Online Seminar 2016 AWS IoT
 
Tackle Your Dark Data Challenge with AWS Glue - AWS Online Tech Talks
Tackle Your Dark Data  Challenge with AWS Glue - AWS Online Tech TalksTackle Your Dark Data  Challenge with AWS Glue - AWS Online Tech Talks
Tackle Your Dark Data Challenge with AWS Glue - AWS Online Tech Talks
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流についてAzureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 

Similaire à Change Notifications in Azure Event Hubs-April 2021

Zure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayZure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayOkko Oulasvirta
 
Go…Running Kentico CMS on Windows Azure
Go…Running Kentico CMS on Windows AzureGo…Running Kentico CMS on Windows Azure
Go…Running Kentico CMS on Windows AzureThomas Robbins
 
What is Windows Azure?
What is Windows Azure?What is Windows Azure?
What is Windows Azure?Lynn Langit
 
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...VMware Tanzu
 
Get set.. Introduction to Windows Azure Development
Get set.. Introduction to Windows Azure DevelopmentGet set.. Introduction to Windows Azure Development
Get set.. Introduction to Windows Azure DevelopmentThomas Robbins
 
Microsoft Tech Series 2019 - Azure DevOps
Microsoft Tech Series 2019 - Azure DevOpsMicrosoft Tech Series 2019 - Azure DevOps
Microsoft Tech Series 2019 - Azure DevOpsTomasz Wisniewski
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMalcolm Duncanson, CISSP
 
Microsoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure PlatformMicrosoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure PlatformDavid Chou
 
Building Solution Templates and Managed Applications for the Azure Marketplace
Building Solution Templates and Managed Applications for the Azure MarketplaceBuilding Solution Templates and Managed Applications for the Azure Marketplace
Building Solution Templates and Managed Applications for the Azure MarketplaceMicrosoft Tech Community
 
Azure Web Apps: What it is and how to get started
Azure Web Apps: What it is and how to get started Azure Web Apps: What it is and how to get started
Azure Web Apps: What it is and how to get started BelleHenry
 
Exploring Microsoft Teams extensibility
Exploring Microsoft Teams extensibilityExploring Microsoft Teams extensibility
Exploring Microsoft Teams extensibilityWes Hackett
 
Display Microsoft Teams status on your smart light
Display Microsoft Teams status on your smart lightDisplay Microsoft Teams status on your smart light
Display Microsoft Teams status on your smart lightMohamed Ashiq Faleel
 
Get started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesGet started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesSenthamil Selvan
 
Azure DevOps Tasks.pptx
 Azure DevOps Tasks.pptx Azure DevOps Tasks.pptx
Azure DevOps Tasks.pptxPrasanthOneness
 
Azure businessoverview daliborkacma
Azure businessoverview daliborkacma Azure businessoverview daliborkacma
Azure businessoverview daliborkacma Rateb Abu Hawieleh
 
Microsoft azure infrastructure essentials course manual
Microsoft azure infrastructure essentials   course manualMicrosoft azure infrastructure essentials   course manual
Microsoft azure infrastructure essentials course manualmichaeldejene4
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxsaidbilgen
 

Similaire à Change Notifications in Azure Event Hubs-April 2021 (20)

Zure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayZure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training day
 
Go…Running Kentico CMS on Windows Azure
Go…Running Kentico CMS on Windows AzureGo…Running Kentico CMS on Windows Azure
Go…Running Kentico CMS on Windows Azure
 
What is Windows Azure?
What is Windows Azure?What is Windows Azure?
What is Windows Azure?
 
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
 
Get set.. Introduction to Windows Azure Development
Get set.. Introduction to Windows Azure DevelopmentGet set.. Introduction to Windows Azure Development
Get set.. Introduction to Windows Azure Development
 
Microsoft Tech Series 2019 - Azure DevOps
Microsoft Tech Series 2019 - Azure DevOpsMicrosoft Tech Series 2019 - Azure DevOps
Microsoft Tech Series 2019 - Azure DevOps
 
Executive Summit for ISV & Application builders - January 2015
Executive Summit for ISV & Application builders - January 2015Executive Summit for ISV & Application builders - January 2015
Executive Summit for ISV & Application builders - January 2015
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM Roles
 
Microsoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure PlatformMicrosoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure Platform
 
Building Solution Templates and Managed Applications for the Azure Marketplace
Building Solution Templates and Managed Applications for the Azure MarketplaceBuilding Solution Templates and Managed Applications for the Azure Marketplace
Building Solution Templates and Managed Applications for the Azure Marketplace
 
Azure Web Apps: What it is and how to get started
Azure Web Apps: What it is and how to get started Azure Web Apps: What it is and how to get started
Azure Web Apps: What it is and how to get started
 
Exploring Microsoft Teams extensibility
Exploring Microsoft Teams extensibilityExploring Microsoft Teams extensibility
Exploring Microsoft Teams extensibility
 
Display Microsoft Teams status on your smart light
Display Microsoft Teams status on your smart lightDisplay Microsoft Teams status on your smart light
Display Microsoft Teams status on your smart light
 
Get started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesGet started azure- Azure Mobile Services
Get started azure- Azure Mobile Services
 
Azure DevOps Tasks.pptx
 Azure DevOps Tasks.pptx Azure DevOps Tasks.pptx
Azure DevOps Tasks.pptx
 
Azure businessoverview (1)
Azure businessoverview  (1)Azure businessoverview  (1)
Azure businessoverview (1)
 
Azure business overview
Azure business overviewAzure business overview
Azure business overview
 
Azure businessoverview daliborkacma
Azure businessoverview daliborkacma Azure businessoverview daliborkacma
Azure businessoverview daliborkacma
 
Microsoft azure infrastructure essentials course manual
Microsoft azure infrastructure essentials   course manualMicrosoft azure infrastructure essentials   course manual
Microsoft azure infrastructure essentials course manual
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptx
 

Plus de Microsoft 365 Developer

Microsoft Teams community call-August 2020
Microsoft Teams community call-August 2020Microsoft Teams community call-August 2020
Microsoft Teams community call-August 2020Microsoft 365 Developer
 
Decentralized Identities-July 2020 community call
Decentralized Identities-July 2020 community callDecentralized Identities-July 2020 community call
Decentralized Identities-July 2020 community callMicrosoft 365 Developer
 
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Microsoft 365 Developer
 
Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020Microsoft 365 Developer
 
Health team collaboration pitch deck partner
Health team collaboration pitch deck partnerHealth team collaboration pitch deck partner
Health team collaboration pitch deck partnerMicrosoft 365 Developer
 
Teams healthcare partner webinar ansuman partner
Teams healthcare partner webinar   ansuman partnerTeams healthcare partner webinar   ansuman partner
Teams healthcare partner webinar ansuman partnerMicrosoft 365 Developer
 
Teams healthcare partner webinar virtual visits partner
Teams healthcare partner webinar   virtual visits partnerTeams healthcare partner webinar   virtual visits partner
Teams healthcare partner webinar virtual visits partnerMicrosoft 365 Developer
 
Teams healthcare partner webinar srini partner
Teams healthcare partner webinar   srini partnerTeams healthcare partner webinar   srini partner
Teams healthcare partner webinar srini partnerMicrosoft 365 Developer
 
Teams healthcare partner webinar paul partner
Teams healthcare partner webinar   paul  partnerTeams healthcare partner webinar   paul  partner
Teams healthcare partner webinar paul partnerMicrosoft 365 Developer
 
Teams healthcare partner webinar keren partner
Teams healthcare partner webinar   keren partnerTeams healthcare partner webinar   keren partner
Teams healthcare partner webinar keren partnerMicrosoft 365 Developer
 
Teams healthcare partner webinar daniel partner
Teams healthcare partner webinar   daniel partnerTeams healthcare partner webinar   daniel partner
Teams healthcare partner webinar daniel partnerMicrosoft 365 Developer
 
Teams healthcare partner webinar andrew partner
Teams healthcare partner webinar   andrew partnerTeams healthcare partner webinar   andrew partner
Teams healthcare partner webinar andrew partnerMicrosoft 365 Developer
 
Security and compliance for healthcare pitch deck partner
Security and compliance for healthcare pitch deck partnerSecurity and compliance for healthcare pitch deck partner
Security and compliance for healthcare pitch deck partnerMicrosoft 365 Developer
 
Community call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformCommunity call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformMicrosoft 365 Developer
 
Microsoft Graph developer community call-March 2020
Microsoft Graph developer community call-March 2020Microsoft Graph developer community call-March 2020
Microsoft Graph developer community call-March 2020Microsoft 365 Developer
 

Plus de Microsoft 365 Developer (20)

Power Apps community call - August 2020
Power Apps community call - August 2020Power Apps community call - August 2020
Power Apps community call - August 2020
 
Microsoft Teams community call-August 2020
Microsoft Teams community call-August 2020Microsoft Teams community call-August 2020
Microsoft Teams community call-August 2020
 
Decentralized Identities-July 2020 community call
Decentralized Identities-July 2020 community callDecentralized Identities-July 2020 community call
Decentralized Identities-July 2020 community call
 
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020
 
Power Apps community call-June 2020
Power Apps community call-June 2020Power Apps community call-June 2020
Power Apps community call-June 2020
 
Office Add-ins community call-June 2020
Office Add-ins community call-June 2020Office Add-ins community call-June 2020
Office Add-ins community call-June 2020
 
Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020
 
Power Apps community call - May 2020
Power Apps community call - May 2020Power Apps community call - May 2020
Power Apps community call - May 2020
 
Health team collaboration pitch deck partner
Health team collaboration pitch deck partnerHealth team collaboration pitch deck partner
Health team collaboration pitch deck partner
 
Teams healthcare partner webinar ansuman partner
Teams healthcare partner webinar   ansuman partnerTeams healthcare partner webinar   ansuman partner
Teams healthcare partner webinar ansuman partner
 
Teams healthcare partner webinar virtual visits partner
Teams healthcare partner webinar   virtual visits partnerTeams healthcare partner webinar   virtual visits partner
Teams healthcare partner webinar virtual visits partner
 
Teams healthcare partner webinar srini partner
Teams healthcare partner webinar   srini partnerTeams healthcare partner webinar   srini partner
Teams healthcare partner webinar srini partner
 
Teams healthcare partner webinar paul partner
Teams healthcare partner webinar   paul  partnerTeams healthcare partner webinar   paul  partner
Teams healthcare partner webinar paul partner
 
Teams healthcare partner webinar keren partner
Teams healthcare partner webinar   keren partnerTeams healthcare partner webinar   keren partner
Teams healthcare partner webinar keren partner
 
Teams healthcare partner webinar daniel partner
Teams healthcare partner webinar   daniel partnerTeams healthcare partner webinar   daniel partner
Teams healthcare partner webinar daniel partner
 
Teams healthcare partner webinar andrew partner
Teams healthcare partner webinar   andrew partnerTeams healthcare partner webinar   andrew partner
Teams healthcare partner webinar andrew partner
 
Security and compliance for healthcare pitch deck partner
Security and compliance for healthcare pitch deck partnerSecurity and compliance for healthcare pitch deck partner
Security and compliance for healthcare pitch deck partner
 
Power Apps community call_April 2020
Power Apps community call_April 2020Power Apps community call_April 2020
Power Apps community call_April 2020
 
Community call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformCommunity call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platform
 
Microsoft Graph developer community call-March 2020
Microsoft Graph developer community call-March 2020Microsoft Graph developer community call-March 2020
Microsoft Graph developer community call-March 2020
 

Dernier

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Dernier (20)

Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Change Notifications in Azure Event Hubs-April 2021

  • 1. Microsoft identity platform Apr 15, 2021 | 9:00AM PST Community call Get Change notification delivered via Azure Event Hubs George Juma Microsoft Kalyan Krishna Microsoft
  • 2. Introduction • First things first • Please note: We are recording this call so those unable to attend can benefit from the recording. • This call is designed for developers who implement or are interested in implementing Microsoft identity platform solutions. • What kind of topics will we discuss? • We will address development related topics submitted to us by the community for discussion. • We build a pipeline of topics for the next few weeks, please submit your feedback and topic suggestions - https://aka.ms/IDDevCommunityCallSurvey • View recordings on the Microsoft 365 Developer YouTube channel - https://aka.ms/M365DevYouTube • Follow us on Twitter @Microsoft365Dev and @azuread • This is NOT a support channel. Please use Stack Overflow to ask your immediate support related questions. • When is the next session? • Community Calls: Monthly – 3rd Thursday of every month • Next Identity Developer Community Call: May 20th
  • 3. Microsoft identity platform Apr 15, 2021 | 9:00AM PST Community call Get Change notification delivered via Azure Event Hubs George Juma Microsoft Kalyan Krishna Microsoft
  • 4. About this session  Brief introduction to Graph change notification (WebHooks)  Change notifications delivered via Azure Event hubs
  • 5. Extend Microsoft 365 experiences Build your experience Documents Conversations Portals Timeline Search Web apps Bots & agents Device & native Daemon apps Workflow automation Analytics apps Microsoft Graph API People Chats Files Devices Mail Events Lists Security Search Alerts Microsoft 365
  • 7. Webhooks • Allows applications to be notified when data changes in the Microsoft Graph • Subscribe to particular notifications • Renew subscriptions for notifications as needed • Combine notifications with track changes for robust data notifications • Subscribe to rich change notification to get notifications with resource data
  • 8. Webhooks • Get notifications for messages, events, contacts, users, groups, conversations, OneDrive files & alerts endpoints • Stay up to date and in-sync with data in the Microsoft Graph • No “polling” at regular intervals required • Never miss a change Why Webhooks
  • 9. The Microsoft Graph uses the webhook mechanism to deliver change notifications to clients. A client is a web service that configures its own URL to receive notifications from Microsoft Graph. Webhooks Using Webhooks
  • 10. Which of the following are you most familiar with A. Azure Event Hubs B. Azure Event Grids C. Azure Storage Queues D. Web sockets e.g., Socket.io
  • 11. Do you use changenotifications (webhooks) in your app(s) today? A. Yes, [supported scenario] B. No
  • 12. Get Change notifications delivered through Azure Event Hubs Allows Change notifications to be delivered through Azure Event Hubs. Azure Event Hubs is a popular real-time events ingestion and distribution service built for scale. You can use Azure Events Hubs instead of traditional webhooks to receive change notifications. Specifically built to target: High throughput scenarios The receiver cannot or does not want to expose a publicly available URL Temporizing the change notifications (in case your service needs to go offline for maintenance, for example). Using Azure Event Hubs to receive change notifications
  • 13. Get Change notifications delivered through Azure Event Hubs Examples of high throughput scenarios: Applications subscribing to a large set of resources Applications subscribing to resources that change with a high frequency Multi-tenant applications that subscribe to resources across a large set of organizations This change notifications delivery mode is available for all resources that support Microsoft Graph change notifications. Using Azure Event Hubs to receive change notifications
  • 14. Get Change notifications delivered through Azure Event Hubs Microsoft Graph Key Vault Microsoft Graph Change Tracking Event Hub Your application Create subscription Get EventHub connection string Place notifications in event hub Retrieve messages from event hub
  • 15. Get Change notifications delivered through Azure Event Hubs How it works. You'll need to provision an Azure Event Hub and Azure Storage. Create a shared access policy with a "Listen" permission and obtain the connection string. Follow the steps listed in • Configuring the Azure Event Hub and • Send events to and receive events from Azure Event Hubs - .NET. You'll need to provision an Azure Key Vault. Give access to the Microsoft Graph Change Tracking to your KeyVault entry Use the Event Hubs SDK will relay the notifications to your application. You don't need to reply to the notification URL validation. You can ignore the validation message that you receive.
  • 16. Why Key Vault In order to access the Event Hub securely and to allow for key rotations, Microsoft Graph gets the connection string to the Event Hub through Azure Key Vault. So, you need to : • Create an Azure Key Vault to store secret. • Add the connection string to the Event Hub as a secret. • Add an access policy for Microsoft Graph (Microsoft Graph Change Tracking) to access the secret. After you create the required Azure KeyVault and Azure Event Hubs services, you can go ahead and create your subscription and start receiving change notifications via Azure Event Hubs. But wait, the notification URL is constructed differently too..
  • 17. The new NotificationURL Its set as EventHub:https://<azurekeyvaultname>.vault.azure.net/secrets/<secretname>?tenantId=<domainname> with the following values: azurekeyvaultname - The name you gave to the key vault when you created it. Can be found in the DNS name. secretname - The name you gave to the secret when you created it. Can be found on the Azure Key Vault Secrets page. domainname - The name of your tenant; for example, consto.onmicrosoft.com or contoso.com. Because this domain will be used to access the Azure Key Vault, it is important that it matches the domain used by the Azure subscription that holds the Azure Key Vault. To get this information, you can go to the overview page of the Azure Key Vault you created and click the subscription. The domain name is displayed under the Directory field. { "changeType": "Updated,Deleted", "notificationUrl": "EventHub:https://<your keyvault name>.vault.azure.net/secrets/<your secret name>?tenantId=contoso.onmicrosoft.com", "resource": "users", "expirationDateTime": "2021-08-15T00:00:00Z", "clientState": "suresecret1" }
  • 18. git clone --branch event-hub https://github.com/microsoftgraph/msgraph-training-changenotifications
  • 19.
  • 20. Resources Use the Microsoft Graph API to get change notifications Using Azure Event Hubs to receive change notifications Microsoft Graph Training Module - Using Change Notifications and Track Changes with Microsoft Graph Azure Event Hubs — A big data streaming platform and event ingestion service
  • 22. Recording will be available soon on our Microsoft 365 Developer YouTube channel https://aka.ms/M365DevYouTube (subscribe today) Follow us on Twitter @Microsoft365Dev and @azuread Next call: Apr 15th at 9:00am PST https://aka.ms/IDDevCommunityCalendar Thank you

Notes de l'éditeur

  1. Now, we can't talk about change notifications in Microsoft Graph without first speaking about the Microsoft Graph itself. But what is Microsoft Graph? There are many teams that build the applications and services that make the Microsoft 365 ecosystem. In the past each of these teams exposed their own API. Well, you can imagine how difficult it was to handle with all of them at the same time to build an application, right? The Microsoft Graph is the gateway to data and intelligence in Microsoft 365 giving developers a unified programmability model to take advantage of the tremendous amount of data in Office 365, Enterprise Mobility + Security and Windows 10 under a single consistent API which directs the calls to the right source. That way, developers don’t need to know where exactly the data lives. And now you may ask: "Ok, but what is the benefit of not knowing where the data lives?" Well, it's quite simple to answer that, you don't need multiple tokens to access multiple APIs for example. To make this more concrete, let's give you some examples.
  2. With Microsoft Graph, apps and services can leverage this incredibly rich data set from M365 thanks to the Microsoft Graph service, which directs the calls to the right source so developer don’t need to know where exactly the data lives. Graph also aggregates calls for efficiency and performance, and allows the developer to easily traverse the graph of data. This way, it’s easy to build an app that – for example – based on a security alert in a tenant, can traverse the graph to see which users might be affected, and for each user, which devices and documents might be affected – thus making it easy to connect data from across many services to solve for real business scenarios. And some of these scenarios include : building apps for identity-centric scenarios - where users, and other AAD-centric and directory data is at the center – for example, like pulling in who is someone's manager or what organization they are in. Devs can build apps with richer content – Access deep insights generated from usage patterns, such as trending documents, best team meeting times, or who people typically work with. Devs can also build apps with deep insights based on machine learning algorithms that power some of the Graph APIs. And finally devs can build apps with real time updates of the data – for businesses that run in real time. Developers can respond to changes in Microsoft Graph data in real time. For example, reschedule a meeting based on responses, notify others when a file is modified, or continue a process after it's been approved. We’re super excited to make Microsoft Graph the gateway to data and intelligence in Microsoft 365 and give developers a unified programmability model to take advantage of the tremendous amount of data in Office 365, Enterprise Mobility + Security, and Windows 10. And we’ve also recently added Dynamics 365 Business Central data in Microsoft Graph.
  3. 8
  4. Many custom applications have a need to track and replicate changes between two systems. For example, updates to user information in the master Azure AD directory for an organization, such as office addresses, manager, and contact phone numbers need to be recorded in time reporting systems or other back-office platforms. One way developers can monitor a source system for changes is by polling the system to detect changes. As you learned in a previous unit, an alternative to the polling pattern, developers can leverage change notifications in Microsoft Graph to be notified when entities change. While this addresses one part of the problem, what happens in the case where a the webhook notificationUrl is unreachable for some reason? In this case, your application may miss changes to entities. In addition, what happens if in cases where the application can not cope with the high number of changes especially in multi tenant scenarios due to lack of resources. There's another option that developers can leverage for such scenarios in Microsoft Graph. Setting up an Azure event hub and creating a subscription that sends notifications to the event hub solves the problem. You can create an event hub listener related with your subscription. Microsoft Graph will send all changes to your resource to the Azure Event hub. Your azure event hub listener can then get the change notifications.
  5. Webhooks are HTTP requests made from Microsoft Graph to a web endpoint that you configure when creating the subscription. The endpoint uses HTTPS protocol, the endpoint must be publicly accessible (you cannot register an endpoint that is non-routable or behind a firewall such as https://localhost). During testing you can use a proxy such as ngrok.
  6. https://docs.microsoft.com/en-us/graph/api/subscription-post-subscriptions
  7. https://docs.microsoft.com/en-us/graph/api/subscription-post-subscriptions
  8. 1. Change occurs in Graph
  9. Many custom applications have a need to track and replicate changes between two systems. For example, updates to user information in the master Azure AD directory for an organization, such as office addresses, manager, and contact phone numbers need to be recorded in time reporting systems or other back-office platforms. One way developers can monitor a source system for changes is by polling the system to detect changes. As you learned in a previous unit, an alternative to the polling pattern, developers can leverage change notifications in Microsoft Graph to be notified when entities change. While this addresses one part of the problem, what happens in the case where a the webhook notificationUrl is unreachable for some reason? In this case, your application may miss changes to entities. In addition, what happens if in cases where the application can not cope with the high number of changes especially in multi tenant scenarios due to lack of resources. There's another option that developers can leverage for such scenarios in Microsoft Graph. Setting up an Azure event hub and creating a subscription that sends notifications to the event hub solves the problem. You can create an event hub listener related with your subscription. Microsoft Graph will send all changes to your resource to the Azure Event hub. Your azure event hub listener can then get the change notifications.