Uzyskiwanie stanu indeksatora (interfejs API REST usługi Azure AI Search)

Operacja Pobierz stan indeksatora pobiera bieżący stan i historię wykonywania indeksatora:

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]

Parametry identyfikatora URI

Parametr Opis
nazwa usługi Wymagane. Ustaw tę wartość na unikatową, zdefiniowaną przez użytkownika nazwę usługi wyszukiwania.
nazwa indeksatora Wymagane. Identyfikator URI żądania określa nazwę indeksatora, dla którego powinien zostać zwrócony stan.
api-version Wymagane. Bieżąca stabilna wersja to api-version=2020-06-30. Zobacz Wersje interfejsu API , aby uzyskać więcej wersji.
failIfCannotDecrypt Opcjonalnie wartość domyślna to true, jeśli nie zostanie określona. Jeśli indeksator został utworzony przy użyciu klucza szyfrowania , a usługa wyszukiwania nie ma dostępu do klucza szyfrowania, pobieranie stanu indeksatora kończy się niepowodzeniem. Jeśli wartość false, zwrócony stan indeksatora ma zaszyfrowane właściwości zastąpione symbolami "<encrypted>" zastępczymi.

Nagłówki żądań

W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań.

Pola Opis
Content-Type Wymagane. Ustaw tę wartość na application/json
api-key Opcjonalnie, jeśli używasz ról platformy Azure , a token elementu nośnego jest udostępniany w żądaniu, w przeciwnym razie wymagany jest klucz. Klucz api-key to unikatowy, generowany przez system ciąg, który uwierzytelnia żądanie w usłudze wyszukiwania. Żądania pobierania definicji obiektu muszą zawierać pole api-key ustawione na klucz administratora (w przeciwieństwie do klucza zapytania). Aby uzyskać szczegółowe informacje, zobacz Nawiązywanie połączenia z usługą Azure AI Search przy użyciu uwierzytelniania klucza .

Treść żądania

Brak.

Reakcja

Kod stanu: 200 OK dla pomyślnej odpowiedzi. Treść odpowiedzi zawiera informacje o ogólnym stanie kondycji indeksatora, ostatnim wywołaniu indeksatora oraz historii ostatnich wywołań indeksatora (jeśli istnieje).

Przykładowa treść odpowiedzi wygląda następująco:

{
    "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
        }
    ]
}

Uwaga

Jeśli indeksator został utworzony przy użyciu klucza szyfrowania, zaszyfrowane właściwości stanu można pobrać tylko wtedy, gdy usługa wyszukiwania ma dostęp do klucza szyfrowania. Jeśli usługa wyszukiwania nie ma dostępu do klucza szyfrowania, domyślnie zwracane jest 400 Nieprawidłowe żądanie. Określ failIfCannotDecrypt=false , aby pobrać stan z symbolami "<encrypted>" zastępczymi zastępującymi zaszyfrowane właściwości.

Stan indeksatora

Stan indeksatora może być jedną z następujących wartości:

  • uruchomienie wskazuje, że indeksator działa normalnie. Niektóre wykonania indeksatora mogą nadal zakończyć się niepowodzeniem, dlatego warto sprawdzić również właściwość lastResult .

  • błąd wskazuje, że indeksator napotkał błąd, którego nie można poprawić bez interwencji człowieka. Na przykład poświadczenia źródła danych mogły wygasły lub schemat źródła danych lub indeksu docelowego zmienił się w sposób powodujący niezgodność.

Wynik wykonywania indeksatora

Wynik wykonywania indeksatora zawiera informacje o wykonaniu pojedynczego indeksatora. Najnowszy wynik jest wyświetlany jako ostatnia właściwośćResult stanu indeksatora. Inne ostatnie wyniki, jeśli istnieją, są zwracane jako właściwość executionHistory stanu indeksatora.

Wynik wykonywania indeksatora zawiera następujące właściwości:

  • status: stan wykonania. Aby uzyskać szczegółowe informacje, zobacz Stan wykonywania indeksatora poniżej.

  • errorMessage: Komunikat o błędzie dotyczący nieudanego wykonania.

  • startTime: godzina w formacie UTC rozpoczęcia wykonywania.

  • endTime: czas w formacie UTC po zakończeniu wykonywania. Ta wartość nie jest ustawiana, jeśli wykonanie jest nadal w toku.

  • błędy: lista błędów na poziomie elementu, jeśli istnieje. Zobacz przykładową odpowiedź powyżej. Począwszy od wersji 2020-06-30 interfejsu API każdy błąd na liście nie będzie już zawierać elementu "status" , ponieważ błędy na poziomie elementu zawsze były fałszywe. Począwszy od wersji 2020-06-30interfejsu API, każdy błąd na liście zawiera nowe właściwości "name", "details"i "documentationLink".

  • ostrzeżenia: lista ostrzeżeń na poziomie elementu, jeśli istnieje. Zobacz przykładową odpowiedź powyżej. Począwszy od wersji 2020-06-30interfejsu API, każde ostrzeżenie na liście zawiera nowe właściwości "name", "details"i "documentationLink".

  • itemsProcessed: liczba elementów źródła danych (na przykład wierszy tabeli), które indeksator próbował indeksować podczas wykonywania.

  • itemsFailed: liczba elementów, które nie powiodły się podczas wykonywania. Błąd zawiera identyfikator elementu, który zakończył się niepowodzeniem.

  • initialTrackingState: zawsze null dla pierwszego wykonywania indeksatora lub jeśli zasady śledzenia zmian danych nie są włączone w używanym źródle danych. Jeśli takie zasady są włączone, w kolejnych wykonaniach ta wartość wskazuje pierwszą (najniższą) wartość śledzenia zmian przetworzoną przez to wykonanie.

  • finalTrackingState: zawsze ma wartość null , jeśli zasady śledzenia zmian danych nie są włączone w używanym źródle danych. W przeciwnym razie wskazuje najnowszą (najwyższą) wartość śledzenia zmian pomyślnie przetworzoną przez to wykonanie.

Stan wykonywania indeksatora

Stan wykonywania indeksatora przechwytuje stan pojedynczego wykonywania indeksatora. Może mieć następujące wartości:

  • powodzenie wskazuje, że wykonanie indeksatora zostało zakończone pomyślnie.

  • inProgress wskazuje, że wykonywanie indeksatora jest w toku.

  • transientFailure wskazuje, że wykonanie indeksatora nie powiodło się. Aby uzyskać szczegółowe informacje, zobacz właściwość errorMessage . Błąd może lub nie wymaga interwencji człowieka, aby go naprawić. Na przykład naprawienie niezgodności schematu między źródłem danych a indeksem docelowym wymaga akcji użytkownika, podczas gdy tymczasowy przestój źródła danych nie jest. Wywołania indeksatora są kontynuowane zgodnie z harmonogramem, jeśli jest zdefiniowany. Jeśli indeksator zgodnie z harmonogramem wielokrotnie osiąga stan przejściowyFailure bez podejmowania postępu, indeksator rozpocznie działanie w mniej częstym interwale (maksymalnie co 24 godziny), dopóki nie zostanie pomyślnie wykonane postęp ponownie.

  • persistentFailure wskazuje, że indeksator nie powiódł się w sposób, który wymaga interwencji człowieka. Zaplanowane wykonania indeksatora są zatrzymywane. Po rozwiązaniu problemu użyj usługi Reset Indexer (interfejs API REST usługi Azure AI Search), aby ponownie uruchomić zaplanowane wykonania.

  • reset wskazuje, że indeksator został zresetowany przez wywołanie resetowania indeksatora (interfejs API REST usługi Azure AI Search).

Zobacz też