Share via


엔터티 이름

Kusto 엔터티는 쿼리에서 이름으로 참조됩니다. 해당 이름으로 참조할 수 있는 엔터티에는 데이터베이스, 테이블, 저장된 함수가 포함되지만 클러스터는 포함되지 않습니다. 엔터티를 할당하는 이름을 식별자라고 합니다. 엔터티 외에도 쿼리 매개 변수 또는 let 문을 통해 설정된 변수에 식별자를 할당할 수도 있습니다.

엔터티의 이름은 해당 컨테이너의 컨텍스트에서 엔터티 형식에 고유합니다. 예를 들어 동일한 데이터베이스에 있는 두 테이블의 이름은 같을 수 없지만 데이터베이스와 테이블은 서로 다른 엔터티 형식이므로 이름이 같을 수 있습니다. 마찬가지로 테이블과 저장된 함수의 이름은 같을 수 있습니다.

참고

Azure 리소스로도 반영되는 엔터티 이름은 ARM 예약 단어 규칙을 따릅니다.

예쁜 이름

엔터티 이름 외에도 일부 엔터티의 이름은 꽤 있을 수 있습니다. 엔터티 이름을 사용하는 것과 마찬가지로 예쁜 이름을 사용하여 쿼리에서 엔터티를 참조할 수 있습니다. 그러나 엔터티 이름과 달리 예쁜 이름은 컨테이너의 컨텍스트에서 반드시 고유하지는 않습니다. 컨테이너에 이름이 같은 엔터티가 여러 개 있는 경우 예쁜 이름을 사용하여 엔터티를 참조할 수 없습니다.

예쁜 이름을 사용하면 중간 계층 애플리케이션이 자동으로 생성된 엔터티 이름(예: UUID)을 표시 및 참조 목적으로 사람이 읽을 수 있는 이름에 매핑할 수 있습니다.

예쁜 이름을 할당하는 방법에 대한 예제는 .alter database prettyname 명령을 참조하세요.

식별자 명명 규칙

식별자는 let 문을 통해 설정된 엔터티, 쿼리 매개 변수 또는 변수에 할당하는 이름입니다. 유효한 식별자는 다음 규칙을 따라야 합니다.

  • 식별자는 대/소문자를 구분합니다. 데이터베이스 이름은 대/소문자를 구분하지 않으므로 이 규칙에 대한 예외입니다.
  • 식별자는 1~1024자 사이여야 합니다.
  • 식별자에는 문자, 숫자 및 밑줄(_)이 포함될 수 있습니다.
  • 식별자에는 공백, 점() 및 대시(.)와 같은 특정 특수 문자가- 포함될 수 있습니다. 특수 문자를 사용하여 식별자를 참조하는 방법에 대한 자세한 내용은 쿼리의 참조 식별자를 참조하세요.

참고

  • 문자, 숫자, 밑줄, 점 및 대시의 지정된 UTF-8 문자만 지원됩니다. instance 경우 세미콜론 및 콜론이 지원되지 않습니다.
  • $ KQL 연산자에 의해 생성될 때 엔터티 이름에 문자가 허용됩니다.

식별자를 언어 키워드 또는 리터럴로 명명하지 않습니다.

KQL에는 식별자와 유사한 명명 규칙이 있는 키워드와 리터럴이 있습니다. 키워드 또는 리터럴과 이름이 같은 식별자를 가질 수 있습니다. 그러나 쿼리에서 참조하려면 특별한 따옴표가 필요하므로 이를 사용하지 않는 것이 좋습니다.

언어 키워드(keyword) 또는 리터럴(예: where, summarize1day)일 수도 있는 식별자를 사용하지 않으려면 언어 키워드에 적용되지 않는 다음 규칙에 따라 엔터티 이름을 선택할 수 있습니다.

  • 대문자로 시작하는 이름(A ~)을 Z사용합니다.

  • 단일 밑줄(_)로 시작하거나 끝나는 이름을 사용합니다.

    참고

    KQL은 두 개의 밑줄 문자()__로 시작하거나 끝나는 모든 식별자를 예약합니다. 사용자는 자신의 용도로 이러한 이름을 정의할 수 없습니다.

이러한 식별자를 참조하는 방법에 대한 자세한 내용은 쿼리의 참조 식별자를 참조하세요.

쿼리의 참조 식별자

다음 표에서는 쿼리에서 식별자를 참조하는 방법에 대한 설명을 제공합니다.

식별자 유형 ID 참조 설명
보통 entity entity 특수 문자를 포함하거나 일부 언어 키워드(keyword) 매핑하지 않는 식별자(entity)는 따옴표로 묶을 필요가 없습니다.
특수 문자 entity-name ['entity-name'] 특수 문자(예: -)를 포함하는 식별자 이름은 및 를 사용 [' 하거나 및 ']"]를 사용하여 [" 묶어야 합니다.
언어 키워드(keyword) where ["where"] 언어 키워드인 식별자 이름은 및 또는 ["']"]를 사용하여 [' 묶어야 합니다.
리터럴 1day ["1day"] 리터럴인 식별자 이름은 및 또는 ["']"]를 사용하여 [' 묶어야 합니다.

참고

식별자는 대/소문자를 구분합니다. 예를 들어 라는 ThisTablethisTABLE테이블을 참조할 수 없습니다.