Integrate Dataverse Azure solutions / Integrate with Power Platform and Dataverse Flashcards

1
Q

Microsoft Dataverse Azure Solutions overview

Cosa è Azure Logic Apps?

A

Logic Apps

Poiché Microsoft Dataverse è costruito come parte della robusta Microsoft Power Platform, fornisce numerose funzionalità per facilitare l’integrazione con le soluzioni Microsoft Azure.

Azure Logic Apps: fornisce un’interfaccia visiva affidabile in cui è possibile orchestrare integrazioni complesse nei vari ambienti.

  • Ha molte delle stesse funzionalità dei workflow di Microsoft Power Automate.
  • Entrambi offrono la possibilità di utilizzare connettori predefiniti e personalizzati, che è possibile utilizzare per connettersi a qualsiasi sistema sia necessario.
  • Ancora più importante, le Azure Logic Apps vengono fornite con un connettore Microsoft Dataverse che ti consentirà di attivare azioni in base a vari eventi Dataverse (come la creazione o l’aggiornamento di un record).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Microsoft Dataverse Azure Solutions overview

Cosa è Azure Service Bus?

A

Azure Service Bus

Poiché Microsoft Dataverse è costruito come parte della robusta Microsoft Power Platform, fornisce numerose funzionalità per facilitare l’integrazione con le soluzioni Microsoft Azure

Azure Service Bus: è la piattaforma di messaggistica cloud come servizio (MaaS) di Microsoft.

  • I messaggi vengono inviati e ricevuti dalle code per le point-to-point communications.
  • Il bus di servizio fornisce anche un publish-subscribe mechanism che utilizza la sua Topics feature.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Dataverse Azure Solutions overview

Cosa è Azure API Management?

A

Azure API Management

Poiché Microsoft Dataverse è costruito come parte della robusta Microsoft Power Platform, fornisce numerose funzionalità per facilitare l’integrazione con le soluzioni Microsoft Azure.

Poiché le esigenze dell’API sono gestite dall’API Web di Dataverse e poiché Dataverse fornisce un modello di sicurezza basato sui ruoli in grado di gestire la maggior parte degli scenari di integrazione, potrebbe non essere necessario considerare spesso la gestione delle API di Microsoft Azure. Tuttavia, se mai avrai bisogno di scrivere un file personalizzato e/o API proprietaria per sedersi sopra l’API Web Dataverse, è possibile utilizzare i servizi di Azure’s API Management services.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Dataverse Azure Solutions overview

Cosa è Azure Event Grid?

A

Event Grid

Microsoft Azure Event Grid: è un publish-subscribe framework basato su eventi che consente di gestire vari eventi.

  • Sebbene Dataverse NON fornisca funzionalità predefinite per l’integrazione con un’istanza di Event Grid come fa con il bus di servizio o gli Hub eventi, è un elemento praticabile da considerare quando sono necessarie integrazioni guidate dagli eventi.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Dataverse Azure Solutions overview

Cosa è Azure Event Hubs?

A

Event Hubs

Event Hubs: di Azure fornisce un servizio di inserimento dati in tempo reale che supporta milioni di eventi al secondo.

  • Questo servizio è utile per flussi di dati di grandi dimensioni che devono essere inseriti in tempo reale (cosa che potrebbe verificarsi quando si tenta di acquisire elementi come la telemetria dell’applicazione all’interno di un’applicazione aziendale) ma NON sono comuni nella maggior parte degli scenari di integrazione delle applicazioni aziendali.
  • Tecnicamente, Event Hubs NON è visto come una soluzione di integrazione in Azure (è visto come una analytics solution, le sue applicazioni predominanti sono con “big data”).
  • Dataverse fornisce un’utilità per pubblicare eventi in un Event Hubs.
  • Nel contesto di Dataverse, sebbene fornito come endpoint, il Azure Service Bus diventa tradizionalmente il metodo preferito per l’integrazione dei dati aziendali effettivi perché viene fornito con un sovraccarico molto inferiore.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Dataverse Azure Solutions overview

I servizi di integrazione azure più adeguati alle necessita!

A

Choosing the right Azure integration solution

Se hai difficoltà a capire quale soluzione di integrazione di Azure si adatta meglio alle tue esigenze, considera le informazioni nella tabella seguente.

SE VUOI…

  • Creare workflows e orchestrate business processes per connettere centinaia di servizi nel cloud e in locale. la tua soluzione è Azure Logic Apps
  • Connettere applicazioni e servizi locali e basati su cloud per implementare workflow di messaggistica. la tua soluzione è Azure Service Bus

  • Pubblicare le tue API per gli sviluppatori interni ed esterni da utilizzare quando ti connetti a sistemi di backend che sono ospitati ovunque. la tua soluzione è Azure API Management

  • Connettere i servizi di Azure e di terze parti supportati usando un servizio di routing degli eventi completamente gestito con un modello di pubblicazione-sottoscrizione che semplifica lo sviluppo di app basato su eventi. la tua soluzione è Azure Event Grid

  • Acquisire continuamente dati in tempo reale da centinaia di migliaia di sorgenti e trasmetti in streaming un milione di eventi al secondo. la tua soluzione è Azure Event Hubs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Expose Microsoft Dataverse data to Azure Service Bus

