次の方法で共有


Data Sources - Create

新しいデータソースを作成します。

POST {endpoint}/datasources?api-version=2023-11-01

URI パラメーター

名前 / 必須 説明
endpoint
path True

string

検索サービスのエンドポイント URL。

api-version
query True

string

クライアント API のバージョン。

要求ヘッダー

名前 必須 説明
x-ms-client-request-id

string

uuid

デバッグに役立つ要求と共に送信された追跡 ID。

要求本文

名前 必須 説明
container True

SearchIndexerDataContainer

データソースのデータ コンテナー。

credentials True

DataSourceCredentials

データソースの資格情報。

name True

string

データソースの名前。

type True

SearchIndexerDataSourceType

データソースの型。

@odata.etag

string

データ ソースの ETag。

dataChangeDetectionPolicy DataChangeDetectionPolicy:

データソースのデータ変更検出ポリシー。

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

データソースのデータ削除検出ポリシー。

description

string

データソースの説明。

encryptionKey

SearchResourceEncryptionKey

Azure Key Vaultで作成する暗号化キーの説明。 このキーは、Microsoft でさえもデータ ソース定義の暗号化を解除できないという完全な保証が必要な場合に、データ ソース定義の保存時の追加レベルを提供するために使用されます。 データ ソース定義を暗号化すると、常に暗号化されたままになります。 このプロパティを null に設定しようとすると、検索サービスは無視されます。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。データソース定義は影響を受けません。 カスタマー マネージド キーを使用した暗号化は無料の検索サービスでは使用できません。また、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。

応答

名前 説明
201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

エラー応答。

SearchServiceCreateDataSource

要求のサンプル

POST https://myservice.search.windows.net/datasources?api-version=2023-11-01

{
  "name": "mydocdbdatasource",
  "description": "My Cosmos DB data source.",
  "type": "cosmosdb",
  "credentials": {
    "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId"
  },
  "container": {
    "name": "myDocDbCollectionId",
    "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
  },
  "dataChangeDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName": "_ts"
  },
  "dataDeletionDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
    "softDeleteColumnName": "isDeleted",
    "softDeleteMarkerValue": "true"
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

応答のサンプル

{
  "name": "mydocdbdatasource",
  "description": "My Cosmos DB data source.",
  "type": "cosmosdb",
  "credentials": {
    "connectionString": null
  },
  "container": {
    "name": "myDocDbCollectionId",
    "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
  },
  "dataChangeDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName": "_ts"
  },
  "dataDeletionDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
    "softDeleteColumnName": "isDeleted",
    "softDeleteMarkerValue": "true"
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": null
    }
  }
}

定義

名前 説明
AzureActiveDirectoryApplicationCredentials

Azure Key Vaultに格納されている暗号化キーへの認証済みアクセスに使用される、検索サービス用に作成された登録済みアプリケーションの資格情報。

DataSourceCredentials

データソースに接続するために使用できる資格情報を表します。

HighWaterMarkChangeDetectionPolicy

高いウォーター マーク列の値に基づいて変更をキャプチャするデータ変更検出ポリシーを定義します。

SearchError

API のエラー条件について説明します。

SearchIndexerDataContainer

インデックスが作成されるエンティティ (Azure SQL テーブルや CosmosDB コレクションなど) に関する情報を表します。

SearchIndexerDataSource

インデクサーの構成に使用できるデータソース定義を表します。

SearchIndexerDataSourceType

データソースの型を定義します。

SearchResourceEncryptionKey

Azure Key Vaultのカスタマー マネージド暗号化キー。 作成および管理するキーを使用すると、インデックスやシノニム マップなど、検索サービスの保存データを暗号化または暗号化解除できます。

SoftDeleteColumnDeletionDetectionPolicy

論理的な削除戦略を実装するデータ削除検出ポリシーを定義します。 指定された "論理的な削除" 列の値に基づいてアイテムを削除するかどうかを決定します。

SqlIntegratedChangeTrackingPolicy

Azure SQL Database の統合Change Tracking機能を使用して変更をキャプチャするデータ変更検出ポリシーを定義します。

AzureActiveDirectoryApplicationCredentials

Azure Key Vaultに格納されている暗号化キーへの認証済みアクセスに使用される、検索サービス用に作成された登録済みアプリケーションの資格情報。

名前 説明
applicationId

string

保存データの暗号化時に使用される Azure Key Vaultに必要なアクセス許可が付与された AAD アプリケーション ID。 アプリケーション ID は、AAD アプリケーションのオブジェクト ID と混同しないでください。

applicationSecret

string

指定した AAD アプリケーションの認証キー。

