Share via


Benutzerdefinierte Funktionen

Azure Cosmos DB ist eine global verteilte Datenbank mit mehreren Modellen, die die Dokument-, Graph- und Schlüssel-Wert-Datenmodelle unterstützt. Der Inhalt in diesem Abschnitt dient zum Verwalten benutzerdefinierter Funktionsressourcen (udfs) mithilfe der SQL-API über REST.

Eine benutzerdefinierte Funktion (User-Defined Function, UDF) ist ein nebeneffektfreier Teil der Anwendungslogik, die in JavaScript geschrieben wurde. Entwickler können damit einen Abfrageoperator erstellen und so den Kern der Cosmos DB-Abfragesprache erweitern. Ähnlich wie gespeicherte Prozeduren unterliegen benutzerdefinierte Funktionen der Einschränkung einer Auflistung. Sie schränken die Anwendungslogik daher auf die Auflistung ein.

Ähnlich wie gespeicherte Prozeduren hat die Ressource der benutzerdefinierten Funktion ein festes Schema. Die Texteigenschaft enthält die Anwendungslogik. Das folgende Beispiel veranschaulicht das JSON-Konstrukt einer benutzerdefinierten Funktion.

{  
"id":"simpleTaxUDF",  
"body": "  
function tax(income) {  
        if(income == undefined)   
            throw 'no input';  
        if (income < 1000)   
            return income * 0.1;  
        else if (income < 10000)   
            return income * 0.2;  
        else  
            return income * 0.4;  
    }  
",  
"_rid":"hLEEAI1YjgcBAAAAAAAAgA==",  
"_ts":1408058682,  
"_self":"dbs\/hLEEAA==\/colls\/hLEEAI1Yjgc=\/udfs\/hLEEAI1YjgcBAAAAAAAAgA==\/",  
"_etag":"00004100-0000-0000-0000-53ed453a0000"  
}  
  
Eigenschaft BESCHREIBUNG
id Erforderlich. Es handelt sich um eine vom Benutzer festgelegte Eigenschaft. Es handelt sich um einen eindeutigen Namen, um die benutzerdefinierte Funktion (UDF) zu identifizieren. Die ID darf nicht länger als 255 Zeichen sein.
body Erforderlich. Es handelt sich um eine vom Benutzer festgelegte Eigenschaft. Es ist der Textkörper der UDF.
_los Es handelt sich um eine vom System generierte Eigenschaft. Die Ressourcen-ID (_rid) ist ein eindeutiger Bezeichner, der auch je nach Ressourcenstapel im Ressourcenmodell hierarchisch ist. Sie wird intern für die Platzierung und Navigation der UDF-Ressource verwendet.
_Ts Es handelt sich um eine vom System generierte Eigenschaft. Sie gibt den zuletzt aktualisierten Zeitstempel der Ressource an. Der Wert ist ein Zeitstempel.
_Selbst Es handelt sich um eine vom System generierte Eigenschaft. Es handelt sich um den eindeutigen, adressierbaren URI für die Ressource.
_Etag Es handelt sich um eine vom System generierte Eigenschaft, die das Ressourcen-Etag angibt, das für die Steuerung der optimistischen Parallelität erforderlich ist.

Aufgaben

Mit benutzerdefinierten Funktionen können Sie folgendes tun:

Informationen zur Funktionsweise von UDFs, einschließlich der Ausführung einer UDF in einer Abfrage, finden Sie unter Cosmos DB-Programmierung: Gespeicherte Prozeduren, Trigger und UDFs.

Weitere Informationen