사용자 정의 함수

Azure Cosmos DB 는 문서, 그래프 및 키-값 데이터 모델을 지원하는 전역적으로 분산된 다중 모델 데이터베이스입니다. 이 섹션의 내용은 REST를 통해 SQL API를 사용하여 udfs(사용자 정의 함수 리소스)를 관리하기 위한 것입니다.

UDF(사용자 정의 함수)는 JavaScript로 작성된 애플리케이션 논리의 부작용 없는 조각입니다. 이를 통해 개발자는 쿼리 연산자를 생성하여 Cosmos DB 쿼리 언어의 핵심을 확장할 수 있습니다. 저장 프로시저와 같이 UDF는 컬렉션 범위 내에 있으므로 응용 프로그램 논리를 컬렉션으로 국한시킵니다.

저장 프로시저와 비슷하게 UDF 리소스에는 고정 스키마가 있습니다. Body 속성에는 응용 프로그램 논리가 포함됩니다. 다음 예제에서는 사용자 정의 함수의 JSON 구문을 보여 줍니다.

{  
"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"  
}  
  
속성 Description
id 필수 요소. 사용자 설정 가능 속성입니다. UDF를 식별하는 고유 이름입니다. ID는 255자를 초과하면 안됩니다.
body 필수 요소. 사용자 설정 가능 속성입니다. UDF의 본문입니다.
_rid 시스템 생성 속성입니다. 리소스 ID(_rid)는 리소스 모델의 리소스 스택당 계층적인 고유 식별자입니다. UDF 리소스의 배치와 탐색용으로 내부에서 사용됩니다.
_ts 시스템 생성 속성입니다. 리소스가 마지막으로 업데이트된 시간의 타임스탬프를 지정합니다. 값은 타임스탬프입니다.
_self 시스템 생성 속성입니다. 고유한 주소를 지정할 수 있는 리소스의 URI입니다.
_etag 낙관적 동시성 제어에 필요한 리소스 etag를 지정하는 시스템 생성 속성입니다.

작업

사용자 정의 함수를 사용하여 다음을 수행할 수 있습니다.

쿼리에서 UDF 실행을 포함하여 UDF의 작동 방식에 대한 자세한 내용은 Cosmos DB 프로그래밍: 저장 프로시저, 트리거 및 UDF를 참조하세요.

참고 항목