Note
Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。
Important
機能、またはマークされたプロパティ (プレビュー) は、サービス レベル アグリーメントの対象ではなく、運用環境のワークロードには推奨されず、一般公開される前に変更または制約される可能性があります。 Azure AI 検索 プレビューの用語は、スタンドアロンでも一般公開されている機能の一部でも、すべてのプレビュー機能に適用されます。
2026-08-01-preview REST API 以降では、カーソルの改ページ (プレビュー) を使用して、サポートされているサービス リソースを一度に 1 ページずつ列挙します。 より多くの結果が得られている場合、サービスは不透明な継続 URL を返します。
この記事では、カーソル コントラクトについて説明し、既存のインデックスをページングする方法について説明します。
Prerequisites
サポートされているリスト操作のいずれかのリソースを含むAzure AI 検索 サービス。
サービス リソースを一覧表示するためのアクセス許可。 ユーザー アカウントに割り当てられた Search Service 共同作成者ロール (推奨) を使用してキーレス認証を構成するか、管理者 API キーを使用します。
最新の
Azure.Search.Documentsプレビュー パッケージ:dotnet add package Azure.Search.Documents --prereleaseキーレス認証の場合、
Azure.Identityパッケージは次のようになります。dotnet add package Azure.IdentityNote
クライアント ライブラリは、Search Service REST API の
2026-08-01-previewバージョンをサポートする必要があります。 以前のバージョンでは、この記事に示されているカーソル パラメーターは公開されていません。
最新の
azure-search-documentsプレビュー パッケージ:pip install --pre azure-search-documentsキーレス認証の場合、
azure-identityパッケージは次のようになります。pip install azure-identityNote
クライアント ライブラリは、Search Service REST API の
2026-08-01-previewバージョンをサポートする必要があります。 以前のバージョンでは、この記事に示されているカーソル パラメーターは公開されていません。
Search Service REST API の 2026-08-01-preview バージョン。
キーレス認証の場合は、各 HTTP 要求の
AuthorizationヘッダーにMicrosoft Entra ID トークンを含めます。
リスト操作を選択する
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)
名前が 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
Reference:List Indexes
一致するインデックスが 50 個を超える場合、応答には完全な継続 URL と不透明なトークンを含む @odata.nextLinkが含まれます。 次の応答は省略されています。
{
"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>"
}
次のページを要求するには、返された完全な @odata.nextLink 値に GET 要求を送信します。 同じ認証ヘッダーを保持します。
GET <[email protected]>
Authorization: Bearer <access-token>
Accept: application/json
Reference:List Indexes
ターミナル応答には最終的なインデックス名が含まれており、 @odata.nextLinkを省略して、使用可能なページがなくなったことを示します。 結果の順序はカーソル コントラクトの一部ではありません。
{
"value": [
{
"name": "<next-index-name>"
}
]
}
カーソルの動作を処理する
最後のページを検出します。 応答に
@odata.nextLinkが含まれている場合にのみ、ページングを続行します。 ターミナル ページではこのプロパティが省略され、応答には@odata.countは含まれません。継続状態を保持する: 返されたとおりに完全な
@odata.nextLinkを使用します。$skiptokenを構築、変更、デコード、または再利用しないでください。 トークンは、前方ページングのみをサポートします。要求パラメーターの変更: リソース パス、API バージョン、検索プレフィックス、選択したプロパティ、またはページ サイズを変更する新しい初期要求を開始します。
$skiptokenをsearchまたはpageSizeと組み合わせると、HTTP 400 が返されます。コレクションの変更のアカウント: 前方ページングは、コレクションが変更されていない間のみ安定しています。 列挙中にリソースを追加、更新、または削除すると、重複または省略された結果が生成される可能性があります。