Percorrer os resultados da lista no Pesquisa de IA do Azure  (versão prévia)

Note

Pesquisa de IA do Azure  está disponível por meio do portal Azure, APIs REST e SDKs do Azure. Ele também sustenta o IQ do Foundry, a camada de conhecimento gerenciado que transforma o conteúdo da empresa em bases de conhecimento reutilizáveis e com reconhecimento de permissão para agentes no portal do Microsoft Foundry.

Importante

Recursos, funcionalidades ou propriedades marcados como (versão prévia) não são cobertos por um contrato de nível de serviço (SLA), não são recomendados para cargas de trabalho de produção e podem mudar ou ser restringidos antes da disponibilidade geral. Os termos de visualização do Pesquisa de IA do Azure  se aplicam a toda funcionalidade em visualização, seja autônoma ou parte de um recurso de disponibilidade geral.

Começando pela API REST 2026-08-01-preview, use a paginação por cursor (versão prévia) para listar os recursos de serviço com suporte, uma página por vez. O serviço retorna uma URL de continuação opaca quando mais resultados estão disponíveis.

Este artigo explica o contrato do cursor e demonstra como paginar índices existentes.

Pré-requisitos

  • O pacote de versão prévia Azure.Search.Documents mais recente: dotnet add package Azure.Search.Documents --prerelease

  • Para autenticação sem chave, o Azure.Identity pacote: dotnet add package Azure.Identity

    Note

    A biblioteca de clientes deve dar suporte à 2026-08-01-preview versão da API REST do Serviço de Pesquisa. As versões anteriores não expõem os parâmetros de cursor mostrados neste artigo.

  • O pacote de versão prévia azure-search-documents mais recente: pip install --pre azure-search-documents

  • Para autenticação sem chave, o azure-identity pacote: pip install azure-identity

    Note

    A biblioteca de clientes deve dar suporte à 2026-08-01-preview versão da API REST do Serviço de Pesquisa. As versões anteriores não expõem os parâmetros de cursor mostrados neste artigo.

Escolha uma operação na lista

O 2026-08-01-preview contrato do cursor se aplica às seguintes operações de lista:

Operation Caminho do recurso
Lista de apelidos /aliases
Listar fontes de dados /datasources
Listar indexadores /indexers
Listar índices /indexes
Listar estatísticas do índice /indexstats
Listar bases de dados de conhecimento /knowledgebases
Listar fontes de conhecimento /knowledgesources
Listar arquivos de origem de conhecimento /knowledgesources('{knowledge-source-name}')/files
Listar conjuntos de habilidades /skillsets
Listar Mapas de Sinônimos /synonymmaps

Solicitar e seguir páginas

O exemplo a seguir lista índices cujos nomes começam hotels e solicita até 50 índices por página. Ao iterar o resultado AsyncPageable<SearchIndex>, cada página seguinte é solicitada automaticamente.

using System;
using Azure;
using Azure.Identity;
using Azure.Search.Documents;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.Models;

string endpoint = Environment.GetEnvironmentVariable(
    "AZURE_SEARCH_ENDPOINT")!;

var options = new SearchClientOptions(
    SearchClientOptions.ServiceVersion.V2026_08_01_Preview);
var client = new SearchIndexClient(
    new Uri(endpoint),
    new AzureCliCredential(),
    options);

AsyncPageable<SearchIndex> indexes = client.GetIndexesAsync(
    search: "hotels",
    pageSize: 50,
    searchType: ListingSearchType.Prefix);

await foreach (SearchIndex index in indexes)
{
    Console.WriteLine(index.Name);
}

Reference:SearchIndexClient.GetIndexesAsync

O exemplo a seguir lista índices cujos nomes começam hotels e solicita até 50 índices por página. Ao iterar o resultado ItemPaged, cada página seguinte é solicitada automaticamente.

import os

from azure.identity import AzureCliCredential
from azure.search.documents.indexes import SearchIndexClient

endpoint = os.getenv("AZURE_SEARCH_ENDPOINT")

with SearchIndexClient(
    endpoint,
    AzureCliCredential(),
    api_version="2026-08-01-preview",
) as client:
    indexes = client.list_indexes(
        select=["name"],
        search="hotels",
        page_size=50,
        search_type="prefix",
    )
    for index in indexes:
        print(index.name)

Reference:SearchIndexClient.list_indexes

Enviar uma solicitação inicial para listar índices cujos nomes começam com hotels. A solicitação retorna até 50 nomes de índice:

GET https://<search-service-name>.search.windows.net/indexes?api-version=2026-08-01-preview&search=hotels&searchType=prefix&pageSize=50&$select=name
Authorization: Bearer <access-token>
Accept: application/json

Reference:List Indexes

Quando há mais de 50 índices correspondentes, a resposta inclui @odata.nextLink, que contém a URL de continuação completa e um token opaco. A seguinte resposta é abreviada:

{
  "value": [
    {
      "name": "<index-name>"
    }
  ],
  "@odata.nextLink": "https://<search-service-name>.search.windows.net/indexes?api-version=2026-08-01-preview&searchType=prefix&%24select=name&%24skiptoken=<opaque-token>"
}

Para solicitar a próxima página, envie uma solicitação GET para o valor @odata.nextLink completo exatamente como retornado. Mantenha o mesmo cabeçalho de autenticação:

GET <[email protected]>
Authorization: Bearer <access-token>
Accept: application/json

Reference:List Indexes

A resposta do terminal contém os nomes finais dos índices e omite @odata.nextLink, indicando que não há mais páginas disponíveis. A ordem de resultado não faz parte do contrato do cursor:

{
  "value": [
    {
      "name": "<next-index-name>"
    }
  ]
}

Manipular o comportamento do cursor

  • Detecte a página final: Continue paginando apenas enquanto a resposta contiver @odata.nextLink. A página do terminal omite essa propriedade e as respostas não incluem @odata.count.

  • Preserve o estado de continuação: Use o @odata.nextLink completo exatamente conforme retornado. Não crie, modifique, decodifique nem reutilize seu $skiptoken. O token suporta apenas a paginação para frente.

  • Alterar parâmetros de solicitação: Inicie uma nova solicitação inicial para alterar o caminho do recurso, a versão da API, o prefixo de pesquisa, as propriedades selecionadas ou o tamanho da página. Combinando $skiptoken com search ou pageSize retorna HTTP 400.

  • Leve em conta as alterações na coleção: A paginação para frente é estável apenas enquanto a coleção permanece inalterada. Adicionar, atualizar ou excluir recursos durante a enumeração pode produzir resultados duplicados ou omitidos.