Användardefinierade funktioner i azure confidential ledger (förhandsversion)

Azure Confidential Ledger tillhandahåller användardefinierade funktioner (UDF:er) för att köra anpassad logik i transaktionsregistret. Med den här funktionen kan du utöka funktionerna i transaktionsregistret genom att skriva anpassad kod som kan köras i en konfidentiell miljö och interagera med transaktionsregistrets data.

Med de nya programmeringsfunktionerna kan användarna skapa enkla UDF:er och avancerade UDF:er för att utföra olika åtgärder med en annan anpassningsnivå. När det har definierats kan UDF:er anropas från Azures konfidentiella transaktionsregisterklienter för att köras direkt i transaktionsregistrets motor.

Viktigt!

Användardefinierade funktioner finns för närvarande i FÖRHANDSVERSION. Du kan begära åtkomst för den här förhandsversionen via det här registreringsformuläret. Se kompletterande användningsvillkor för Microsoft Azure Previews för juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet.

Enkla och avancerade UDF:er

Azure Confidential Ledger erbjuder två typer av UDF-funktioner:

  • Enkla UDF:er: Enkla UDF:er är enkla anpassade funktioner som kan definieras och köras i transaktionsregistret. De gör att du kan utföra enkla åtgärder med hjälp av JavaScript-API:et och kan integreras med det befintliga transaktionsregisterskrivnings-API:et. Läs mer om enkla UDF:er här.

  • Avancerade UDF:er: Avancerade UDF:er är anpassade slutpunkter som kan definieras och exponeras i ett transaktionsregisterprogram. Dessa slutpunkter kan användas för att exponera mer avancerade API:er med anpassningsbara parametrar, dataformat och autentiseringsmekanismer. Läs mer om avancerade UDF:er här.

Här är en jämförelse av de viktigaste funktionerna i enkla och avancerade UDF:er:

Kapacitet Enkla UDF:er Avancerade UDF:er
Köra anpassad affärslogik Ja Ja
Anpassning av körningsargument/parametrar Ja Ja
Exponera nya API/slutpunkter Nej Ja
Köra enskilda funktioner Ja Nej
Kör krokar före/efter en skrivoperation av bokföringsposter Ja Nej
Skapa och uppdatera anpassad kod Ja (detaljerad uppdatering/borttagning av varje funktion) Ja (uppdatering av ett programpaket för alla slutpunkter)
Alternativ för anpassad JavaScript-körning Ja (per varje exekvering) Ja (globalt)
Utförande på reservnoder Nej Ja
Stöd för flera dataformat för in- och utdata Nej Ja
Anpassad autentisering och auktorisering Nej Ja
Målscenarier Körning av enkel anpassad logik och integrering med transaktionsregister-API:et Avancerade användningsfall som kräver anpassade API:er och kontroll över avancerade JavaScript-parametrar

Växla mellan enkla och avancerade UDF:er

Enkla och avancerade UDF:er är ömsesidigt uteslutande funktioner. Du kan inte skapa eller köra enkla UDF:er om avancerade UDF:er har definierats och vice versa. Du kan växla mellan de två funktionerna med hjälp av följande steg.

Viktigt!

Att växla mellan enkla och avancerade UDF:er är en destruktiv åtgärd. Alla befintliga enkla eller avancerade UDF:er tas bort när du växlar till den andra funktionen. Se till att säkerhetskopiera viktiga data innan du fortsätter.

Från enkla till avancerade UDF:er

Om du vill växla från enkla till avancerade UDF:er måste du ta bort alla befintliga UDF:er:

  1. Visa en lista över alla UDF:er som lagras i transaktionsregistret med hjälp av API:et GET /app/userDefinedFunctions .

  2. Ta bort varje UDF, en i taget, med hjälp av API:et DELETE /app/userDefinedFunctions/{functionId} .

Från avancerade till enkla UDF:er

Om du vill växla från avancerade till enkla UDF:er måste du definiera avancerade UDF:er med tomma moduler och slutpunktsdefinitioner.

  1. Skapa ett nytt programpaket med följande struktur:

    {
        "metadata": {
            "endpoints": {}
        }, 
       "modules": []
    }
    
  2. Distribuera programpaketet med begärandetexten som definierats i steg 1 med hjälp av API:et PUT /app/userDefinedEndpoints .

Nästa steg

Se följande artiklar för att komma igång med funktionerna för UDF:er i Azure Confidential Ledger: