Condividi tramite


Connessione a Microsoft Dataverse (in precedenza Common Data Service) dai flussi di lavoro in App per la logica di Azure

Si applica a: App per la logica di Azure (consumo + standard)

Importante

Il 30 agosto 2022, le operazioni del connettore per Common Data Service 2.0, note anche come Microsoft Dataverse (Legacy), eseguire la migrazione al connettore Microsoft Dataverse corrente. Le operazioni legacy hanno l'etichetta "legacy", mentre le operazioni correnti portano l'etichetta "anteprima". È possibile usare il connettore Dataverse corrente in qualsiasi flusso di lavoro di app per la logica esistente o nuovo. Per garantire la compatibilità con le versioni precedenti, i flussi di lavoro esistenti continuano a funzionare con il connettore Dataverse legacy. Tuttavia, assicurarsi di esaminare questi flussi di lavoro e aggiornarli tempestivamente.

A partire da ottobre 2023, la versione legacy non sarà più disponibile per i nuovi flussi di lavoro. I flussi di lavoro esistenti continuano a funzionare, ma è necessario usare il connettore Dataverse corrente per i nuovi flussi di lavoro. In quel momento, verrà annunciata una sequenza temporale per la data di arresto per le azioni legacy e i trigger.

A partire da novembre 2020, Common Data Service Connector è stato rinominato Microsoft Dataverse (legacy).

Per creare ed eseguire flussi di lavoro automatizzati che gestiscono righe nel database Microsoft Dataverse, in precedenza common data service, è possibile usare App per la logica di Azure e il connettore Microsoft Dataverse. Questi flussi di lavoro possono creare o aggiornare righe ed eseguire altre operazioni. È anche possibile ottenere informazioni dal database Dataverse e rendere disponibile l'output per altre azioni da usare nei flussi di lavoro. Ad esempio, quando viene aggiunta, aggiornata o eliminata una riga nel database dataverse, è possibile inviare un messaggio di posta elettronica usando il connettore Di Office 365 Outlook.

Questa guida illustra come creare un flusso di lavoro che crea una riga di attività ogni volta che viene creata una nuova riga di lead.

Informazioni di riferimento sui connettori

Per informazioni tecniche basate sulla descrizione di Swagger del connettore, ad esempio operazioni, limiti e altri dettagli, vedere la pagina di riferimento del connettore gestito.

Prerequisiti

Aggiungere un trigger Dataverse

Quando si aggiunge un trigger o un'azione che si connette a un servizio o a un sistema e non si dispone di una connessione esistente o attiva, App per la logica di Azure chiede di fornire le informazioni di connessione, che variano in base al tipo di connessione, ad esempio:

  • Credenziali dell'account
  • Nome da usare per la connessione
  • Nome del server o del sistema
  • Tipo di autenticazione da usare
  • Un stringa di connessione

In questo esempio viene utilizzato il trigger Dataverse che avvia il flusso di lavoro quando viene aggiunta, aggiornata o eliminata una riga.

Nota

Il connettore Dataverse include parametri specifici dell'operazione e parametri specifici del database. Ad esempio, quando si seleziona una tabella, i parametri disponibili per tale tabella variano e differiscono da altre tabelle.

  1. Nella portale di Azure aprire la risorsa dell'app per la logica Standard e il flusso di lavoro vuoto nella finestra di progettazione.

  2. Nella finestra di progettazione seguire questa procedura generale per aggiungere il trigger Microsoft Dataverse denominato Quando viene aggiunta, modificata o eliminata una riga.

  3. Se richiesto, accedere all'ambiente o al database dataverse.

  4. Nella casella delle informazioni sul trigger specificare i valori necessari.

    Per il trigger di esempio, vedere Quando viene aggiunta, modificata o eliminata una riga.

    Screenshot shows Standard workflow designer and example trigger.

  5. Al termine, salvare il flusso di lavoro dell'app per la logica. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.

  6. Aggiungere ora almeno un'azione per il flusso di lavoro da eseguire quando il trigger viene attivato. Ad esempio, è possibile aggiungere un'azione Dataverse o un'azione che invia un messaggio di posta elettronica in base agli output del trigger.

Aggiungere un'azione Dataverse

Quando si aggiunge un trigger o un'azione che si connette a un servizio o a un sistema e non si dispone di una connessione esistente o attiva, App per la logica di Azure chiede di fornire le informazioni di connessione, che variano in base al tipo di connessione, ad esempio:

  • Credenziali dell'account
  • Nome da usare per la connessione
  • Nome del server o del sistema
  • Tipo di autenticazione da usare
  • Un stringa di connessione

In questo esempio viene utilizzata l'azione Dataverse che aggiunge una nuova riga al database.

Nota

