.create function 명령
지정된 이름을 사용하여 재사용 가능한 KQL 쿼리인 저장된 함수를 만듭니다. 함수 정의는 데이터베이스 메타데이터와 함께 유지됩니다.
함수는 다른 함수를 호출할 수 있습니다(재귀성은 지원되지 않음). let
또한 문은 함수 본문의 일부로 허용됩니다. 문을 참조 let
하세요.
매개 변수 형식 및 CSL 문에 대한 규칙은 문과 동일합니다let
.
사용 권한
이 명령을 실행하려면 데이터베이스 사용자 이상의 권한이 있어야 합니다.
Syntax
.create
function
[ ifnotexists
] [ with
(
propertyName=
propertyValue [,
...])
] functionName(
매개 변수)
{
몸}
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | 형식 | 필수 | Description |
---|---|---|---|
ifnotexists |
string |
지정된 경우 함수가 아직 없는 경우에만 함수가 만들어집니다. | |
functionName | string |
✔️ | 만들거나 변경할 함수의 이름입니다. |
propertyName, propertyValue | string |
키-값 속성 쌍의 쉼표로 구분된 목록입니다. 지원되는 속성을 참조하세요. | |
parameters | string |
함수에 필요한 매개 변수의 쉼표로 구분된 목록입니다. 각 매개 변수의 형식은 ParameterName: ParameterDataType이어야 합니다. |
|
body | string |
✔️ | 사용자 정의 함수 식입니다. |
지원되는 속성
Name | 형식 | Description |
---|---|---|
docstring |
string |
UI용 함수에 대한 설명입니다. |
folder |
string |
UI 함수 분류에 사용되는 폴더의 이름입니다. |
view |
bool |
이 함수를 저장된 보기로 지정합니다. 저장된 뷰는 검색 및 공용 구조체 * 시나리오에 참여할 수 있습니다. 자세한 내용은 보기를 참조하세요. |
skipvalidation |
bool |
함수에서 유효성 검사 논리를 실행할지 여부를 결정하고 함수가 유효하지 않은 경우 프로세스에 실패합니다. 기본값은 false 입니다. |
팁
함수에 클러스터 간 쿼리가 포함되고 Kusto 쿼리 언어 스크립트를 사용하여 함수를 다시 만들려는 경우 를 로 true
설정합니다skipvalidation
.
반환
출력 매개 변수 | 형식 | Description |
---|---|---|
Name | string |
함수의 이름입니다. |
매개 변수 | string |
함수에 필요한 매개 변수입니다. |
본문 | string |
(0개 이상) let 문 뒤에 함수 호출 시 평가되는 유효한 CSL 식이 잇습니다. |
폴더 | string |
UI 함수 분류에 사용되는 폴더입니다. 이 매개 변수는 함수가 호출되는 방식을 변경하지 않습니다. |
DocString | string |
UI용 함수에 대한 설명입니다. |
참고
- 함수가 이미 있는 경우:
- 플래그를 지정하면
ifnotexists
명령이 무시됩니다(변경 내용이 적용되지 않음). - 플래그를 지정하지 않으면
ifnotexists
오류가 반환됩니다. - 기존 함수를 변경하려면
.alter function
- 플래그를 지정하면
- 문에서
let
모든 데이터 형식이 지원되는 것은 아닙니다. 지원되는 형식은 부울, 문자열, long, datetime, timespan, double 및 dynamic입니다. - 를 사용하여
skipvalidation
함수의 의미 체계 유효성 검사를 건너뜁니다. 이는 함수가 잘못된 순서로 생성되고 F2를 사용하는 F1이 이전에 만들어진 경우에 유용합니다.
예제
간단한 데모 함수
.create function
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1() {StormEvents | take 100}
Name | 매개 변수 | 본문 | 폴더 | DocString |
---|---|---|---|---|
MyFunction1 | () | {StormEvents | take 100} | 데모 | 간단한 데모 함수 |
매개 변수를 사용하여 데모 함수
.create function
with (docstring = 'Demo function with parameter', folder='Demo')
MyFunction2(myLimit: long) {StormEvents | take myLimit}
Name | 매개 변수 | 본문 | 폴더 | DocString |
---|---|---|---|---|
MyFunction2 | (myLimit:long) | {StormEvents | take myLimit} | 데모 | 매개 변수를 사용하여 데모 함수 |
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기