DataSourceCredentials

データソースに接続するために使用できる資格情報を表します。

名前 説明
connectionString

string

データソースの接続文字列。 接続文字列を更新しない場合は、 を <unchanged> (角かっこで囲んで) に設定します。 <redacted>データソースから接続文字列値を削除する場合は、 を に設定します。

HighWaterMarkChangeDetectionPolicy

高いウォーター マーク列の値に基づいて変更をキャプチャするデータ変更検出ポリシーを定義します。

名前 説明
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

データ変更検出ポリシーの種類を指定する URI フラグメント。

highWaterMarkColumnName

string

高いウォーター マーク列の名前。

SearchError

API のエラー条件について説明します。

名前 説明
code

string

サーバー定義のエラー コードのセットの 1 つ。

details

SearchError[]

この報告されたエラーの原因となった特定のエラーに関する詳細の配列。

message

string

エラーの人間が判読できる表現。

SearchIndexerDataContainer

インデックスが作成されるエンティティ (Azure SQL テーブルや CosmosDB コレクションなど) に関する情報を表します。

名前 説明
name

string

インデックスが作成されるテーブルまたはビュー (Azure SQL データ ソースの場合) またはコレクション (CosmosDB データ ソースの場合) の名前。

query

string

このデータ コンテナーに適用されるクエリ。 このパラメーターの構文と意味は、データソース固有です。 Azure SQL データソースではサポートされていません。

SearchIndexerDataSource

インデクサーの構成に使用できるデータソース定義を表します。

名前 説明
@odata.etag

string

データ ソースの ETag。

container

SearchIndexerDataContainer

データソースのデータ コンテナー。

credentials

DataSourceCredentials

データソースの資格情報。

dataChangeDetectionPolicy DataChangeDetectionPolicy:

データソースのデータ変更検出ポリシー。

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

データソースのデータ削除検出ポリシー。

description

string

データソースの説明。

encryptionKey

SearchResourceEncryptionKey

Azure Key Vaultで作成する暗号化キーの説明。 このキーは、Microsoft でさえもデータ ソース定義の暗号化を解除できないという完全な保証が必要な場合に、データ ソース定義の保存時の追加レベルを提供するために使用されます。 データ ソース定義を暗号化すると、常に暗号化されたままになります。 このプロパティを null に設定しようとすると、検索サービスは無視されます。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。データソース定義は影響を受けません。 カスタマー マネージド キーを使用した暗号化は無料の検索サービスでは使用できません。また、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。

name

string

データソースの名前。

type

SearchIndexerDataSourceType

データソースの型。

SearchIndexerDataSourceType

データソースの型を定義します。

名前 説明
adlsgen2

string

ADLS Gen2 データソースを示します。

azureblob

string

Azure Blob データソースを示します。

azuresql

string

Azure SQL データソースを示します。

azuretable

string

Azure Table データソースを示します。

cosmosdb

string

CosmosDB データソースを示します。

mysql

string

MySql データソースを示します。

SearchResourceEncryptionKey

Azure Key Vaultのカスタマー マネージド暗号化キー。 作成および管理するキーを使用すると、インデックスやシノニム マップなど、検索サービスの保存データを暗号化または暗号化解除できます。

名前 説明
accessCredentials

AzureActiveDirectoryApplicationCredentials

Azure Key Vaultへのアクセスに使用されるオプションの Azure Active Directory 資格情報。 代わりにマネージド ID を使用する場合は必須ではありません。

keyVaultKeyName

string

保存データの暗号化に使用する Azure Key Vault キーの名前。

keyVaultKeyVersion

string

保存データの暗号化に使用する Azure Key Vault キーのバージョン。

keyVaultUri

string

保存データの暗号化に使用するキーを含む Azure Key Vaultの URI (DNS 名とも呼ばれます)。 URI の例として、https://my-keyvault-name.vault.azure.net があります。

SoftDeleteColumnDeletionDetectionPolicy

論理的な削除戦略を実装するデータ削除検出ポリシーを定義します。 指定された "論理的な削除" 列の値に基づいてアイテムを削除するかどうかを決定します。

名前 説明
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

データ削除検出ポリシーの種類を指定する URI フラグメント。

softDeleteColumnName

string

論理的な削除の検出に使用する列の名前。

softDeleteMarkerValue

string

アイテムを削除済みとして識別するマーカー値。

SqlIntegratedChangeTrackingPolicy

Azure SQL Database の統合Change Tracking機能を使用して変更をキャプチャするデータ変更検出ポリシーを定義します。

名前 説明
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

データ変更検出ポリシーの種類を指定する URI フラグメント。