Come si fa il set up di Azure service bus?

A

Set up your Azure Service Bus environment

Microsoft Dataverse fornisce una varietà di meccanismi predefiniti per esternalizzare i propri dati a scopo di integrazione. Questa lezione illustra come esporre i dati di Dataverse al Azure Service Bus usando la funzionalità di registrazione dell’endpoint del servizio di Dataverse, che si trova nel suo Dataverse Plug-in Registration Tool.

Crea lo spazio dei nomi e la coda dei messaggi del bus di servizio di Azure con i passaggi seguenti.

  1. Sign in to the Azure portal.
  2. In the left navigation pane of the portal, select + Create a resource, select Integration, and then select Service Bus.
  3. Enter the appropriate details for your namespace and then select Create.
    • ​​Potrebbero essere necessari alcuni minuti per il provisioning della risorsa. Al termine, dovresti vedere qualcosa di simile alla seguente immagine nell’area delle notifiche del tuo portale di Azure
  4. Dopo che la tua risorsa è stata creata, vai al tuo namespace appena creato per creare una nuova queue.
  5. Nota alcuni elementi che si trovano nel tuo namespace in modo che Dataverse abbia le credenziali corrette per connettersi alla tua nuova queue. Per questa procedura, utilizza il criterio di Shared access policy che è stato creato automaticamente come parte del tuo namespace.
    • Se desideri ulteriori limitazioni di accesso, puoi creare un Shared access policy anche per la tua queue individuale.
  6. Dall’interno dei Shared access policy, copia la Primary Connection String e memorizzala per un utilizzo futuro perché questa stringa ti servirà come parte della configurazione dell’Service Bus Endpoint o in Dataverse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Set up your Azure Service Bus environment

Come si registra dopo aver fatto il set up del service bus il Service Bus Endpoint in dataverse?

A

Register Service Bus Endpoint in Dataverse

Dopo aver configurato una queue di messaggi in Azure, è possibile fornire a Dataverse le informazioni di configurazione necessarie per accedervi.

Utilizzerai lo strumento di Dataverse’s Plug-in Registration Tool per configurare la pubblicazione dei tuoi dati Dataverse sul tuo Service Bus. Questo strumento viene fornito come parte degli strumenti per sviluppatori Dataverse di Microsoft, disponibili in NuGet.

  1. Open the Plug-in Registration Tool and connect to your Dataverse environment.
  2. When connected to the environment, register your Service Bus Endpoint by selecting Register and then selecting Register New Service Endpoint.
  3. Copiare e incollare il valore della Primary Connection String a cui si è fatto riferimento in precedenza durante la configurazione dell’Service Bus instance, quindi selezionare Next.
  4. Tutti i campi della stringa di connessione dovrebbero essere precompilati nel form. Per questo esempio, scriverai un one-way queue publisher, quindi puoi lasciare il Designation Type as Queue. Dataverse supporta molti altri tipi di designazione per supportare vari protocolli di messaggistica.
    • Immettere il nome della coda nel campo Queue Name e specificare Formato messaggio come JSON.
      • Dataverse supporta i formati di messaggi .NETBinary, JSON e XML.
    • Infine, per far sì che le informazioni dell’utente vengano inviate alla queue, è possibile selezionare UserId nell’ User Information Sent drop-down list.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Expose Microsoft Dataverse data to Azure Service Bus

Come si registra un Service Bus Step?

A

Register a Service Bus integration step

In questo scenario, registrerai un integration step che pubblica un messaggio in unaService Bus queue ogni volta che viene creato un account.

  • Registrando un step, è possibile definire la combinazione di entità e messaggio e definire quali condizioni causeranno l’invio del messaggio elaborato da Dataverse sul Service Bus alla the Azure queue
  1. Register a new step for your Service Endpoint by right-clicking and selecting Register New Step.
  2. Immettere i seguenti dettagli per registrare un new integration step che verrà avviato alla creazione di un record dell’account.
    • Assicurati di deselezionare il flag Delete AsyncOperation se StatusCode = Successful. La cancellazione di questo flag è solo a scopo di test in modo da poter verificare che i System Job records mostrino che il Service Bus integration step è stato avviato correttamente alla creazione di un record dell’account. In uno scenario di produzione del mondo reale, ti consigliamo di lasciare selezionato questo valore.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Expose Microsoft Dataverse data to Azure Service Bus

