인덱서 상태 가져오기(Azure AI Search REST API)

인덱서 상태 가져오기 작업은 인덱서의 현재 상태 및 실행 기록을 검색합니다.

GET https://[service name].search.windows.net/indexers/[indexer name]/status?api-version=[api-version]&failIfCannotDecrypt=[true|false]
  Content-Type: application/json  
  api-key: [admin key]

URI 매개 변수

매개 변수 Description
서비스 이름 필수 사항입니다. 검색 서비스의 고유한 사용자 정의 이름으로 설정합니다.
인덱서 이름 필수 사항입니다. 요청 URI는 상태 반환해야 하는 인덱서의 이름을 지정합니다.
api-version 필수 사항입니다. 현재 안정적인 버전은 입니다 api-version=2020-06-30. 더 많은 버전은 API 버전을 참조하세요.
failIfCannotDecrypt 선택 사항이며, 지정하지 않으면 기본값은 true입니다. 암호화 키를 사용하여 인덱서가 만들어졌고 검색 서비스에 암호화 키에 대한 액세스 권한이 없는 경우 인덱서 상태 검색하지 못합니다. false이면 반환된 인덱서 상태 자리 표시자로 대체 "<encrypted>" 된 암호화된 속성이 있습니다.

요청 헤더

다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.

필드 Description
콘텐츠 형식 필수 사항입니다. application/json
api-key Azure 역할을 사용하고 요청에 전달자 토큰이 제공된 경우 선택 사항이며, 그렇지 않으면 키가 필요합니다. api-key는 검색 서비스에 대한 요청을 인증하는 고유한 시스템 생성 문자열입니다. 개체 정의에 대한 가져오기 요청에는 쿼리 키가 아닌 관리자 키로 설정된 api-key 필드가 포함되어야 합니다. 자세한 내용은 키 인증을 사용하여 Azure AI Search에 연결을 참조하세요.

요청 본문

없음

응답

상태 코드: 응답에 성공하면 ‘200 OK’가 반환됩니다. 응답 본문에는 전체 인덱서 상태 상태, 마지막 인덱서 호출 및 최근 인덱서 호출 기록(있는 경우)에 대한 정보가 포함됩니다.

아래에 샘플 응답 본문이 나와 있습니다.

{
    "status" : "running",
    "lastResult" : {
        "status" : "success",
        "errorMessage" : null,
        "startTime" : "2014-11-26T03:37:18.853Z",
        "endTime" : "2014-11-26T03:37:19.012Z",
        "errors" : [],
        "warnings" : [],
        "itemsProcessed" : 11,
        "itemsFailed" : 0,
        "initialTrackingState" : null,
        "finalTrackingState" : null
    },
    "executionHistory" : [
        {
            "status" : "success",
            "errorMessage" : null,
            "startTime" : "2014-11-26T03:37:18.853Z",
            "endTime" : "2014-11-26T03:37:19.012Z",
            "errors" : [],
            "warnings" : [],
            "itemsProcessed" : 11,
            "itemsFailed" : 0,
            "initialTrackingState" : null,
            "finalTrackingState" : null
        },
        {
            "status" : "transientFailure",
            "errorMessage" : null,
            "startTime" : "2014-11-26T03:28:10.125Z",
            "endTime" : "2014-11-26T03:28:12.007Z",
            "errors" : [
                {
                    "key" : "",
                    "name" : "The operation name describing where the error occurred. For example, 'Enrichment.LanguageDetectionSkill.SkillName'",
                    "errorMessage" : "Document key cannot be missing or empty.",
                    "statusCode" : 400,
                    "details" : "Any additional details, such as the WebApi response if executing a custom skill failed.",
                    "documentationLink" : "A link to relevant documentation. For example, 'https://go.microsoft.com/fwlink/?linkid=2099692'""
                }
            ],
            "warnings" : [
                {
                    "key" : "document id",
                    "name" : "The operation name describing where the warning occurred. For example, 'Enrichment.LanguageDetectionSkill.SkillName'",
                    "message" : "A warning doesn't stop indexing, and is intended to inform you of certain interesting situations, like when a blob indexer truncates the amount of text extracted from a blob."
                    "details" : "Any additional details, such as the WebApi response if executing a custom skill failed.",
                    "documentationLink" : "A link to relevant documentation. For example, 'https://go.microsoft.com/fwlink/?linkid=2099692'"
                }
            ],
            "itemsProcessed" : 1,
            "itemsFailed" : 1,
            "initialTrackingState" : null,
            "finalTrackingState" : null
        }
    ]
}

참고

암호화 키를 사용하여 인덱서가 만들어진 경우 검색 서비스에서 암호화 키에 액세스할 수 있는 경우에만 상태 암호화된 속성을 검색할 수 있습니다. 검색 서비스에 암호화 키에 대한 액세스 권한이 없는 경우 기본적으로 400 잘못된 요청이 반환됩니다. 암호화된 속성을 대체하는 자리 표시자가 있는 "<encrypted>" 상태 검색하려면 를 지정 failIfCannotDecrypt=false 합니다.

