사용자 정의 함수 만들기
작업은 Create User Defined Function
컬렉션에 새 저장 프로시저를 만듭니다.
요청
메서드 | 요청 URI | 설명 |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/udfs |
{databaseaccount}는 구독에서 만든 Azure Cosmos DB 계정의 이름입니다. {db-id} 값은 시스템에서 생성한 데이터베이스 ID(제거)가 아니라 UDF가 만들어진 데이터베이스의 사용자 생성 이름/ID입니다. {coll-id} 값은 UDF가 만들어진 컬렉션의 이름입니다. |
헤더
모든 Azure Cosmos DB 요청에 사용되는 헤더는 일반적인 Azure Cosmos DB REST 요청 헤더를 참조하세요.
본문
속성 | 필수 | 형식 | Description |
---|---|---|---|
id | 필수 | 문자열 | UDF를 식별하는 고유 이름입니다. id는 255자 이내여야 합니다. |
body | 필수 | 문자열 | 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"
}
응답
헤더
모든 Azure Cosmos DB 응답 에서 반환되는 헤더는 일반적인 Azure Cosmos DB REST 응답 헤더를 참조하세요.
상태 코드
다음 표에는 이 작업에서 반환하는 일반적인 상태 코드가 나열되어 있습니다. 상태 코드의 전체 목록은 HTTP 상태 코드를 참조하세요.
HTTP 상태 코드 | 설명 |
---|---|
201 생성됨 | 작업이 완료되었습니다. |
400 잘못된 요청 | JSON 본문이 잘못되었습니다. 누락된 중괄호나 따옴표를 확인하세요. |
409 충돌 | 새 UDF에 제공된 ID는 기존 UDF에서 가져온 것입니다. |
본문
속성 | 설명 |
---|---|
_제거 | 시스템 생성 속성입니다. 리소스 ID(_rid)는 리소스 모델의 리소스 스택에 따라 계층적인 고유 식별자입니다. UDF 리소스의 배치와 탐색용으로 내부에서 사용됩니다. |
_ts | 시스템 생성 속성입니다. 리소스가 마지막으로 업데이트된 시간의 타임스탬프를 지정합니다. 값은 타임스탬프입니다. |
_self | 시스템 생성 속성입니다. 고유한 주소를 지정할 수 있는 리소스의 URI입니다. |
_etag | 낙관적 동시성 제어에 필요한 리소스 etag를 지정하는 시스템 생성 속성입니다. |
{
"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\""
}
예제
POST https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/udfs HTTP/1.1
x-ms-session-token: 37
x-ms-date: Wed, 09 Dec 2015 19:05:49 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3d6OaA6qWdazmZ%2fp5LjSROiDEjquzF5a9YIPFRqLQEenM%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=37
Content-Length: 287
Expect: 100-continue
Connection: Keep-Alive
{
"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 201 Created
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
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: "06003ee4-0000-0000-0000-56687b8d0000"
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: 37
x-ms-session-token: 38
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 4.95
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: 2fdee379-7044-4275-a655-5367bf0a3798
x-ms-gatewayversion: version=1.5.57.3
Date: Wed, 09 Dec 2015 19:05:51 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\""
}