이 문서에서는 Microsoft Sentinel 데이터 레이크에서 Jupyter Notebook을 사용할 때 발생할 수 있는 일반적인 오류, 근본 원인 및 resolve 권장되는 작업을 나열합니다.
Notebook 실행에 대한 자세한 내용은 Microsoft Sentinel 데이터 레이크에서 Notebook 실행을 참조하세요.
일반적인 오류
다음 표에는 일반적인 오류, 오류 코드 및 resolve 위해 제안된 작업이 나와 있습니다.
| 오류 범주 | 오류 이름 | 오류 코드 | 오류 메시지 | 제안된 작업 |
|---|---|---|---|---|
| DatabaseError | DatabaseNotFound | 2001 | 데이터베이스 {DatabaseName}을(를) 찾을 수 없습니다. | 데이터베이스가 있는지 확인합니다. 데이터베이스가 새 데이터베이스인 경우 메타데이터 새로 고침을 기다립니다. |
| DatabaseError | AmbiguousDatabaseName | 2002 | 여러 데이터베이스(ID: {DatabaseID1}, {DatabaseID2}, ...)는 이름 {DatabaseName}을(를) 공유합니다. 특정 데이터베이스 ID를 제공합니다. | 여러 데이터베이스의 이름이 같은 경우 데이터베이스 ID를 지정합니다. |
| DatabaseError | DatabaseIdMismatch | 2003 | 데이터베이스({DatabaseName}, ID {DatabaseID})를 찾을 수 없습니다. | 데이터베이스 이름과 ID를 모두 확인합니다. 데이터베이스 ID를 가져오려면 모든 데이터베이스를 나열합니다. |
| DatabaseError | ListDatabasesFailure | 2004 | 데이터베이스를 가져올 수 없습니다. 세션을 다시 시작하고 다시 시도합니다. | 세션을 다시 시작하고 몇 분 후에 작업을 다시 시도합니다. |
| TableError | TableDoesNotExist | 2100 | {DatabaseName} 데이터베이스에서 {TableName}을(를) 찾을 수 없습니다. | 테이블이 데이터베이스에 있는지 확인합니다. 테이블 또는 데이터베이스가 새로운 경우 몇 분 정도 기다렸다가 다시 시도하세요. |
| TableError | ProvisioningIncomplete | 2101 | 테이블 {TableName}이(가) 준비되지 않았습니다. 다시 시도하기 전에 몇 분 정도 기다립니다. | 테이블이 프로비전되고 있습니다. 다시 시도하기 전에 몇 분 정도 기다립니다. |
| TableError | DeltaTableMissing | 2102 | 테이블 {TableName}이(가) 비어 있습니다. 새 테이블을 준비하는 데 최대 몇 시간이 걸릴 수 있습니다. | 분석 테이블을 데이터 레이크에 완전히 동기화하는 데 몇 시간이 걸릴 수 있습니다. 데이터 레이크에만 있는 테이블의 경우 데이터를 로드하거나 복원해야 하는 경우 검사. |
| TableError | TableDoesNotExistForDelete | 2103 | 테이블을 삭제할 수 없습니다. 테이블 {TableName}을(를) 찾을 수 없습니다. | 테이블이 데이터베이스에 있는지 확인합니다. 테이블 또는 데이터베이스가 새로운 경우 몇 분 정도 기다렸다가 다시 시도하세요. |
| AuthorizationFailure | MissingSASToken | 2201 | 테이블에 액세스할 수 없습니다. 세션을 다시 시작하고 다시 시도합니다. | 테이블에 대한 액세스 토큰을 가져오는 동안 권한 부여가 실패했습니다. 세션을 다시 시작하고 다시 시도합니다. |
| AuthorizationFailure | InvalidSASToken | 2202 | 테이블에 액세스할 수 없습니다. 세션을 다시 시작하고 다시 시도합니다. | 테이블에 대한 액세스 토큰을 가져오는 동안 권한 부여가 실패했습니다. 세션을 다시 시작하고 다시 시도합니다. |
| AuthorizationFailure | TokenExpired | 2203 | 테이블에 액세스할 수 없습니다. 세션을 다시 시작하고 다시 시도합니다. | 테이블에 대한 액세스 토큰을 가져오는 동안 권한 부여가 실패했습니다. 세션을 다시 시작하고 다시 시도합니다. |
| AuthorizationFailure | TableInsufficientPermissions | 2204 | 데이터베이스 {DatabaseName}의 테이블 {TableName}에 필요한 액세스 권한입니다. | 관리자에게 문의하여 테이블 또는 데이터베이스(작업 영역)에 대한 액세스를 요청합니다. |
| AuthorizationFailure | InternalTableAccessDenied | 2205 | {TableName} 테이블에 대한 액세스가 제한됩니다. | Notebook에서 시스템 또는 사용자 정의 테이블만 액세스할 수 있습니다. |
| AuthorizationFailure | TableAuthFailure | 2206 | 테이블에 데이터를 저장할 수 없습니다. 세션을 다시 시작하고 다시 시도합니다. | 테이블에 데이터를 저장하려고 시도하는 동안 권한 부여에 실패했습니다. 세션을 다시 시작하고 다시 시도합니다. |
| ConfigurationError | HadoopConfigFailure | 2301 | 세션 구성을 업데이트할 수 없습니다. 세션을 다시 시작하고 다시 시도합니다. | 이 문제는 일시적이며 세션을 다시 시작하고 다시 시도하여 해결할 수 있습니다. 이 문제가 지속되면 지원에 문의하세요. |
| Dataerror | JsonParsingFailure | 2302 | 테이블 메타데이터가 손상되었습니다. 지원을 받으려면 지원에 문의하세요. | 지원을 받으려면 지원에 문의하세요. 테넌트 ID, 테이블 이름 및 데이터베이스 이름을 제공합니다. |
| TableSchemaError | TableSchemaMismatch | 2401 | 대상 테이블에 열이 없습니다. DataFrame 스키마와 대상 테이블을 정렬하거나 덮어쓰기 모드를 사용합니다. | 대상 데이터베이스의 테이블과 일치하도록 DataFrame 스키마를 업데이트합니다. 테이블을 완전히 덮어쓰기 모드로 바꿀 수도 있습니다. |
| TableSchemaError | MissingRequiredColumns | 2402 | 열 {ColumnName}이(가) DataFrame에서 누락되었습니다. DataFrame 스키마를 확인하고 대상 테이블과 정렬합니다. | 대상 데이터베이스의 테이블과 일치하도록 DataFrame 스키마를 업데이트합니다. 테이블을 완전히 덮어쓰기 모드로 바꿀 수도 있습니다. |
| TableSchemaError | ColumnTypeChangeNotAllowed | 2403 | {ColumnName}열의 데이터 형식을 변경할 수 없습니다. | 열에 대한 데이터 형식 변경은 허용되지 않습니다. 대상 테이블에서 기존 열을 확인하고 DataFrame의 모든 데이터 형식을 정렬합니다. |
| TableSchemaError | ColumnNullabilityChangeNotAllowed | 2404 | {ColumnName}열의 null 허용 여부를 변경할 수 없습니다. | 열의 null 허용 여부를 업데이트할 수 없습니다. 대상 테이블을 확인하고 설정을 DataFrame에 맞춥다. |
| IngestionError | FolderCreationFailure | 2501 | {TableName}테이블에 대한 스토리지를 만들 수 없습니다. | 이 문제는 일시적이며 세션을 다시 시작하고 다시 시도하여 해결할 수 있습니다. 이 문제가 지속되면 지원에 문의하세요. |
| IngestionError | SubJobRequestFailure | 2502 | {TableName}테이블에 대한 수집 작업을 만들 수 없습니다. | 이 문제는 일시적이며 세션을 다시 시작하고 다시 시도하여 해결할 수 있습니다. 이 문제가 지속되면 지원에 문의하세요. |
| IngestionError | SubJobCreationFailure | 2503 | {TableName}테이블에 대한 수집 작업을 만들 수 없습니다. | 이 문제는 일시적이며 세션을 다시 시작하고 다시 시도하여 해결할 수 있습니다. 이 문제가 지속되면 지원에 문의하세요. |
| InputError | InvalidWriteMode | 2601 | 쓰기 모드가 잘못되었습니다. 추가 또는 덮어쓰기를 사용합니다. | DataFrame을 저장하기 전에 유효한 쓰기 모드(추가 또는 덮어쓰기)를 지정합니다. |
| InputError | PartitioningNotAllowed | 2602 | 분석 테이블을 분할할 수 없습니다. | 분석 테이블의 모든 열에 대한 분할을 제거합니다. |
| InputError | MissingTableSuffixLake | 2603 | 잘못된 사용자 지정 테이블 이름입니다. 데이터 레이크에 있는 사용자 지정 테이블의 모든 이름은 _SPRK 종료해야 합니다. | _SPRK 데이터 레이크에 쓰기 전에 테이블 이름에 접미사로 추가합니다. |
| InputError | MissingTableSuffixLA | 2604 | 잘못된 사용자 지정 테이블 이름입니다. 사용자 지정 분석 테이블의 모든 이름은 _SPRK_CL 종료해야 합니다. | 분석 스토리지에 쓰기 전에 테이블 이름에 _SPRK_CL 접미사로 추가합니다. |
| UnknownError | InternalServerError | 2901 | 문제가 발생했습니다. 세션을 다시 시작하고 다시 시도합니다. | 이 문제는 일시적이며 세션을 다시 시작하고 다시 시도하여 해결할 수 있습니다. 이 문제가 지속되면 지원에 문의하세요. |
참고
AzureDiagnostics와 같은 레거시 테이블 쿼리는 지원되지 않습니다.