Il connettore Dataverse include parametri specifici dell'operazione e parametri specifici del database. Ad esempio, quando si seleziona una tabella, i parametri disponibili per tale tabella variano e differiscono da altre tabelle.

  1. Nella portale di Azure aprire la risorsa e il flusso di lavoro dell'app per la logica Standard nella finestra di progettazione.

  2. Nella finestra di progettazione seguire questa procedura generale per aggiungere l'azione Microsoft Dataverse denominata Aggiungi una nuova riga.

  3. Se richiesto, accedere all'ambiente o al database dataverse.

  4. Nella casella delle informazioni sull'azione specificare i valori necessari.

    Per l'azione di esempio, vedere Aggiungere una nuova riga.

    Screenshot shows Standard workflow designer and example action.

  5. Al termine, salvare il flusso di lavoro dell'app per la logica. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.

  6. Continuare ad aggiungere altre azioni, se necessario.

Testare il flusso di lavoro

Per testare e attivare il flusso di lavoro, seguire questa procedura:

  1. Nel menu del flusso di lavoro selezionare Panoramica.

  2. Sulla barra degli strumenti Panoramica selezionare Esegui>esegui.

  3. Riprodurre le condizioni richieste dal trigger per l'esecuzione del flusso di lavoro.

Restituire righe in base a un filtro

Per le azioni che restituiscono righe, ad esempio l'azione Elenca righe , è possibile utilizzare una query ODATA che restituisce righe in base al filtro specificato. Ad esempio, è possibile configurare l'azione per restituire solo le righe per gli account attivi. Per altre informazioni sull'azione di esempio, vedere Elencare le righe.

  1. Nella finestra di progettazione, nell'azione, aprire l'elenco Parametri avanzati e selezionare la proprietà Filtra righe .

    Screenshot shows Standard workflow and property named Filter rows.

  2. Nella proprietà Filter rows (Filtra righe) visualizzata nell'azione immettere un'espressione di query ODATA, ad esempio:

    statuscode eq 1

    Screenshot shows Standard workflow and property named Filter rows with ODATA query.

Per altre informazioni sulle opzioni di query di sistema, vedere Eseguire query sui $filter dati usando l'API Web - Filtrare i risultati.

Restituire righe in base a un ordinamento

Per le azioni che restituiscono righe, ad esempio l'azione Elenca righe , è possibile utilizzare una query ODATA che restituisce righe in una sequenza specifica, che varia in base alle righe restituite dall'azione. Ad esempio, è possibile configurare l'azione per restituire righe organizzate in base al nome dell'account. Per altre informazioni sull'azione di esempio, vedere Elencare le righe.

  1. Nella finestra di progettazione, nell'azione, aprire l'elenco Parametri avanzati e selezionare la proprietà Ordina per .

    Screenshot shows Standard workflow, a Dataverse action, and Sort By property.

  2. Nella proprietà Ordina per visualizzata nell'azione immettere il nome della colonna da usare per l'ordinamento, ad esempio nome:

    Screenshot shows Standard workflow, a Dataverse action, and Sort By property with column name.

Per altre informazioni sulle opzioni di query di sistema, vedere Eseguire query sui $orderby dati usando l'API Web - Ordina per.

Tipi di dati di campo

In un trigger o in un'azione, il tipo di dati di un valore di campo deve corrispondere al tipo di dati richiesto del campo. Questo requisito si applica se si immette manualmente il valore o si seleziona il valore dall'elenco di contenuto dinamico.

Nota

Il connettore Dataverse include parametri specifici dell'operazione e parametri specifici del database. Ad esempio, quando si seleziona una tabella, i parametri disponibili per tale tabella variano e differiscono da altre tabelle.

Si supponga, ad esempio, di avere una tabella denominata Tasks. Questa tabella include campi che si applicano solo a tale tabella, mentre le altre tabelle dispongono di campi specifici. Per la tabella Tasks di esempio, la tabella seguente descrive alcuni tipi di campo di esempio e i tipi di dati necessari per tali campi per i relativi valori.

Campo Tipo di dati Descrizione
Text field Riga di testo singola Richiede una singola riga di testo o contenuto dinamico con il tipo di dati text, ad esempio queste proprietà:

- Descrizione
- Categoria
Campo Intero Numero intero Richiede un contenuto integer o dinamico con tipo di dati Integer, ad esempio queste proprietà:

- Percentuale completamento
- Durata
Campo data Data e ora Richiede una data in formato MM/GG/AAAa o contenuto dinamico con il tipo di dati data, ad esempio queste proprietà:

- Data creazione
- Data di inizio
- Actual Start
- Actual End
- Data di scadenza
Campo che fa riferimento a un'altra riga di entità Chiave primaria Richiede sia un ID riga, ad esempio un GUID, sia un tipo di ricerca, il che significa che i valori dell'elenco di contenuto dinamico non funzioneranno, ad esempio, queste proprietà:

- Proprietario: deve essere un ID utente valido o un ID riga del team.
- Tipo di proprietario: deve essere un tipo di ricerca, systemusers ad esempio o teams, rispettivamente.

