Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.
Important
Функции, возможности или свойства, помеченные (предварительная версия), не охватываются соглашением об уровне обслуживания, не рекомендуются для рабочих нагрузок и могут изменяться или ограничиваться до того, как они становятся общедоступными. Условия предварительной версии Поиск с использованием ИИ Azure применяются ко всем функциям предварительной версии, независимо от того, является ли он автономным или частью общедоступной функции.
Используя 2026-08-01-preview REST API, применяйте пагинацию с помощью курсора (предварительная версия), чтобы перечислять поддерживаемые ресурсы службы по одной странице за раз. Служба возвращает непрозрачный URL-адрес продолжения, когда доступны дополнительные результаты.
В этой статье объясняется соглашение о курсоре и показано, как постранично просматривать существующие индексы.
Необходимые условия
Служба Поиск с использованием ИИ Azure, содержащая ресурсы для одной из поддерживаемых операций списка.
Разрешение на перечисление ресурсов службы. Настройте проверку подлинности без ключа с помощью роли участника службы поиска , назначенной учетной записи пользователя (рекомендуется) или используйте ключ API администратора.
Последний пакет предварительной версии
Azure.Search.Documents:dotnet add package Azure.Search.Documents --prereleaseДля аутентификации без использования ключа пакет
Azure.Identity:dotnet add package Azure.IdentityNote
Клиентская библиотека должна поддерживать
2026-08-01-previewверсию REST API службы поиска. Более ранние версии не предоставляют параметры курсора, показанные в этой статье.
Последний пакет предварительной версии
azure-search-documents:pip install --pre azure-search-documentsДля аутентификации без использования ключа пакет
azure-identity:pip install azure-identityNote
Клиентская библиотека должна поддерживать
2026-08-01-previewверсию REST API службы поиска. Более ранние версии не предоставляют параметры курсора, показанные в этой статье.
2026-08-01-preview — версия REST API службы поиска.
Для проверки подлинности без ключа добавьте маркер Microsoft Entra ID в
Authorizationзаголовок каждого HTTP-запроса.
Выберите операцию со списком
2026-08-01-preview Контракт курсора применяется к следующим операциям списка:
| Operation | Путь к ресурсу |
|---|---|
| Список псевдонимов | /aliases |
| Перечисление источников данных | /datasources |
| Список индексаторов | /indexers |
| Список индексов | /indexes |
| Статистика индексов списка | /indexstats |
| Перечисление баз знаний | /knowledgebases |
| Список источников знаний | /knowledgesources |
| Список файлов-источников знаний | /knowledgesources('{knowledge-source-name}')/files |
| Список наборов навыков | /skillsets |
| Список карт синонимов | /synonymmaps |
Запросить и подписаться на страницы
В следующем примере перечислены индексы, имена которых начинаются с hotels и запрашивают до 50 индексов на страницу. Итерации AsyncPageable<SearchIndex> результата автоматически запрашивают каждую следующую страницу.
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
В следующем примере перечислены индексы, имена которых начинаются с hotels и запрашивают до 50 индексов на страницу. Итерации ItemPaged результата автоматически запрашивают каждую следующую страницу.
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)
Справочник:SearchIndexClient.list_indexes
Отправьте первоначальный запрос в список индексов, имена которых начинаются с hotels. Запрос возвращает до 50 имен индексов:
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
Справочник:Список индексов
Если существуют более 50 сопоставленных индексов, ответ включает в себя @odata.nextLink, который содержит полный URL-адрес продолжения и непрозрачный маркер. Следующий ответ сокращен:
{
"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>"
}
Чтобы запросить следующую страницу, отправьте GET-запрос по полному значению @odata.nextLink в точности в том виде, в котором оно было возвращено. Сохраните один и тот же заголовок проверки подлинности:
GET <[email protected]>
Authorization: Bearer <access-token>
Accept: application/json
Справочник:Список индексов
Ответ терминала содержит окончательные имена индексов и не содержит @odata.nextLink, что указывает на отсутствие дополнительных страниц. Порядок результатов не является частью контракта курсора:
{
"value": [
{
"name": "<next-index-name>"
}
]
}
Управление поведением курсора
Определите окончательную страницу: Продолжайте разбиение по страницам только в то время как ответ содержит
@odata.nextLink. На странице терминала отсутствует это свойство, а ответы не включают@odata.count.Сохраняйте состояние продолжения: Используйте полный
@odata.nextLinkточно в том виде, в котором он был возвращён. Не создавайте, не изменяйте, не декодируйте и не используйте повторно его$skiptoken. Токен поддерживает только пагинацию вперёд.Изменение параметров запроса: Запустите новый начальный запрос, чтобы изменить путь к ресурсу, версию API, префикс поиска, выбранные свойства или размер страницы. Объединение
$skiptokenсsearchилиpageSizeвозвращает HTTP 400.Учетная запись для изменений коллекции: Переадресация по страницам стабильна только в то время как коллекция остается неизменной. Добавление, обновление или удаление ресурсов во время перечисления может создавать повторяющиеся или опущенные результаты.