Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure Confidential Ledger offre funzionalità di programmazione lato server per eseguire logica personalizzata all'interno del libro mastro. Usando queste funzionalità, è possibile estendere la funzionalità del libro mastro scrivendo codice personalizzato che viene eseguito in un ambiente riservato e interagisce con i dati del libro mastro.
È possibile creare funzioni definite dall'utente e endpoint definiti dall'utente per eseguire varie operazioni con diversi livelli di personalizzazione. Le UDF e le UDE erano chiamate in precedenza rispettivamente funzioni semplici definite dall'utente e funzioni avanzate definite dall'utente. Dopo aver definito UDF e UDE, è possibile richiamarli dai client di Azure confidential ledger per eseguirli direttamente all'interno del motore del libro mastro.
UDF e UDE
Azure confidential ledger offre due funzionalità di programmazione lato server:
Funzioni definite dall'utente (UDF): le funzioni definite dall'utente sono semplici funzioni personalizzate definite ed eseguite all'interno del libro mastro. Consentono di eseguire operazioni semplici usando l'API JavaScript e possono integrarsi con l'API di scrittura del libro mastro esistente. Per altre informazioni, vedere Funzioni definite dall'utente in Azure Confidential Ledger.
Endpoint definiti dall'utente (UDE): gli UDE sono endpoint personalizzati che definisci ed esponi in un'applicazione di ledger. Usare questi endpoint per esporre API più sofisticate con parametri personalizzabili, formati di dati e meccanismi di autenticazione. Per altre informazioni, vedere Endpoint definiti dall'utente in Azure Confidential Ledger.
Ecco un confronto tra le caratteristiche e funzionalità principali di UDF e UDE:
| Capacità | UDFs | UDEs |
|---|---|---|
| Eseguire la logica aziendale personalizzata | Sì | Sì |
| Personalizzazione degli argomenti e dei parametri di runtime | Sì | Sì |
| Esporre nuove API/endpoint | NO | Sì |
| Eseguire singole funzioni | Sì | NO |
| Eseguire hook prima o dopo un'operazione di scrittura nel libro mastro | Sì | NO |
| Creazione e aggiornamento di codice personalizzato | Sì (aggiornamento/eliminazione granulare di ogni funzione) | Sì (aggiornamento del bundle di applicazioni singolo per tutti gli endpoint) |
| Opzioni di runtime JavaScript personalizzate | Sì (per ogni esecuzione) | Sì (a livello globale) |
| Esecuzione nei nodi di backup | NO | Sì |
| Supportare più formati di dati per input e output | NO | Sì |
| Autenticazione e autorizzazione personalizzate | NO | Sì |
| Scenari di destinazione | Esecuzione di una semplice logica personalizzata e integrazione con l'API libro mastro | Casi d'uso avanzati che richiedono API personalizzate e controllo sui parametri JavaScript avanzati |
Passaggio tra funzioni definite dall'utente e entità definite dall'utente
Le UDF e le UDE si escludono a vicenda. Non è possibile creare o eseguire UDF se sono definiti UDE e viceversa. Usare la procedura seguente per passare da una funzionalità all'altra.
Importante
Il passaggio tra UDF e UDE è un'operazione distruttiva. Tutti gli UDF o UDE esistenti vengono eliminati quando si passa all'altra funzionalità. Eseguire il backup di qualsiasi dato importante prima di procedere.
Dalle funzioni definite dall'utente (UDF) agli UDE
Per passare da UDF a UDE, eliminare tutti gli UDF esistenti:
Elencare tutte le UDF archiviate nel libro mastro usando l'API
GET /app/userDefinedFunctions.Eliminare ogni UDF, una alla volta, usando l'API
DELETE /app/userDefinedFunctions/{functionId}.
Da UDE a UDF
Per passare dagli UDE agli UDF, definire gli UDE con definizioni vuote di moduli ed endpoint.
Creare un nuovo bundle di applicazioni con la struttura seguente:
{ "metadata": { "endpoints": {} }, "modules": [] }Distribuire il bundle dell'applicazione con il corpo della richiesta definito nel passaggio 1 usando l'API
PUT /app/userDefinedEndpoints.
Passaggi successivi
Per iniziare a usare la programmazione lato server in Azure Confidential Ledger, vedere gli articoli seguenti:
- Funzioni definite dall'utente nel libro mastro riservato di Azure
- Endpoint definiti dall’utente in Azure Confidential Ledger