Funkcje zdefiniowane przez użytkownika

Usługa Azure Cosmos DB to globalnie rozproszona wielomodelowa baza danych, która obsługuje modele danych dokumentów, grafów i klucz-wartość. Zawartość w tej sekcji służy do zarządzania zasobami funkcji zdefiniowanymi przez użytkownika (udfs) przy użyciu interfejsu API SQL za pośrednictwem interfejsu REST.

Funkcja zdefiniowana przez użytkownika (UDF) jest efektem ubocznym wolnego fragmentu logiki aplikacji napisanej w języku JavaScript. Dzięki temu deweloperzy mogą tworzyć operator zapytań, rozszerzając w ten sposób rdzeń języka zapytań usługi Cosmos DB. Podobnie jak procedury składowane, funkcje zdefiniowane przez użytkownika znajdują się w granicach kolekcji, co ogranicza logikę aplikacji do kolekcji.

Podobnie jak procedury składowane, zasób UDF ma stały schemat. Właściwość body zawiera logikę aplikacji. Poniższy przykład ilustruje konstrukcję JSON funkcji zdefiniowanej przez użytkownika.

{  
"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"  
}  
  
Właściwość Opis
id Wymagane. Jest to właściwość ustawiana przez użytkownika. Jest to unikatowa nazwa identyfikująca funkcję UDF. Identyfikator nie może przekraczać 255 znaków.
Ciała Wymagane. Jest to właściwość ustawiana przez użytkownika. Jest to treść funkcji UDF.
_Rid Jest to właściwość wygenerowana przez system. Identyfikator zasobu (_rid) to unikatowy identyfikator, który jest również hierarchiczny dla stosu zasobów w modelu zasobów. Jest on używany wewnętrznie do umieszczania i nawigacji zasobu UDF.
_Ts Jest to właściwość wygenerowana przez system. Określa ostatni zaktualizowany znacznik czasu zasobu. Wartość jest znacznikiem czasu.
_Własny Jest to właściwość wygenerowana przez system. Jest to unikatowy adresowy identyfikator URI zasobu.
_Etag Jest to właściwość wygenerowana przez system, która określa tag zasobu wymagany do optymistycznej kontrolki współbieżności.

Zadania

Możesz wykonać następujące czynności za pomocą funkcji zdefiniowanych przez użytkownika:

Aby uzyskać informacje na temat sposobu działania funkcji zdefiniowanej przez użytkownika, w tym wykonywania funkcji zdefiniowanej przez użytkownika w zapytaniu, zobacz Programowanie w usłudze Cosmos DB: procedury składowane, wyzwalacze i funkcje zdefiniowane przez użytkownika.

Zobacz też