Come testare se il Service Bus integration funziona?

A

Test your Service Bus integration

Testare l Service Bus integration con i seguenti passaggi:

  1. To test your Service Bus integration, go to your Dataverse environment and create an account.
  2. To see if the integration ran, go to Settings > Advanced Settings and select the System Jobs view.
  3. Go to the System Jobs view by going to Settings > System Jobs.
  4. Verificare che il integration step sia stato eseguito correttamente visualizzandolo nella System Jobs view.
    • Se è stato eseguito correttamente, lo Status Reason dovrebbe essere Succeeded.
    • Utilizzerai questa visualizzazione anche per risolvere i problemi relativi alle esecuzioni di integrazione nel momento in cui si verifichi un errore. In caso di errore, aprire il
  5. Poiché il integration step è stato eseguito correttamente, è ora possibile verificare che il messaggio di creazione dell’account sia arrivato nella Service Bus queue accedendo alla queue in the Azure portal.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Write a Service Bus Event Listener that consumes Microsoft Dataverse messages

Tipi di metodi supportati da utilizzare Azure Messaging Service Bus queue messages?

A

Types of supported Service Bus contracts

Microsoft Dataverse supporta una varietà di metodi da utilizzare con Azure Messaging Service Bus queue messages:

  1. Queue: ​
    • I Queue listeners non sono necessari per questo tipo di coda.
    • È possibile consumare messaggi in coda in una lettura “destructive” o “non-destructive”.
    • Una lettura destructive leggerà il messaggio dalla coda e lo rimuoverà,
    • Una lettura NON-destructive non rimuoverà il messaggio dalla coda.
      • Questo metodo è utile per gli scenarisend-and-forget” in cui non è fondamentale che il messaggio venga ricevuto in un determinato momento.
  2. ​​Topic:
    • ​​I Topic listener sono simili ai Queue listeners, tranne per il fatto che uno o più listener possono iscriversi per ricevere messaggi per un determinato argomento.
    • Questo tipo è utile se hai bisogno di più consumatori per un determinato messaggio.
  3. ​One-way:
    • ​​I One-way contracts richiedono che un event listener attivo sia disponibile per utilizzare un messaggio pubblicato nella Service Bus queue.
      • Se non è disponibile alcun listener attivo, il post fallirà.
      • Se il post fallisce, Dataverse riproverà a pubblicare il messaggio in intervalli di tempo esponenzialmente sempre più ampi fino a quando il lavoro di sistema asincrono non verrà annullato. In questo caso, lo stato del processo di sistema di questo evento sarà impostato su Non riuscito.
  4. ​Two-way:
    • ​Two-way contracts sono simili ai One-way contracts tranne per il fatto che forniscono anche la possibilità di restituire un valore stringa dal listener.
    • Se hai registrato un plug-in personalizzato compatibile con Azure per pubblicare il tuo messaggio, puoi utilizzare i dati restituiti all’interno del plug-in.
      • Un’applicazione comune di questo scenario potrebbe essere se si desidera recuperare l’ID di un record creato in un sistema esterno come parte del processo del listener per mantenerlo nell’ambiente Dataverse.
  5. REST:
    • REST contracts sono simili al two-way contracts eccetto che sono esposti a REST endpoint.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Publish Microsoft Dataverse events with webhooks

Cosa sono i webhooks?

A

Webhooks

Un altro metodo per pubblicare eventi DA Microsoft Dataverse A un servizio esterno è registrare i webhook. Un webhook è un meccanismo basato su HTTP per la pubblicazione di eventi su qualsiasi servizio basato su API Web di tua scelta.

  • Questo metodo consente di scrivere il proprio codice personalizzato ospitato su servizi esterni come point-to-point.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Publish Microsoft Dataverse events with webhooks

Quando utilizzare Webhooks e quando Azure Service Bus?

A

Webhooks vs. Azure Service Bus

Quando si considerano i meccanismi di integrazione, sono disponibili alcune opzioni. È importante considerare vari elementi quando si sceglie un determinato metodo.

Prendi in considerazione l’utilizzo del Azure Service Bus quando:

  • High scale asynchronous processing/queueing is a requirement
  • Multiple subscribers might be needed to consume a given Dataverse event.
  • You want to govern your integration architecture in a centralized location

Prendi in considerazione webhooks quando:

  • L’elaborazione sincrona su un sistema esterno è richiesta come parte del processo (Dataverse supporta solo l’elaborazione asincrona rispetto agli endpoint del Azure Service Bus).
  • L’operazione esterna che si sta eseguendo deve essere eseguita immediatamente.
  • Desideri che l’intera transazione non riesca a meno che il payload del webhook non venga elaborato correttamente dal servizio esterno.
  • Esiste già un endpoint API Web di terze parti che si desidera utilizzare per scopi di integrazione
  • L’autenticazione SAS non è preferita e/o fattibile (i webhook supportano l’autenticazione tramite intestazioni di autenticazione e chiavi dei parametri della stringa di query).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Publish Microsoft Dataverse events with webhooks

