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
Account e sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, iscriversi per creare un account Azure gratuito.
Un ambiente e un database di Dataverse Data Service, ovvero uno spazio in cui l'organizzazione archivia, gestisce e condivide i dati aziendali in un database Dataverse. Per ulteriori informazioni, vedi le seguenti risorse:
Conoscenza di base su come creare flussi di lavoro di app per la logica a consumo o Standard e sull'app per la logica da cui si vuole accedere alle righe nel database Dataverse. Per usare un trigger Dataverse, è necessario iniziare con un flusso di lavoro vuoto. Per ulteriori informazioni, vedi le seguenti risorse:
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.
Nella portale di Azure aprire la risorsa dell'app per la logica Standard e il flusso di lavoro vuoto nella finestra di progettazione.
Nella finestra di progettazione seguire questa procedura generale per aggiungere il trigger Microsoft Dataverse denominato Quando viene aggiunta, modificata o eliminata una riga.
Se richiesto, accedere all'ambiente o al database dataverse.
Nella casella delle informazioni sul trigger specificare i valori necessari.
Per il trigger di esempio, vedere Quando viene aggiunta, modificata o eliminata una riga.
Al termine, salvare il flusso di lavoro dell'app per la logica. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.
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.
Nella portale di Azure aprire la risorsa e il flusso di lavoro dell'app per la logica Standard nella finestra di progettazione.
Nella finestra di progettazione seguire questa procedura generale per aggiungere l'azione Microsoft Dataverse denominata Aggiungi una nuova riga.
Se richiesto, accedere all'ambiente o al database dataverse.
Nella casella delle informazioni sull'azione specificare i valori necessari.
Per l'azione di esempio, vedere Aggiungere una nuova riga.
Al termine, salvare il flusso di lavoro dell'app per la logica. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.
Continuare ad aggiungere altre azioni, se necessario.
Testare il flusso di lavoro
Per testare e attivare il flusso di lavoro, seguire questa procedura:
Nel menu del flusso di lavoro selezionare Panoramica.
Sulla barra degli strumenti Panoramica selezionare Esegui>esegui.
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.
Nella finestra di progettazione, nell'azione, aprire l'elenco Parametri avanzati e selezionare la proprietà Filtra righe .
Nella proprietà Filter rows (Filtra righe) visualizzata nell'azione immettere un'espressione di query ODATA, ad esempio:
statuscode eq 1
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.
Nella finestra di progettazione, nell'azione, aprire l'elenco Parametri avanzati e selezionare la proprietà Ordina per .
Nella proprietà Ordina per visualizzata nell'azione immettere il nome della colonna da usare per l'ordinamento, ad esempio nome:
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:
Identificare e accedere all'organizzazione Dataverse da cui si vogliono rimuovere le notifiche.
Nel browser Chrome trovare la registrazione di callback che si vuole eliminare.
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.
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à denominatanov_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
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})
.Dopo aver trovato l'ID per la registrazione di callback da eliminare, seguire questa procedura:
Nel browser Chrome aprire Chrome Developer Tools (tastiera: F12).
Nella finestra, nella parte superiore, selezionare la scheda Console .
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.
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
.