Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Note
Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.
Ważna
Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.
Korzystając z interfejsu API REST 2026-08-01-preview, użyj paginacji opartej na kursorze (wersja zapoznawcza), aby wyliczać obsługiwane zasoby usługi strona po stronie. Usługa zwraca nieprzezroczysty adres URL kontynuacji, gdy dostępne są kolejne wyniki.
W tym artykule wyjaśniono kontrakt kursora i pokazano, jak stronicować istniejące indeksy.
Wymagania wstępne
Usługa Wyszukiwanie AI platformy Azure zawierająca zasoby dla jednej z obsługiwanych operacji listy.
Uprawnienie do wyświetlania listy zasobów usługi. Skonfiguruj uwierzytelnianie bez klucza przy użyciu roli Współautor usługi wyszukiwania przypisanej do konta użytkownika (zalecane) lub użyj klucza interfejsu API administratora.
Najnowszy pakiet
Azure.Search.Documentswersji zapoznawczej:dotnet add package Azure.Search.Documents --prereleaseW przypadku uwierzytelniania bezkluczowego pakiet
Azure.Identity:dotnet add package Azure.IdentityNote
Biblioteka klienta musi obsługiwać
2026-08-01-previewwersję interfejsu API REST usługi wyszukiwania. Wcześniejsze wersje nie uwidaczniają parametrów kursora pokazanych w tym artykule.
Najnowszy pakiet
azure-search-documentswersji zapoznawczej:pip install --pre azure-search-documentsW przypadku uwierzytelniania bezkluczowego pakiet
azure-identity:pip install azure-identityNote
Biblioteka klienta musi obsługiwać
2026-08-01-previewwersję interfejsu API REST usługi wyszukiwania. Wcześniejsze wersje nie uwidaczniają parametrów kursora pokazanych w tym artykule.
Interfejs API REST usługi Search w wersji 2026-08-01-preview.
W przypadku uwierzytelniania bez klucza dołącz token Microsoft Entra ID w nagłówku
Authorizationkażdego żądania HTTP.
Wybierz operację listy
Kontrakt kursora 2026-08-01-preview ma zastosowanie do następujących operacji listy:
| Operation | Ścieżka zasobu |
|---|---|
| Lista aliasów | /aliases |
| Wyświetlanie listy źródeł danych | /datasources |
| Indeksatory listy | /indexers |
| Indeksy listy | /indexes |
| Statystyka indeksu listy | /indexstats |
| Lista baz wiedzy | /knowledgebases |
| Lista źródeł wiedzy | /knowledgesources |
| Lista plików źródeł wiedzy | /knowledgesources('{knowledge-source-name}')/files |
| Wyświetl zestawy umiejętności | /skillsets |
| Wyświetl mapy synonimów | /synonymmaps |
Żądanie i obserwowanie stron
W poniższym przykładzie wymieniono indeksy, których nazwy zaczynają się od hotels i żądają maksymalnie 50 indeksów na stronę. Iterowanie po AsyncPageable<SearchIndex> wyniku powoduje automatyczne żądanie każdej następnej strony.
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
W poniższym przykładzie wymieniono indeksy, których nazwy zaczynają się od hotels i żądają maksymalnie 50 indeksów na stronę. Iterowanie po ItemPaged wyniku powoduje automatyczne żądanie każdej następnej strony.
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)
Dokumentacja:SearchIndexClient.list_indexes
Wyślij początkowe żądanie o wyświetlenie listy indeksów, których nazwy zaczynają się od hotels. Żądanie zwraca maksymalnie 50 nazw indeksów:
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
Dokumentacja:Indeksy list
Gdy istnieje więcej niż 50 pasujących indeksów, odpowiedź zawiera @odata.nextLink, który zawiera pełny adres URL kontynuacji oraz nieprzezroczysty token. Następująca odpowiedź jest skrócona:
{
"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>"
}
Aby zażądać następnej strony, wyślij żądanie GET do pełnej wartości @odata.nextLink, dokładnie w postaci, w jakiej została zwrócona. Zachowaj ten sam nagłówek uwierzytelniania:
GET <[email protected]>
Authorization: Bearer <access-token>
Accept: application/json
Dokumentacja:Indeksy list
Odpowiedź terminala zawiera ostateczne nazwy indeksów i pomija @odata.nextLink, co oznacza, że nie ma już więcej stron. Kolejność wyników nie jest częścią kontraktu kursora:
{
"value": [
{
"name": "<next-index-name>"
}
]
}
Zarządzanie zachowaniem kursora
Wykryj ostatnią stronę: Kontynuuj stronicowanie tylko wtedy, gdy odpowiedź zawiera
@odata.nextLink. Strona terminalu pomija tę właściwość, a odpowiedzi nie zawierają@odata.countelementu .Zachowaj stan kontynuacji: Użyj kompletnego
@odata.nextLinkdokładnie w postaci, w jakiej zostało zwrócone. Nie twórz, nie modyfikuj, nie dekoduj ani nie wykorzystuj ponownie jego$skiptoken. Ten token obsługuje tylko stronicowanie do przodu.Zmień parametry żądania: Uruchom nowe początkowe żądanie, aby zmienić ścieżkę zasobu, wersję interfejsu API, prefiks wyszukiwania, wybrane właściwości lub rozmiar strony. Połączenie
$skiptokenzsearchlubpageSizezwraca http 400.Uwzględnij zmiany w kolekcji: Paginacja do przodu jest stabilna tylko wtedy, gdy kolekcja pozostaje niezmieniona. Dodawanie, aktualizowanie lub usuwanie zasobów podczas wyliczania może spowodować wygenerowanie zduplikowanych lub pominiętych wyników.