Delen via


Door de gebruiker gedefinieerde functies in Azure Confidential Ledger (preview)

Azure Confidential Ledger biedt door de gebruiker gedefinieerde functies (UDF's) voor het uitvoeren van aangepaste logica in het grootboek. Met deze functie kunt u de functionaliteit van het grootboek uitbreiden door aangepaste code te schrijven die in een vertrouwelijke omgeving kan worden uitgevoerd en kunt communiceren met de gegevens van het grootboek.

Met de nieuwe programmeermogelijkheden kunnen gebruikers eenvoudige UDF's en geavanceerde UDF's maken om verschillende bewerkingen uit te voeren met een ander aanpassingsniveau. Zodra dit is gedefinieerd, kunnen UDF's worden aangeroepen vanuit de Azure Confidential Ledger-clients om rechtstreeks in de grootboekengine uit te voeren.

Belangrijk

Door de gebruiker gedefinieerde functies zijn momenteel beschikbaar in PREVIEW. U kunt toegang aanvragen voor deze preview via dit aanmeldingsformulier. Zie de Aanvullende Gebruiksvoorwaarden voor Microsoft Azure Previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta, preview, of anderszins nog niet algemeen beschikbaar zijn.

Eenvoudige en geavanceerde UDF's

Azure Confidential Ledger biedt twee typen UDF-functies:

  • Eenvoudige UDF's: Eenvoudige UDF's zijn eenvoudige aangepaste functies die kunnen worden gedefinieerd en uitgevoerd in het grootboek. Hiermee kunt u eenvoudige bewerkingen uitvoeren met behulp van de JavaScript-API en kunnen worden geïntegreerd met de bestaande schrijf-API voor grootboekbewerkingen. Hier vindt u meer informatie over eenvoudige UDF's.

  • Geavanceerde UDF's: Geavanceerde UDF's zijn aangepaste eindpunten die kunnen worden gedefinieerd en weergegeven in een grootboektoepassing. Deze eindpunten kunnen worden gebruikt om geavanceerdere API's beschikbaar te maken met aanpasbare parameters, gegevensindelingen en verificatiemechanismen. Meer informatie over geavanceerde UDF's vindt u hier.

Hier volgt een vergelijking van de belangrijkste functies en mogelijkheden van eenvoudige en geavanceerde UDF's:

Vermogen Eenvoudige UDF's Geavanceerde UDF's
Aangepaste bedrijfslogica uitvoeren Ja Ja
Aanpassing van runtimeargumenten /parameters Ja Ja
Nieuwe API/eindpunten beschikbaar maken Nee. Ja
Afzonderlijke functies uitvoeren Ja Nee.
Hooks uitvoeren vóór/na een schrijfbewerking voor grootboekvermelding Ja Nee.
Aangepaste code maken en bijwerken Ja (gedetailleerde update/verwijdering van elke functie) Ja (update van één toepassingsbundel voor alle eindpunten)
Aangepaste Runtime-opties voor JavaScript Ja (per uitvoering) Ja (wereldwijd)
Uitvoering op backupknooppunten Nee. Ja
Ondersteuning voor meerdere gegevensindelingen voor invoer en uitvoer Nee. Ja
Aangepaste verificatie en autorisatie Nee. Ja
Doelscenario's Uitvoering van eenvoudige aangepaste logica en integratie met de grootboek-API Geavanceerde use cases waarvoor aangepaste API's en controle over geavanceerde JavaScript-parameters zijn vereist

Schakelen tussen eenvoudige en geavanceerde UDF's

Eenvoudige en geavanceerde UDF's sluiten elkaar wederzijds uit. U kunt geen eenvoudige UDF's maken of uitvoeren als geavanceerde UDF's zijn gedefinieerd en andersom. Het is mogelijk om te schakelen tussen de twee functies met behulp van de volgende stappen.

Belangrijk

Schakelen tussen eenvoudige en geavanceerde UDF's is een destructieve bewerking. Alle bestaande eenvoudige of geavanceerde UDF's worden verwijderd wanneer u overschakelt naar de andere functie. Zorg ervoor dat u een back-up maakt van belangrijke gegevens voordat u doorgaat.

Van eenvoudige tot geavanceerde UDF's

Als u wilt overschakelen van eenvoudige naar geavanceerde UDF's, moet u alle bestaande UDF's verwijderen:

  1. Vermeld alle UDF's die zijn opgeslagen in het grootboek met behulp van de GET /app/userDefinedFunctions API.

  2. Verwijder elke UDF, één voor één, met behulp van de DELETE /app/userDefinedFunctions/{functionId} API.

Van geavanceerd naar eenvoudige UDF's

Als u wilt overschakelen van geavanceerde naar eenvoudige UDF's, moet u geavanceerde UDF's definiëren met lege modules en eindpuntdefinities.

  1. Maak een nieuwe toepassingsbundel met de volgende structuur:

    {
        "metadata": {
            "endpoints": {}
        }, 
       "modules": []
    }
    
  2. Implementeer de toepassingsbundel met de aanvraagbody die is gedefinieerd in stap 1 met behulp van de PUT /app/userDefinedEndpoints API.

Volgende stappen

Raadpleeg de volgende artikelen om aan de slag te gaan met UDF-functies in Azure Confidential Ledger: