Latest / M365.FM – Podcast su Microsoft 365, Copilot e IA in italiano / Webhook di Microsoft Graph spiegati: notifiche in tempo reale invece del polling continuo (Doppiaggio IA)
Transcript
- 0:00Siete pronti per 10 giorni di Microsoft 365 e Copilot EA, azzurre per le persone che stanno plasmando il futuro del lavoro?
- 0:07Questo gennaio, M365 con ritorno e faremo le cose in grande.
- 0:12Unitevi a noi per sessioni dal vivo, demo reali e conoscenze pratiche da MVP ed esperti del settore di tutto il mondo.
- 0:18Niente slide generiche, niente gergo infinito.
- 0:22Affronteremo le sfide reali.
- 0:23Copilot Studio, agenti, IA, Fabric, sicurezza, governance e automazione.
- 0:28Che siate professionisti IK, sviluppatori o leader aziendali, ci sono sessioni pensate per voi.
- 0:35Con 10 giorni interi potrete esplorare diverse tecnologie e connettervi con una community globale.
- 0:40Seguite le dirette e portate intuizioni pratiche nella vostra organizzazione.
- 0:45Gennaio 2027, 10 giorni, un'unica Microsoft Community.
- 0:49Le iscrizioni sono aperte.
- 0:51Andate su m365con.net e assicuratevi il vostro posto oggi stesso.
- 0:55m365con.net
- 0:58Iscrivetevi ora su m365con.net e ci vediamo dal vivo a gennaio.
- 1:04Ciao a tutti e benvenuti a un altro episodio di Microsoft Knowledge Nuggets qui su m365fm.
- 1:10Sono il vostro conduttore, mi copi.
- 1:11L'argomento di oggi è qualcosa di cui quasi tutti coloro che lavorano con Microsoft 365 hanno sentito parlare,
- 1:16ma che in pochi sanno spiegare chiaramente.
- 1:17Cosa sono esattamente i webbook di gra?
- 1:19Perché dovreste interessarvi a loro invece di continuare con i vecchi o me?
- 1:22Immaginate di aspettare una lettera importante.
- 1:24Andate alla cassetta delle lettere, vuota.
- 1:25Tornate indietro.
- 1:2610 minuti dopo, controllate di nuovo.
- 1:28Ancora niente.
- 1:28Lo fate tutto il giorno, sprecando tempo ed energie.
- 1:30Questo è Polli.
- 1:31Ora immaginate un mondo diverso.
- 1:33Il postino suona il campanello nel momento in cui arriva una lettera.
- 1:35Non dovete controllare.
- 1:36Aspettate il suono.
- 1:37Questo è un webbook.
- 1:38Alla fine di questo episodio capirete cosa sono i webbook di graph
- 1:41perché sostituiscono il controllo costante e come si incastrano i pezzi.
- 1:45Problema del Polli.
- 1:46Analizziamolo nei dettagli.
- 1:48Per capire perché i webbook sono importanti dovete capire perché il polling è dannoso.
- 1:51Ecco come funzionano oggi la maggior parte delle applicazioni.
- 1:53La vostra app ha bisogno di risposta.
- 1:54Chiede a Microsoft Graph,
- 1:55Ehi, ci sono nuovi utenti?
- 1:57Risponde, no.
- 1:59Quindi la vostra app aspetta un po' e poi richiede
- 2:00ora ci sono nuovi utenti?
- 2:02Ancora no.
- 2:03Ripetutamente questo processo è il polling.
- 2:05Pensatelo come chiamare continuamente un amico per sapere se ha notizie.
- 2:08Componete il numero, risponde, chiedete, dice di no, riagganciate.
- 2:11Poi richiamate dopo cinque minuti e ancora.
- 2:14State sprecando il suo tempo e il vostro.
- 2:15Probabilmente lo state fastidere.
- 2:16Però immaginate migliaia di app che fanno questo Microsoft Graph allo stesso tempo.
- 2:20Ogni app interroga ogni pochi minuti ponendo le stesse domande,
- 2:22ricevendo le stesse risposte e un sacco di rumore.
- 2:25Microsoft ha un nome per quando interroghi in modo troppo aggressivo.
- 2:28Throttling o come alcuni sviluppatori lo chiamano.
- 2:30La prigione di Graph.
- 2:32Quando in vitro per richieste Microsoft dice
- 2:33ok, hai finito per un po',
- 2:35limita nel numero di chiamate che la tua app puoi finire.
- 2:37Una volta è limitato tutto il rallente.
- 2:39Richieste legittime si accumulano.
- 2:40La tua app smette di funzionare correttamente.
- 2:42Non hai idea di quando verrai liberato.
- 2:44Di quante richieste stiamo parlando?
- 2:45Diciamo che la tua app interroga ogni cinque minuti per modifica gli utenti.
- 2:48Si tratta di dodici richieste all'ora.
- 2:50In un giorno intero sono 208 richieste
- 2:52e questo solo per una risorsa.
- 2:54Se interroghi anche per gruppi, file, messaggi ed eventi del calendario
- 2:57accumuli migliaia di richieste inutili al giorno,
- 3:00la maggior parte non restituisce nulla,
- 3:01zero modifiche, ma hai comunque effettuato la chiamata.
- 3:03E il punto è questo.
- 3:04Anche se interroghi ogni cinque minuti
- 3:06non ottieni comunque aggiornamenti in tempo reale.
- 3:08Un cambiamento potrebbe verificarsi un minuto dopo l'ultima interrogazione.
- 3:11Non ne saprai nulla per altri quattro minuti.
- 3:13Stai sprecando risorse e perdendo comunque la finestra temporale.
- 3:16Ora contrapponi questo a un approccio basato sugli eventi.
- 3:18Invece di chiamare Microsoft Graph ogni pochi minuti
- 3:20aspetti che Microsoft Graph chiami te.
- 3:22Imposti un listener.
- 3:22Quando qualcosa cambia, Graph ti invia una notifica.
- 3:25Tonno un componente.
- 3:26Rispondi quando il telefono squib.
- 3:28Cosa sono i webbook?
- 3:29Quindi cos'è esattamente un webbook?
- 3:31Ecco le definizioni più semplici.
- 3:32Un webbook è una richiesta HTTP
- 3:34inviata automaticamente quando accade qualcosa.
- 3:36Non la chiedi tu il server.
- 3:38Te la invia direttamente.
- 3:39Pensalo come un campanello.
- 3:41Non stai fuori a controllare nei pochi minuti.
- 3:43Instali un campanello.
- 3:44Quando qualcuno arriva suona.
- 3:46Senti il suono e rispondi.
- 3:46Il campanello fa la guardia per te.
- 3:49I webbook sono talvolta chiamati a inverse.
- 3:52Con un'app normale, la tua app fa una richiesta e il server risponde.
- 3:55La tua app ha il controllo.
- 3:56Con un webbook, il server invia la richiesta alla tua app.
- 3:59Il server ha il controllo, ma invece di aspettare che tu li richieda.
- 4:02Ora, anche Microsoft Graph usa i webbook.
- 4:04Ma Microsoft li chiama notifiche di modifica.
- 4:07È la stessa cosa, solo con un nome diverso.
- 4:09Quando qualcosa cambia in Microsoft 365,
- 4:11Graph invia un HTTP post a un URL che fornisci.
- 4:14Quel post contiene informazioni su cosa è cambiato.
- 4:17Ci sono molte cose su cui puoi ricevere notifiche.
- 4:20Un nuovo utente viene creato nel tuo tenant.
- 4:22Un file aggiornato in SharePoint,
- 4:23un messaggio inviato in Teams,
- 4:25un evento del calendario che cambia
- 4:26o un gruppo che riceve un nuovo membro.
- 4:29Tutto ciò può attivare una notifica.
- 4:30Ecco un esempio reale.
- 4:32Supponiamo che tu gestisca un'azienda con un sistema di donna tema.
- 4:34Quando arriva un nuovo dipendente,
- 4:35puoi creare automaticamente un account.
- 4:37Senza il webbook, interrogi il endpoint degli utenti
- 4:39ogni pochi minuti alla ricerca di nuove persone.
- 4:41Con il webbook ti iscrivi agli eventi di creazione degli utenti,
- 4:44quando qualcuno si unisce,
- 4:45Graff invia alla tua app una notifica.
- 4:47La tua app la riceve, la convalida
- 4:49e crea l'account tutto nel giro di pochi secondi.
- 4:51Nessun polli, nessuna richiesta sprecata.
- 4:54Un altro esempio.
- 4:55Hai una raccolta documenti di SharePoint
- 4:56dove vengono caricate le ricevute.
- 4:57Senza il webbook, interrogi costantemente la raccolta.
- 5:00Con il webbook, Graff ti avvisa nel momento in cui viene aggiunto un file.
- 5:03La tua app lo prende e controlla se non ha ricevuta
- 5:04e lo elabora automaticamente.
- 5:07Questo è il potere del webbook.
- 5:08Invece che la tua app chieda costantemente,
- 5:10c'è qualcosa di nuovo?
- 5:10Lascia che sia stema ad avvisarti quando succede qualcosa.
- 5:13È più efficiente, più affidabile, molto più veloce.
- 5:16Come funziona nel webbook il Microsoft Graph?
- 5:18Ora sai cosa sono i webbook e perché il polli in problema?
- 5:21Vediamo come funzionano realmente i webbook di Microsoft Graph
- 5:23perché il flusso è più semplice di quanto pensi.
- 5:26Si riduce a tre cose.
- 5:27Un'iscrizione, una notifica e il tuo endpoint.
- 5:31La prima cosa è che un'iscrizione.
- 5:32Dici a Microsoft Graph,
- 5:33Ehi, voglio sapere quando cambia questa cosa specifica.
- 5:35Fornisci a Graph i dettagli su cosa monitorare
- 5:38e dove inviare le novità.
- 5:39Immaginalo come l'iscrizione avviso.
- 5:41Dici al sistema cosa ti interessa
- 5:42e fornisci le tue informazioni di contatto.
- 5:44Secondo Microsoft Graph,
- 5:45osserva quella risolta.
- 5:46Monitori eventuali modifiche.
- 5:48Quando succede qualcosa,
- 5:48come un utente creato un file aggiornato
- 5:50all'arrivo di un messaggio,
- 5:51Graph se ne accorge.
- 5:52Terzo, Graph invia una notifica.
- 5:54Invia un HTTP post all'URL che hai fornito.
- 5:57Quel post contiene informazioni su ciò che è cambiato.
- 6:00Il tuo endpoint lo riceve,
- 6:01la tua applicazione lo elabora.
- 6:02Quindi flusso generale è semplice.
- 6:04Ti iscrivi, Graph osserva,
- 6:05Graph invia un post quando qualcosa cambia.
- 6:08Analizziamo un po' meglio questi tre blocchi costitutivi.
- 6:10L'iscrizione è la tua richiesta di essere avvisato.
- 6:13È come dire,
- 6:13voglio sapere quando un nuovo utente
- 6:15viene aggiunto al mio tenant.
- 6:17Invii quella richiesta a Microsoft Graph
- 6:18e Graph la memorizza.
- 6:19Da quel momento in poi,
- 6:20Graph osserva per tuo conto.
- 6:22La notifica è l'avviso stesso.
- 6:24Un HTTP post che Graph invia al tuo endpoint.
- 6:26Il corpo del post contiene dettagli sulla modifica,
- 6:29come quale risorsa è cambiata,
- 6:30che tipo di modifica è avvenuta e quando.
- 6:32Il tuo endpoint è la porta che lascia aperto.
- 6:34È un URL sul tuo server configurato
- 6:35per ricevere queste richieste post.
- 6:37Deve solo mettersi in ascolto
- 6:38e rispondere velocemente.
- 6:39Tutto qui.
- 6:40Non è richiesta alcuna logica complessa alla ricezione.
- 6:42Basta ricevere la notifica,
- 6:43confermarla ed elaborarla.
- 6:45Ora confrontiamolo con il polling.
- 6:46Con il polling inviai
- 6:47centinaia di richieste e gettono
- 6:48in una delle quali chiede
- 6:49c'è qualcosa di nuovo?
- 6:51Nella maggior parte dei casi la risposta è.
- 6:52Con il webbook c'è solo un post,
- 6:54la notifica.
- 6:55Tutto qui.
- 6:56Un unico messaggio invece di centinaia.
- 6:57La differenza di efficienza è enorme
- 6:58e il tuo endpoint non deve essere complicato.
- 7:01Deve solo essere accessibile pubblicamente,
- 7:03usare HTTPS e rispondere rapidamente.
- 7:05Parleremo tra poco di cosa significhi rapidamente.
- 7:07Ma il concetto di base è semplice.
- 7:09Tu endpoint ascolta,
- 7:10graph chiama,
- 7:11tu risponde.
- 7:12E il gioco è fatto.
- 7:14Creazione di una sottoscrizione.
- 7:15Quindi come si configura concretamente una di queste?
- 7:17Vediamo passo dopo passo
- 7:18come creare una sottoscrizione.
- 7:20Si inizia inviando una richiesta HTTP POST
- 7:22a un URL specifico su Microsoft Graph.
- 7:24Quell'URL è
- 7:25HTTPS
- 7:25slash graph.microsoft.com
- 7:27slash woman.zero subscriptions.
- 7:29Invii direttamente all'endpoint delle sottoscrizioni.
- 7:32All'interno del corpo della richiesta
- 7:33includi i dettagli di ciò a cui vuoi iscriverti.
- 7:35Ci sono quattro campi chiave che devi fornire.
- 7:37Primo è l'URL di notifica.
- 7:39Questo è l'URL del tuo endpoint,
- 7:41il luogo in cui Microsoft Graph invierà le notifiche.
- 7:43Deve essere HTTPS
- 7:44e accessibile pubblicamente
- 7:45perché Graph deve raggiungerlo da internet.
- 7:48Secondo è la risorsa.
- 7:49Questo dice a Graph
- 7:49cosa vuoi monitorare.
- 7:51Specifichi il percorso delle risorse di Microsoft Graph.
- 7:53Ad esempio users
- 7:54se vuoi monitorare le modifiche agli utenti
- 7:55o me
- 7:56slash email folder
- 7:56slash
- 7:57inbox slash messages
- 7:58se vuoi controllare nuove email
- 7:59e la posti in arrivo.
- 8:00La risorsa dice a Graph esattamente cosa ti interessa.
- 8:03Terzo è il tipo di modifica.
- 8:04Questo indica a Graph
- 8:05per quali tipi di modifiche inviarti notifiche.
- 8:07Puoi specificare
- 8:08created, deleted, deleted
- 8:09o una loro combinazione.
- 8:11Quindi se ti interessano solo i nuovi utenti creati
- 8:12imposti il tipo di modifica su created.
- 8:14Se ti interessano anche gli aggiornamenti
- 8:15lo imposti su created, updated.
- 8:17Quarto è la data
- 8:18e ora di scadenza.
- 8:19È il momento in cui la sottoscrizione scade
- 8:21perché le sottoscrizioni non durano per sempre.
- 8:23Imposti una data e un'ora
- 8:24e Graph smetterà di inviare notifiche
- 8:25dopo tale momento.
- 8:27La durata massima dipende
- 8:28dalla risorsa che stai monitorando.
- 8:29Per utenti e gruppi
- 8:30il massimo è di circa 3 giorni.
- 8:32Per elementi di unità in SharePoint
- 8:33o OneDrive
- 8:34può arrivare fino a 30 giorni.
- 8:36È necessario controllare la documentazione
- 8:37per ogni tipo di risorsa.
- 8:38C'è anche un campo facoltativo degno di nota
- 8:40lo stato del client state.
- 8:42Si tratta di una stringa segreta da te.
- 8:43Può essere qualsiasi cosa tu vogli.
- 8:45Una stringa casuale, un guide,
- 8:46qualunque cosa tu scegli.
- 8:49La notifica è inviata al tuo endpoint
- 8:50e tu lo usi
- 8:51per verificare che la notifica
- 8:52provenga effettivamente dal tuo abbonamento.
- 8:55Se qualcuno prova a inviare notifiche false
- 8:57al tuo endpoint
- 8:57lo stato del client non corrisponderà
- 8:59e potrai rifiutarlo immediatamente.
- 9:01È una misura di sicurezza semplice
- 9:02ma importante.
- 9:03Creare un abbonamento
- 9:04è come iscriversi alla consegna di un giornale.
- 9:07Fornisce a giornale il tuo indirizzo.
- 9:08Quello è il tuo R di notifica.
- 9:10Indichi quali sezioni desideri
- 9:12ovvero la risorsa e il tipo di modifica
- 9:13e comunichi per quanto tempo vuoi
- 9:15che la consegna continua.
- 9:16Quella è la tua data e ora di scadetta.
- 9:17Il giornale gestisce tutto il resto.
- 9:19Ma ecco il punto
- 9:20gli abbonamenti scadono.
- 9:21Non puoi crearne uno
- 9:22e dimenticartene.
- 9:24Dopo che la data e l'ora di scadenza
- 9:25sono passate
- 9:25Graf smette di inviare notifiche
- 9:27e il tuo abbonamento viene eliminato.
- 9:29Se vuoi continuare a ricevere notifiche
- 9:30devi rinnovare l'abbonamento
- 9:32prima che scada
- 9:32inviando una richiesta patch
- 9:33all'endpoint di sottoscrizione
- 9:34con una nuova data e ora di scadenza.
- 9:37Quindi creare un abbonamento
- 9:38è il primo passo
- 9:38ma non è l'ultimo
- 9:39devi gestirne il ciclo di vita
- 9:41e parleremo più approfonditamente insieme.
- 9:43Line check di Convalida
- 9:43Prima che il tuo abbonamento diventi attivo
- 9:45c'è un passaggio che non puoi saltare.
- 9:47Microsoft Graph
- 9:48non accetta semplicemente
- 9:49la tua richiesta di abbonamento
- 9:50per iniziare a inviare notifiche.
- 9:52Deve prima confermare
- 9:52che il tuo endpoint sia reale
- 9:53e pronto a riceverle.
- 9:55Ecco come funziona.
- 9:56Quando invii la tua richiesta post
- 9:57per creare un abbonamento
- 9:58Microsoft Graph
- 9:59invia immediatamente
- 10:00un post di prova
- 10:01al tuo URL di notifica.
- 10:03Quel post di prova
- 10:03include un parametro
- 10:04di cui hai richiamato token di Convalida.
- 10:06È solo una stringa casuale.
- 10:07Il tuo endpoint
- 10:08deve acquisire quel token
- 10:09e rimandarlo indietro
- 10:10come risposta in testo semplice
- 10:11entro 10 secondi.
- 10:12Immaginalo come un corriere
- 10:14che consegna un pacco
- 10:15si presenta alla tua porta
- 10:16e chiede
- 10:16è questo l'indirizzo corretto
- 10:17o confermare.
- 10:18Devi firmare per riceverlo.
- 10:20Se non lo fai se ne va.
- 10:21Il corriere non lascia il pacco.
- 10:23Se ne va e basta.
- 10:24Esattamente quello che sta succedendo.
- 10:25Microsoft Graph
- 10:26sta dicendo
- 10:27sto per inviarti notifiche importanti.
- 10:29Dimostrami che sei la persona giusta
- 10:30e l'indirizzo giusto.
- 10:32Il tuo endpoint risponde
- 10:34rimandando indietro
- 10:34il tuo token di Convalida
- 10:35che dice a Graph
- 10:36Sì, sono qui.
- 10:38Sto ascoltando.
- 10:39Inviami le notifiche.
- 10:41Ora ecco dove
- 10:41molti sviluppatori in chat.
- 10:43Il token di Convalida
- 10:44deve essere restituito
- 10:44come testo semplice
- 10:45non JSON
- 10:46non HTML
- 10:46testo semplice
- 10:47e la risposta deve avere
- 10:48un'intestazione content type
- 10:49impostata su text flash play.
- 10:51Se lo rispedisci
- 10:52racchiuso in JSON
- 10:52o codificato in qualsiasi modo
- 10:54la Convalida fallisce.
- 10:55La tua sottoscrizione
- 10:56non vera crea.
- 10:57Microsoft Graph
- 10:57restituisce un errore
- 10:58e tu rimani a chiederti
- 10:59cosa sia andato sto.
- 11:00C'è un altro dettaglio tecnico
- 11:01che vale la pena conoscire.
- 11:02Il servizio di Convalida
- 11:03di Microsoft Graph
- 11:04non supporta in modo affidabile
- 11:05TLS 1.3.
- 11:06negozi a TLS 1.2.
- 11:08Quindi se il tuo endpoint
- 11:08accetta solo connessioni
- 11:09TLS 1.3
- 11:10la handshake di Convalida
- 11:12fallisce prima ancora
- 11:12che il tuo codice
- 11:13venga eseguito.
- 11:14Devi assicurarti
- 11:15che il tuo endpoint
- 11:15supporti TLS 1.2
- 11:17almeno per la fase di Convalida.
- 11:19Dopodiché puoi imporre
- 11:20qualsiasi versione di TLS
- 11:21desideri per le notifiche effettive.
- 11:23La buona notizia
- 11:24è che questo handshake
- 11:25di Convalida
- 11:25viene solo una volta
- 11:26per sottoscrizione.
- 11:27Non è qualcosa
- 11:27che il tuo endpoint
- 11:28deve gestire
- 11:28ogni volta che arriva
- 11:29una notifica
- 11:30solo la prima volta.
- 11:31Una volta che Graph
- 11:32conferma che il tuo endpoint
- 11:33è reale
- 11:33si fida di esso
- 11:34per tutta la durata
- 11:35della sottoscrizione.
- 11:36Quindi devi farlo bene
- 11:37solo una volta.
- 11:39Gestione delle notifiche
- 11:39e sicurezza.
- 11:40Una volta che
- 11:41la handshake di Convalida
- 11:42è avvenuto
- 11:42e la tua sottoscrizione
- 11:43è attiva
- 11:43Microsoft Graph
- 11:44inizia a inviare le notifiche.
- 11:46Quindi come appaiono
- 11:47nella pratica?
- 11:49Quando qualcosa cambia
- 11:50Graph invia
- 11:50un HTTP Postal
- 11:51to Endpoint
- 11:52con un oggetto
- 11:53JSON nel corpo.
- 11:54Quell'oggetto contiene
- 11:55la risorsa modificata
- 11:56il tipo di modifica
- 11:57creata, aggiornata
- 11:58o eliminata
- 11:58e un timestamp.
- 11:59E un timestamp.
- 12:00Include anche il valore
- 12:01dello stato del client
- 12:02che hai impostato
- 12:02quando hai creato
- 12:03la sottoscrizione.
- 12:04È la tua stringa segreta
- 12:05e il tuo modo di sapere
- 12:06che il messaggio è reale.
- 12:07Quindi ecco la prima cosa
- 12:08da fare
- 12:08quando arriva una notifica.
- 12:10Convalida
- 12:10con lo stato del client.
- 12:11Confronta il valore
- 12:12nella notifica
- 12:12con il segreto
- 12:13che hai salvato
- 12:13quando hai creato
- 12:14la sottoscrizione.
- 12:15Se non corrispondono
- 12:16a scartare immediatamente
- 12:17perché potrebbe essere
- 12:17un falso
- 12:18o qualcuno che cerca
- 12:18di ingannare il tuo sistema
- 12:20facendogli elaborare
- 12:20dati errati.
- 12:21Questo è importante
- 12:22perché il tuo endpoint
- 12:23si trova su Internet.
- 12:24Chiunque conosca il tuo URL
- 12:25potrebbe inviarvi un post.
- 12:27Senza la convalida
- 12:28dello stato del client
- 12:28non avresti modo
- 12:29di distinguere
- 12:30tra una notifica reale
- 12:31di Microsoft Graph
- 12:31e una falsa.
- 12:33È un controllo semplice
- 12:34ma è la tua prima linea di difesa.
- 12:35Una volta confermato
- 12:36che la notifica è legittima
- 12:37devi rispondere rapidamente.
- 12:39Microsoft Graph
- 12:40si aspetta una risposta
- 12:41HTTP di livello 200
- 12:42a 3 secondi.
- 12:43Se impieghi più tempo
- 12:44Graph se ne accorga.
- 12:45E se succede troppo spesso
- 12:46Graph inizia a trattarti diversamente.
- 12:48Ecco come funziona la limitazione.
- 12:50Se più del 10%
- 12:50delle tue risposte
- 12:51supera la finestra di 3 secondi
- 12:52in un periodo di 10 minuti
- 12:53Microsoft Graph
- 12:54contrassegna il tuo endpoint
- 12:55come lento.
- 12:57Quando ciò accade
- 12:57le nuove notifiche
- 12:58vengono ritardate di 10 minuti.
- 13:00Arrivano comunque
- 13:00ma perti la consegna
- 13:01in tempo reale.
- 13:03E se le cose peggiorano
- 13:04con oltre il 15%
- 13:05delle tue risposte
- 13:05che supera i 10 secondi
- 13:06Graph contrassegna
- 13:07il tuo endpoint
- 13:08come interrotto.
- 13:09In quello stato
- 13:10le notifiche vengono eliminate
- 13:11del tutto per 10 minuti.
- 13:12Ecco la parte preoccupante.
- 13:13Le notifiche eliminate
- 13:14non possono essere operate.
- 13:15Sono perse
- 13:16e non le riavrai mai indietro.
- 13:17Immagina la comunalina
- 13:18telefonica.
- 13:19Se non rispondi velocemente
- 13:20chi chiama riprova più tardi.
- 13:22Ma se non rispondi mai
- 13:22alla fine chi chiama rinuncia.
- 13:24Microsoft Graph
- 13:25è chi chiama
- 13:26e il tuo endpoint
- 13:26è il telefono.
- 13:28Rispondi in fretta
- 13:28o rischi di perdere il messaggio.
- 13:30Quindi quella è la best practice
- 13:31in questo.
- 13:31Rispondi immediatamente
- 13:32ed elabora in modo asincrono.
- 13:34Il tuo endpoint
- 13:34dovrebbe convalidare
- 13:35lo stato del client
- 13:36accettare la notifica
- 13:37e restituire una risposta
- 13:38a 200 o 202
- 13:39il più velocemente possibile.
- 13:41Quindi inserisci la notifica
- 13:42in una coda
- 13:42per elaborazione in background.
- 13:44Una coda azzurro
- 13:45un service bus
- 13:45persino una semplice tabella
- 13:46di database.
- 13:47Il punto è uscire rapidamente
- 13:48dal ciclo di risposte
- 13:49e lasciare che i tuoi
- 13:50worker in background
- 13:50gestiscano il lavoro pesante.
- 13:52E un alto per memoria di sicurezza
- 13:53il tuo endpoint
- 13:54deve essere HTTPS
- 13:55senza eccezioni.
- 13:56Microsoft Graph
- 13:57non invierà notifiche
- 13:58a un endpoint HTTP.
- 14:00Inoltre il tuo endpoint
- 14:00deve essere accessibile al pubblico.
- 14:02Sei dietro un firewall
- 14:02o una VPN
- 14:03e Graph non può raggiungerlo.
- 14:04Per lo sviluppo
- 14:05puoi usare strumenti
- 14:06come engrock
- 14:06per creare un tunnel pubblico
- 14:07verso la tua macchina locale.
- 14:09Ma in produzione
- 14:10il tuo endpoint
- 14:10deve trovarsi in un luogo
- 14:11in cui Graph possa trovarlo.
- 14:14Mantenere attivo
- 14:14il ciclo di vita delle notifiche.
- 14:16Quindi hai configurato
- 14:17la tua sottoscrizione
- 14:17e le notifiche fluiscono
- 14:18e tutto sembra a posto.
- 14:20Ma ecco qualcosa
- 14:20che coglie molti di sorpresa.
- 14:22La tua sottoscrizione
- 14:23ha una data di scadenza.
- 14:24Non dura per sempre.
- 14:25A seconda della risorsa
- 14:26che stai monitorando
- 14:26la durata massima
- 14:27della sottoscrizione
- 14:28è solitamente tra 3 e 7 giorni.
- 14:30Per alcune risorse
- 14:31come gli elementi di unità
- 14:31in SharePoint
- 14:32puoi arrivare fino a 30 giorni.
- 14:34Ma il punto è che
- 14:34non è permanente.
- 14:35Non puoi creare
- 14:36una sottoscrizione
- 14:37e dimenticartene.
- 14:38Immaginala come un abbonamento
- 14:39a una rivista.
- 14:44dell'abbonamento
- 14:45e i numeri smettono di arrivare.
- 14:46La stessa cosa vale qui.
- 14:47Se la tua sottoscrizione scade
- 14:48Microsoft Graph
- 14:49smette di inviare notifiche
- 14:50e potresti non accorgertene
- 14:51finché non ti chiedi
- 14:52perché non stia succedendo nulla.
- 14:53Quindi ti serve una strategia di nuova.
- 14:55In modo in cui rinnovi sempre
- 14:56invia una richiesta patch
- 14:57all'endpoint della sottoscrizione
- 14:58usando l'ID sottoscrizione
- 15:00e aggiorna la data
- 15:00e l'ora di scadenza
- 15:01a una nuova data a futuro.
- 15:02Questo estende
- 15:03la durata della sottoscrizione.
- 15:04Puoi farlo tutte le volte che vuoi
- 15:06a patto di farlo
- 15:06prima che trascorra
- 15:07la scadenza corrente.
- 15:09Ora,
- 15:09Microsoft Graph
- 15:09ti aiuta effettivamente qui
- 15:10con qualcosa chiamato
- 15:11notifiche del ciclo di vita.
- 15:13Quando crei una sottoscrizione
- 15:14puoi fornire un URL separato
- 15:15chiamato URL di notifica
- 15:16del ciclo di vita.
- 15:18Microsoft Graph
- 15:18invia avvisi a tale URL
- 15:19quando accadono determinate cose
- 15:21come quando la tua sottoscrizione
- 15:23sta per scadere,
- 15:24quando il tuo token di accesso
- 15:25sta per terminare
- 15:25o quando cambiano
- 15:26le autorizzazioni della tua.
- 15:27Queste notifiche del ciclo di vita
- 15:29ti danno un preavviso.
- 15:30Non devi indovinare
- 15:31quando la tua sottoscrizione scadrà.
- 15:32Graph ti dice
- 15:33ehi, la tua sottoscrizione
- 15:34scade tra poche ore.
- 15:35Potresti voler rinnovare.
- 15:37È come ricevere un promemoria
- 15:38dall'editore della tua rivista
- 15:39che l'abbonamento sta per finire.
- 15:41Molto utile se presti attenzione.
- 15:43Ma cosa succede
- 15:43se le cose vanno comunque male?
- 15:45Forse il tuo endpoint va giù per un po'
- 15:46o le notifiche vengono perse
- 15:47perché sei stato troppo lento.
- 15:50È qui che entra in gioco
- 15:51la Delta Query,
- 15:51una funzionalità separata
- 15:52di Microsoft Graph
- 15:53che ti permette di chiedere
- 15:54cosa è cambiato
- 15:55dall'ultima volta che ho controllato
- 15:56e restituisce solo le modifiche
- 15:58e nient'altro.
- 15:59Ecco come funziona.
- 16:00La prima volta che esegue una Delta Query
- 16:01su una risorsa ad esempio di utenti
- 16:02Graph restituisce tutti gli utenti
- 16:03nel tuo tenant.
- 16:05Ma restituisce anche qualcosa in più
- 16:06un link speciale
- 16:06chiamato Delta Link.
- 16:08Salvi quel link.
- 16:09Una volta successiva
- 16:10che esegui la stessa query
- 16:10usi quel Delta Link.
- 16:12E invece di ottenere di nuovo
- 16:13tutti gli utenti
- 16:13ottieni solo quelli
- 16:14che sono cambiati
- 16:15dalla tua ultima richiesta.
- 16:16Nuovi utenti,
- 16:17utenti aggiornati,
- 16:18utenti eliminati.
- 16:19Tutto qui.
- 16:20Pensa come se leggessi
- 16:21una lista delle novità
- 16:22invece di leggere
- 16:23l'intera in ciclopedia ogni volta.
- 16:24Molto più veloce
- 16:25e molti meno dati.
- 16:26Ecco il pattern intelligente.
- 16:27Combina i webbook
- 16:28con la Delta Query.
- 16:29Usa i webbook
- 16:30per sapere quando
- 16:31qualcosa è cambiato.
- 16:31Quindi usa la Delta Query
- 16:32per scoprire esattamente
- 16:33cosa è cambiato.
- 16:34Lascia che ti spieghi
- 16:35perché è importante.
- 16:35I webbook sono veloci
- 16:36ma non sono perfetti.
- 16:37Le notifiche possono andare perse
- 16:38e le sottoscrizioni
- 16:39possono scadere
- 16:40e tu non puoi andare giù.
- 16:41La Delta Query è affidabile.
- 16:42Puoi eseguirlo in qualsiasi momento
- 16:43e ti fornirà un elenco completo
- 16:44delle modifiche dall'ultimo controllo.
- 16:46Quindi anche se perdi una notifica
- 16:47puoi recuperare...
- 16:49Ecco il flusso tipico.
- 16:51Imposta una sottoscrizione webbook
- 16:52per le modifiche agli utenti.
- 16:53Esegui una query Delta iniziale
- 16:54per ottenere lo stato di base
- 16:55e salva il link Delta.
- 16:57Quando arriva un webbook
- 16:57che segnala la modifica di un utente
- 16:59esegui una query Delta
- 17:00usando il tuo link Delta salvato.
- 17:01Questo ti fornisce la modifica esatta.
- 17:03Elaborala
- 17:03quindi salva il nuovo link Delta
- 17:05da quella risposta.
- 17:06La prossima volta che arriva un webbook
- 17:07ripeti il processo
- 17:08e se dovessi perdere una notifica
- 17:10o se la tua sottoscrizione scade
- 17:11esegui di nuovo la query Delta.
- 17:14Riceverai tutto ciò che ti serve.
- 17:15Una rete di sicuro.
- 17:16I webbook offrono velocità
- 17:17e la query Delta offre affidabilità.
- 17:19Insieme sono una combinazione potente.
- 17:22Esempio reale e passi successivi.
- 17:24Immagina che un nuovo dipendente
- 17:25si unisca alla tua azienda domanda.
- 17:26Qualcuno nelle risorse umane
- 17:28crea il suo account in Microsoft Entry ID
- 17:29e quella singola azione
- 17:30avvia una reazione a catena.
- 17:33Se hai impostato una sottoscrizione webbook
- 17:34per le modifiche agli utenti
- 17:35Microsoft Graph se ne accorge istantaneamente
- 17:37e invia una richiesta posta al tuo endpoint.
- 17:39Ecco cosa succede dopo.
- 17:40Il tuo endpoint riceve la notifica
- 17:41convalida lo stato del client
- 17:43e se corrisponde al tuo segreto
- 17:44sai che è legittima.
- 17:46Restituisci una risposta
- 17:47202 Accepted entro 3 secondi
- 17:49confermando la notifica
- 17:50e poi il tuo worker in background
- 17:52la prende in carico.
- 17:53Il worker vede che è stato creato un utente
- 17:55ma la notifica non include tutti i dettagli
- 17:56quindi esegue una query Delta salvato.
- 17:59Questa restituisce le informazioni complete
- 18:01del nuovo utente.
- 18:02Nome, email, dipartimento, ruolo, responsabile
- 18:04e tutto ciò che ti serve.
- 18:05Ora il tuo worker prende quelle informazioni
- 18:06e crea un account per il nuovo dipendente
- 18:08nel tuo sistema di rilevazione
- 18:09e presenza di terze parti.
- 18:10Invia un'email di benvenuto.
- 18:12Lo aggiunge alle liste di distribuzione appropriate.
- 18:14Tutto questo avviene in pochi secondi
- 18:15dopo che le source umane hanno creato l'account
- 18:17e l'entrae di nessun polling,
- 18:19nessun passaggio manuale,
- 18:20nessuno.
- 18:21Pensa all'alternativa.
- 18:23Senza webbook dovresti interrogare
- 18:24l'endpoint utente ogni pochi minuti
- 18:26centinaia di richieste al giorno
- 18:27e anche allora potresti non vedere
- 18:28un nuovo utente per diversi minuti.
- 18:30Con il webbook è istantaneo.
- 18:32Una notifica, una query Delta fatto.
- 18:34Questo è il vero valore.
- 18:35Il tuo sistema diventa più veloce,
- 18:36più efficiente e meno soggetto
- 18:37ai limiti di throttling.
- 18:39Invece di chiedere costantemente
- 18:40aggiornamenti a graph,
- 18:41lasci che sia graph ad avvisarti
- 18:42quando succede qualcosa.
- 18:43È un cambiamento fondamentale
- 18:44nel modo in cui costruisci l'integrazione.
- 18:45Quindi ecco cosa voglio che tu provi.
- 18:47Pensa a un processo
- 18:48per cui stai attualmente effettuando il web.
- 18:49Forse stai controllando
- 18:50se arrivano nuove mail
- 18:51in una casella condivisa.
- 18:52Forse stai monitorando
- 18:53le modifiche ai file
- 18:53in una raccolta SharePoint.
- 18:55Forse stai controllando
- 18:55gli aggiornamenti utenti
- 18:56nel tuo sistema kernel.
- 18:57Potrebbe un webbook
- 18:58sostituire quel pochi.
- 18:59Nella maggior parte dei casi
- 19:00la risposta è sì.
- 19:01Non serve costruire tutto.