인덱서 상태

인덱서 상태는 다음 값 중 하나일 수 있습니다.

  • running 은 인덱서가 정상적으로 실행 중임을 나타냅니다. 일부 인덱서 실행이 여전히 실패할 수 있으므로 lastResult 속성도 검사 것이 좋습니다.

  • 오류 는 인덱서가 사람의 개입 없이는 수정할 수 없는 오류가 발생했음을 나타냅니다. 데이터 원본 자격 증명이 만료되었거나 대상 인덱스 또는 데이터 원본의 스키마가 잘못 변경된 경우를 예로 들 수 있습니다.

인덱서 실행 결과

인덱서 실행 결과에는 단일 인덱서 실행에 대한 정보가 포함됩니다. 최신 결과는 인덱서 상태 lastResult 속성으로 표시됩니다. 다른 최근 결과가 있는 경우 인덱서 상태 executionHistory 속성으로 반환됩니다.

인덱서 실행 결과에는 다음 속성이 포함됩니다.

  • 상태: 실행의 상태. 자세한 내용은 아래의 인덱서 실행 상태 참조하세요.

  • errorMessage: 실패한 실행에 대한 오류 메시지입니다.

  • startTime: 이 실행이 시작된 시간(UTC)입니다.

  • endTime: 이 실행이 종료된 UTC 시간입니다. 실행이 아직 진행 중인 경우에는 이 값이 설정되지 않습니다.

  • errors: 항목 수준 오류(있는 경우)의 목록입니다. 예제는 위의 샘플 응답을 참조하세요. API 버전 2020-06-30 부터 목록의 각 오류에는 항목 수준 오류에 대해 항상 false이기 때문에 가 더 이상 포함되지 "status" 않습니다. API 버전 2020-06-30부터 목록의 각 오류에는 새 속성 "name", "details""documentationLink"가 포함됩니다.

  • 경고: 항목 수준 경고(있는 경우)의 목록입니다. 예제는 위의 샘플 응답을 참조하세요. API 버전 2020-06-30부터 목록의 각 경고에는 새 속성 "name", "details""documentationLink"가 포함됩니다.

  • itemsProcessed: 이 실행 중에 인덱서가 인덱싱하려고 시도한 데이터 원본 항목(예: 테이블 행)의 수입니다.

  • itemsFailed: 이 실행 중에 실패한 항목 수입니다. 이 오류는 실패한 항목의 ID를 제공합니다.

  • initialTrackingState: 첫 번째 인덱서 실행에 대해 항상 null 이거나, 사용된 데이터 원본에서 데이터 변경 내용 추적 정책을 사용하도록 설정하지 않은 경우 입니다. 해당 정책을 사용하도록 설정한 경우 후속 실행에서 이 값은 해당 실행에서 처리한 첫 번째(최소) 변경 내용 추적 값을 나타냅니다.

  • finalTrackingState: 사용된 데이터 원본에서 데이터 변경 내용 추적 정책을 사용하도록 설정하지 않은 경우 항상 null 입니다. 그렇지 않으면 해당 실행에서 정상적으로 처리한 최신(최대) 변경 내용 추적 값을 나타냅니다.

인덱서 실행 상태

인덱서 실행 상태에는 단일 인덱서 실행의 상태가 캡처됩니다. 다음과 같은 값을 가질 수 있습니다.

  • success 는 인덱서 실행이 성공적으로 완료되었음을 나타냅니다.

  • inProgress 는 인덱서 실행이 진행 중임을 나타냅니다.

  • transientFailure 는 인덱서 실행이 실패했음을 나타냅니다. 자세한 내용은 errorMessage 속성을 참조하세요. 실행이 실패하는 경우 사용자가 직접 문제를 해결해야 할 수도 있고 그렇지 않을 수도 있습니다. 예를 들어 데이터 원본과 대상 인덱스 간의 스키마 비호환성을 수정하려면 사용자 작업이 필요하지만 임시 데이터 원본 가동 중지 시간은 필요하지 않습니다. 인덱서 호출은 정의된 경우 일정별로 계속됩니다. 일정의 인덱서가 진행하지 않고 transientFailure 상태 반복적으로 적중하는 경우 인덱서는 성공적으로 다시 진행될 때까지 덜 빈번한 간격(최대 24시간마다 최대 1회)으로 실행되기 시작합니다.

  • persistentFailure 는 인덱서가 사람의 개입이 필요한 방식으로 실패했음을 나타냅니다. 이 상태에서는 예약된 인덱서 실행이 중지됩니다. 이 문제를 해결한 후 인덱서 재설정(Azure AI Search REST API) 을 사용하여 예약된 실행을 다시 시작합니다.

  • reset 은 인덱서 재설정 (Azure AI Search REST API)을 호출하여 인덱서가 다시 설정되었음을 나타냅니다.

참고 항목