- Per quanto riguarda: deve essere un ID riga valido, ad esempio un ID account o un ID riga di contatto.
- Per quanto riguarda Tipo: deve essere un tipo di ricerca, accounts ad esempio o contacts, rispettivamente.

- Cliente: deve essere un ID riga valido, ad esempio un ID account o un ID riga contatto.
- Tipo di cliente: deve essere il tipo di ricerca, ad esempio accounts o contacts, rispettivamente.

Per la tabella Tasks di esempio, si supponga di usare l'azione Aggiungi una nuova riga per creare una nuova riga associata ad altre righe di entità, in particolare una riga utente e una riga di account. In questa azione è quindi necessario specificare gli ID e i tipi di ricerca per tali righe di entità usando valori che corrispondono ai tipi di dati previsti per le proprietà pertinenti.

  • In base alla proprietà Owner , che specifica un ID utente e la proprietà Owner Type , che specifica il systemusers tipo di ricerca, l'azione associa la nuova riga a un utente specifico.

  • In base alla proprietà Regarding , che specifica un ID riga e la proprietà Regarding Type , che specifica il accounts tipo di ricerca, l'azione associa la nuova riga a un account specifico.

Risoluzione dei problemi

Chiamate da più ambienti

Il connettore Dataverse archivia informazioni sui flussi di lavoro dell'app per la logica che ricevono e richiedono notifiche sulle modifiche delle entità di database usando l'entità callbackregistrations nel database Dataverse. Se si copia un'organizzazione di Dataverse, vengono copiati anche i webhook. Se si copia l'organizzazione prima di disabilitare i flussi di lavoro di cui è stato eseguito il mapping all'organizzazione, tutti i webhook copiati puntano anche agli stessi flussi di lavoro dell'app per la logica, che quindi ricevono notifiche da più organizzazioni.

Per arrestare le notifiche indesiderate, eliminare l'entità callbackregistrations dall'organizzazione che invia tali notifiche seguendo questa procedura:

  1. Identificare e accedere all'organizzazione Dataverse da cui si vogliono rimuovere le notifiche.

  2. Nel browser Chrome trovare la registrazione di callback che si vuole eliminare.

    1. Esaminare l'elenco generico per tutte le registrazioni di callback nell'URI OData seguente in modo da poter visualizzare i dati all'interno dell'entità callbackregistrations :

      https://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations:

      Nota

      Se non vengono restituiti valori, è possibile che non si disponga delle autorizzazioni per visualizzare questo tipo di entità o che non sia stato eseguito l'accesso all'organizzazione corretta.

    2. Filtrare in base al nome entityname logico dell'entità di attivazione e all'evento di notifica corrispondente al flusso di lavoro dell'app per la logica (messaggio). Ogni tipo di evento viene mappato al numero intero del messaggio come indicato di seguito:

      Tipo di evento Intero del messaggio
      Creazione 1
      Elimina 2
      Update 3
      CreateOrUpdate 4
      CreateOrDelete 5
      UpdateOrDelete 6
      CreateOrUpdateOrDelete 7

      L'esempio seguente illustra come filtrare le notifiche in Create un'entità denominata nov_validation usando l'URI OData seguente per un'organizzazione di esempio:

      https://fabrikam-preprod.crm1.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname eq 'nov_validation' and message eq 1

      Screenshot shows browser window and OData URI in address bar.

      Nota

      Se esistono più trigger per la stessa entità o evento, è possibile filtrare l'elenco usando filtri aggiuntivi, ad esempio gli createdon attributi e _owninguser_value . Il nome dell'utente proprietario viene visualizzato in /api/data/v9.0/systemusers({id}).

    3. Dopo aver trovato l'ID per la registrazione di callback da eliminare, seguire questa procedura:

      1. Nel browser Chrome aprire Chrome Developer Tools (tastiera: F12).

      2. Nella finestra, nella parte superiore, selezionare la scheda Console .

      3. Nel prompt della riga di comando immettere questo comando, che invia una richiesta per eliminare la registrazione di callback specificata:

        fetch('http://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations({ID-to-delete})', { method: 'DELETE'})

        Importante

        Assicurarsi di effettuare la richiesta da una pagina UCI (Unified Client Interface), ad esempio dalla pagina di risposta OData o API stessa. In caso contrario, la logica nel file app.js potrebbe interferire con questa operazione.

    4. Per verificare che la registrazione di callback non esista più, controllare l'elenco delle registrazioni di callback.

Entità 'callbackregistrations' duplicata

Nei flussi di lavoro dell'app per la logica Standard, in condizioni specifiche, ad esempio la riallocazione dell'istanza o il riavvio dell'applicazione, il trigger Di Microsoft Dataverse viene eseguito in modo duplicato, che comporta la creazione di un'entità duplicata callbackregistrations nel database Dataverse. Se si modifica un flusso di lavoro Standard che inizia con un trigger Dataverse, verificare se questa callbackregistrations entità è duplicata. Se il duplicato esiste, eliminare manualmente l'entità duplicata callbackregistrations .

Passaggi successivi