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.