Quali sono le 3 opzioni di Autenticazione deu Webhook?

A

Webhook authentication options

La tabella seguente descrive le tre opzioni di autenticazione che è possibile utilizzare per utilizzare un messaggio webhook da un determinato endpoint.

  • HttpHeader: include una o più coppie di valori chiave nell’intestazione della richiesta HTTP. Esempio: Key1: Value1, Key2: Value2
  • WebhookKey: Include una stringa di query utilizzando il codice come chiave e un valore richiesto dall’endpoint.
    • Quando si registra il webhook utilizzando loPlug-in Registration Tool, immettere solo il valore. Esempio:? Code = 00000000-0000-0000-0000-000000000001
  • HttpQueryString: Include una o più coppie di valori chiave come parametri della stringa di query. Esempio:? Key1 = Value1 & Key2 = Value2
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Publish Microsoft Dataverse events with webhooks

Come è composta l’header http passate al servizio come parte di una chiamata webhook?

A

Webhook HTTP headers

La tabella seguente mostra le headers HTTP passate al servizio come parte di una chiamata webhook. Puoi utilizzare queste intestazioni come parte del tuo metodo di elaborazione se stai scrivendo un nuovo processore webhook.

  • x-request-id : Un identificatore univoco per la richiesta
  • x-ms-dynamics-organization: Il nome dell’ tenant che ha inviato la richiesta
  • x-ms-dynamics-entity-name: Il nome logico dell’entità che ha passato i dati del execution context data
  • x-ms-dynamics-request-name: Il nome dell’evento per cui è stata registrata la fase del webhook
  • x-ms-correlation-request-id: Identificatore univoco per il monitoraggio di qualsiasi tipo di estensione.
    • Questa proprietà viene utilizzata dalla piattaforma per la infinite loop prevention.
    • Nella maggior parte dei casi, questa proprietà può essere ignorata.
    • Questo valore può essere utilizzato quando si lavora con il supporto tecnico perché può essere utilizzato per eseguire query sui dati di telemetria per comprendere cosa si è verificato durante l’intera operazione.
  • x-ms-dynamics-msg-size-exceeded: Invia solo quando la dimensione del payload HTTP supera i 256 KB
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Publish Microsoft Dataverse events with webhooks

Come avviene la registrazione del webhook endpoint con i vari tipi di autenticazione?

A

Register a Webhook endpoint

La registrazione dell’endpoint webhook viene eseguita in modo simile alla Service Endpoint registration, utilizzando Plug-in Registration Tool.

Register with HTTPHeader Authentication

Se è selezionata l’autenticazione HttpHeader, la schermata chiederà di aggiungere chiavi e valori che verranno passati come parte della richiesta HTTP.

  • Di solito, le chiavi e i valori potrebbero includere un token di trasporto OAuth o altri formati di autenticazione diversi.

Register with WebhookKey Authentication​

Se WebhookKey è specificato come metodo di autenticazione, una stringa di query viene passata all’URL con la chiave specificata nel formato “? Code = [web hook key]”.

  • Questo metodo è utile quando chiami Azure Functions perché usa questo parametro di codice per impostazione predefinita per eseguire la sua autenticazione.

Register with HTTPQueryString Authentication

È possibile passare i parametri della stringa di query specificando HttpQueryString come opzione di autenticazione. Come con l’opzione HTTPHeader, presenta l’opzione per passare un set di chiavi

17
Q

Write an Azure Function that processes Microsoft Dataverse events

Che differenza c’è tra le Azure Functions e i plugin?

A

Azure Functions vs. plug-ins

Azure Functions fornisce un ottimo meccanismo per eseguire piccole unità di lavoro, simile a quello per cui useresti i plug-in in Dataverse.

  • In molti scenari potrebbe avere senso scaricare questa logica in un componente separato, ad esempio una funzione di Azure, per ridurre il carico sull’host dell’applicazione di Dataverse.
  • Hai la disponibilità per eseguire le funzioni in modo sincrono perché i webhook Dataverse forniscono il contesto di esecuzione remota della richiesta fornita.
  • Tuttavia,Azure Functions non vengono eseguite esplicitamente all’interno della pipeline di implementazione di Dataverse, quindi se è necessario aggiornare i dati nel modo più performante, ad esempio la formattazione automatica di un valore di stringa prima che venga pubblicato in Dataverse, si consiglia comunque di utilizzare un plug-in per eseguire questo tipo di operazione.