Nahrazení uživatelem definované funkce
Provedení operace PUT u konkrétního prostředku UDF nahradí celý prostředek UDF. Všechny uživatelsky nastavitelné vlastnosti, včetně ID a těla, musí být odeslány v těle, aby bylo možné provést nahrazení.
Žádost
Metoda | Identifikátor URI žádosti | Description |
---|---|---|
PUT | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/udfs/{udf-name} |
{databaseaccount} je název účtu služby Azure Cosmos DB vytvořeného v rámci vašeho předplatného. Hodnota {db-id} je uživatelem vygenerované jméno nebo ID databáze, ve které se nahrazuje funkce definovaná uživatelem, nikoli systémem generované ID (rid) databáze. Hodnota {coll-id} je název kolekce, ve které je funkce definovaná uživatelem nahrazena. Hodnota {udf-name} je název UDF, který se má nahradit. |
Hlavičky
Projděte si běžné hlavičky požadavků REST služby Azure Cosmos DB pro hlavičky, které se používají ve všech požadavcích služby Cosmos DB.
Text
Vlastnost | Požaduje se | Typ | Description |
---|---|---|---|
id | Vyžadováno | Řetězec | Jedná se o jedinečný název pro identifikaci funkce definované uživatelem. Id nesmí být delší než 255 znaků. |
Tělo | Vyžadováno | Řetězec | Je to tělo UDF. |
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF"
}
Odpověď
Hlavičky
Projděte si běžné hlavičky odpovědi REST služby Azure Cosmos DB pro hlavičky, které vrací všechny odpovědi služby Cosmos DB.
Stavové kódy
Následující tabulka obsahuje seznam běžných stavových kódů vrácených touto operací. Úplný seznam stavových kódů najdete v tématu Stavové kódy HTTP.
Stavový kód HTTP | Popis |
---|---|
200 Ok | Operace nahrazení byla úspěšná. |
400 – Chybný požadavek | Text JSON je neplatný. Zkontrolujte, jestli nechybí složené závorky nebo uvozovky. |
404 Nenalezeno | Funkce definovaná uživatelem, která se má nahradit, už není prostředkem, to znamená, že byla odstraněna. |
409 – Konflikt | ID zadané pro uživatelsky definovanou službu převzala existující funkce definovaná uživatelem. |
Text
Vlastnost | Popis |
---|---|
_Zbavit | Jedná se o systémem vygenerovanou vlastnost. ID prostředku (_rid) je jedinečný identifikátor, který je také hierarchický podle zásobníku prostředků v modelu prostředků. Používá se interně k umístění a navigaci prostředku UDF. |
_Ts | Jedná se o systémem vygenerovanou vlastnost. Určuje časové razítko poslední aktualizace prostředku. Hodnota je časové razítko. |
_Vlastní | Jedná se o systémem vygenerovanou vlastnost. Jedná se o jedinečný adresovatelný identifikátor URI prostředku. |
_Etag | Jedná se o systémem vygenerovanou vlastnost, která určuje etag prostředku vyžadovanou pro optimistické řízení souběžnosti. |
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF",
"_rid": "Sl8fALN4sw4BAAAAAAAAYA==",
"_ts": 1449687949,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/udfs\/Sl8fALN4sw4BAAAAAAAAYA==\/",
"_etag": "\"06003ee4-0000-0000-0000-56687b8d0000\""
}
Příklad
PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/udfs/simpleTaxUDF HTTP/1.1
x-ms-session-token: 38
x-ms-date: Wed, 09 Dec 2015 19:11:33 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3d61JdqPLJi6nMRA0uI2lqFE9kUlgNq5EN1xo0zRlDpbw%3d
Cache-Control: no-cache
User-Agent: contoso/1.0
x-ms-version: 2015-08-06
Accept: application/json
Host: contosomarketing.documents.azure.com
Cookie: x-ms-session-token=38
Content-Length: 446
Expect: 100-continue
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF"
}
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
Content-Location: https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/udfs/simpleTaxUDF
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT
etag: "060072e4-0000-0000-0000-56687ce50000"
x-ms-resource-quota: functions=25;
x-ms-resource-usage: functions=1;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/volcanodb/colls/volcano1
x-ms-content-path: Sl8fALN4sw4=
x-ms-quorum-acked-lsn: 38
x-ms-session-token: 39
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 9.9
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: db26233c-a794-4afa-bcec-f136ffb473d9
Set-Cookie: x-ms-session-token=39; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1
x-ms-gatewayversion: version=1.5.57.3
Date: Wed, 09 Dec 2015 19:11:34 GMT
Content-Length: 468
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF",
"_rid": "Sl8fALN4sw4BAAAAAAAAYA==",
"_ts": 1449687949,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/udfs\/Sl8fALN4sw4BAAAAAAAAYA==\/",
"_etag": "\"06003ee4-0000-0000-0000-56687b8d0000\""
}