Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Recherche Azure AI est disponible via le portail Azure, les API REST et les SDK Azure. Il sous-tend également Foundry IQ, la couche de connaissances managée qui transforme le contenu d’entreprise en bases de connaissances réutilisables et prenant en charge les autorisations pour les agents dans le portail Microsoft Foundry.
Important
Les fonctionnalités, capacités ou propriétés marquées (préversion) ne sont pas couvertes par un accord de niveau de service, ne sont pas recommandées pour les workloads de production et peuvent être modifiées ou faire l’objet de restrictions avant leur mise à disposition générale. Les Recherche Azure AI termes de la préversion s'appliquent à toutes les fonctionnalités d'aperçu, qu'il s'agisse d'une fonctionnalité autonome ou d'une partie d'une fonctionnalité généralement disponible.
À compter de l’API REST, utilisez la 2026-08-01-preview pagination du curseur (préversion) pour énumérer les ressources de service prises en charge une page à la fois. Le service retourne une URL de continuation opaque lorsque d’autres résultats sont disponibles.
Cet article explique le contrat de curseur et montre comment parcourir des index existants.
Prerequisites
Service Recherche Azure AI qui contient des ressources pour l’une des opérations de liste prises en charge.
Autorisation de lister les ressources du service. Configurez l’authentification sans clé avec le rôle Contributeur de service de recherche affecté à votre compte d’utilisateur (recommandé) ou utilisez une clé API d’administration.
Le dernier paquet
Azure.Search.Documents(préversion) :dotnet add package Azure.Search.Documents --prereleasePour l’authentification sans clé, le
Azure.Identitypackage :dotnet add package Azure.IdentityNote
La bibliothèque cliente doit prendre en charge la
2026-08-01-previewversion de l’API REST du service de recherche. Les versions antérieures n’exposent pas les paramètres de curseur affichés dans cet article.
Le dernier paquet
azure-search-documents(préversion) :pip install --pre azure-search-documentsPour l’authentification sans clé, le
azure-identitypackage :pip install azure-identityNote
La bibliothèque cliente doit prendre en charge la
2026-08-01-previewversion de l’API REST du service de recherche. Les versions antérieures n’exposent pas les paramètres de curseur affichés dans cet article.
La version 2026-08-01-preview de l’API REST du service de recherche.
Pour l’authentification sans clé, incluez un jeton de Microsoft Entra ID dans l’en-tête
Authorizationde chaque requête HTTP.
Choisir une opération de liste
Le 2026-08-01-preview contrat de curseur s’applique aux opérations de liste suivantes :
| Operation | Chemin d’accès aux ressources |
|---|---|
| Alias de la liste | /aliases |
| Répertorier les sources de données | /datasources |
| Indexeurs de liste | /indexers |
| Index de liste | /indexes |
| Lister les statistiques de l’index | /indexstats |
| Répertorier les bases de connaissances | /knowledgebases |
| Répertorier les sources de connaissances | /knowledgesources |
| Répertorier les fichiers sources de connaissances | /knowledgesources('{knowledge-source-name}')/files |
| Répertorier les ensembles de compétences | /skillsets |
| Liste des mappages de synonymes | /synonymmaps |
Demander l’accès à des pages et les suivre
L’exemple suivant liste les index dont les noms commencent par hotels et demande jusqu’à 50 index par page. Itérer le résultat AsyncPageable<SearchIndex> demande automatiquement chaque page suivante.
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
L’exemple suivant liste les index dont les noms commencent par hotels et demande jusqu’à 50 index par page. Itérer le résultat ItemPaged demande automatiquement chaque page suivante.
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)
Référence :SearchIndexClient.list_indexes
Envoyez une requête initiale aux index de liste dont les noms commencent par hotels. La requête retourne jusqu’à 50 noms d’index :
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
Lorsque plus de 50 index correspondants existent, la réponse inclut @odata.nextLink, qui contient l’URL de continuation complète et un jeton opaque. La réponse suivante est abrégée :
{
"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>"
}
Pour demander la page suivante, envoyez une requête GET en utilisant exactement la valeur complète @odata.nextLink telle qu’elle a été renvoyée. Conservez le même en-tête d’authentification :
GET <[email protected]>
Authorization: Bearer <access-token>
Accept: application/json
Reference :List Indexes
La réponse du terminal contient les noms d’index définitifs et omet @odata.nextLink, ce qui indique qu’aucune autre page n’est disponible. L’ordre des résultats ne fait pas partie du contrat du curseur :
{
"value": [
{
"name": "<next-index-name>"
}
]
}
Gérer le comportement du curseur
Détecter la page finale : Continuez la pagination uniquement pendant que la réponse contient
@odata.nextLink. La page terminal omet cette propriété et les réponses n’incluent@odata.countpas .Préservez l’état de reprise : Utilisez
@odata.nextLinkdans son intégralité exactement tel qu’il a été renvoyé. Ne construisez pas, modifiez, décodez ou réutilisez son$skiptoken. Le jeton prend uniquement en charge la pagination vers l’avant.Modifier les paramètres de la demande : Démarrez une nouvelle requête initiale pour modifier le chemin de ressource, la version de l’API, le préfixe de recherche, les propriétés sélectionnées ou la taille de page.
$skiptokenCombinaison avecsearchoupageSizeretourne HTTP 400.Compte des modifications apportées à la collection : La pagination vers l’avant n’est stable que si la collection reste inchangée. L’ajout, la mise à jour ou la suppression de ressources pendant l’énumération peut produire des résultats dupliqués ou omis.