Data Sources - Create Or Update

新しいデータソースを作成するか、データソースが既に存在する場合は更新します。

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2023-10-01-Preview
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2023-10-01-Preview&ignoreResetRequirements={ignoreResetRequirements}

URI パラメーター

名前 / 必須 説明
dataSourceName
path True

string

作成または更新するデータソースの名前。

endpoint
path True

string

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

api-version
query True

string

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

ignoreResetRequirements
query

boolean

キャッシュ リセットの要件を無視します。

要求ヘッダー

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

string

uuid

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

If-Match

string

If-Match 条件を定義します。 この操作は、サーバー上の ETag がこの値と一致する場合にのみ実行されます。

If-None-Match

string

If-None-Match 条件を定義します。 この操作は、サーバー上の ETag がこの値と一致しない場合にのみ実行されます。

Prefer True

string

HTTP PUT 要求の場合は、正常に作成または更新されたリソースを返すようにサービスに指示します。

要求本文

名前 必須 説明
container True

SearchIndexerDataContainer

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

credentials True

DataSourceCredentials

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

name True

string

データソースの名前。

type True

SearchIndexerDataSourceType

データソースの型。

@odata.etag

string

データ ソースの ETag。

dataChangeDetectionPolicy DataChangeDetectionPolicy:

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

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

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

description

string

データソースの説明。

encryptionKey

SearchResourceEncryptionKey

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

identity SearchIndexerDataIdentity:

このデータソースに使用する明示的なマネージド ID。 指定せず、接続文字列がマネージド ID の場合は、システム割り当てマネージド ID が使用されます。 指定しない場合、値は変更されません。 "none" が指定されている場合、このプロパティの値はクリアされます。

応答

名前 説明
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

エラー応答。

SearchServiceCreateOrUpdateDataSource

Sample Request

PUT https://myservice.search.windows.net/datasources('mydatasource')?api-version=2023-10-01-Preview


{
  "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": null
  }
}

Sample Response

{
  "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": null
  }
}
{
  "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": null
  }
}

定義

名前 説明
AzureActiveDirectoryApplicationCredentials

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

DataSourceCredentials

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

HighWaterMarkChangeDetectionPolicy

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

NativeBlobSoftDeleteDeletionDetectionPolicy

Azure Blob Storageのネイティブの論理的な削除機能を使用してデータ削除検出ポリシーを定義し、削除検出を行います。

SearchError

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

SearchIndexerDataContainer

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

SearchIndexerDataNoneIdentity

データソースの ID プロパティをクリアします。

SearchIndexerDataSource

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

SearchIndexerDataSourceType

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

SearchIndexerDataUserAssignedIdentity

使用するデータソースの ID を指定します。

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

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

NativeBlobSoftDeleteDeletionDetectionPolicy

Azure Blob Storageのネイティブの論理的な削除機能を使用してデータ削除検出ポリシーを定義し、削除検出を行います。

名前 説明
@odata.type string:

#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy

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

SearchError

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

名前 説明
code

string

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

details

SearchError[]

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

message

string

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

SearchIndexerDataContainer

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

名前 説明
name

string

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

query

string

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

SearchIndexerDataNoneIdentity

データソースの ID プロパティをクリアします。

名前 説明
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

ID の種類を指定する URI フラグメント。

SearchIndexerDataSource

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

名前 説明
@odata.etag

string

データ ソースの ETag。

container

SearchIndexerDataContainer

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

credentials

DataSourceCredentials

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

dataChangeDetectionPolicy DataChangeDetectionPolicy:

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

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

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

description

string

データソースの説明。

encryptionKey

SearchResourceEncryptionKey

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

identity SearchIndexerDataIdentity:

このデータソースに使用する明示的なマネージド ID。 指定せず、接続文字列がマネージド ID の場合は、システム割り当てマネージド ID が使用されます。 指定しない場合、値は変更されません。 "none" が指定されている場合、このプロパティの値はクリアされます。

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 データソースを示します。

SearchIndexerDataUserAssignedIdentity

使用するデータソースの ID を指定します。

名前 説明
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

ID の種類を指定する URI フラグメント。

userAssignedIdentity

string

通常、ユーザー割り当てマネージド ID の完全修飾 Azure リソース ID は、検索サービスに割り当てられている必要がある "/subscriptions/12345678-1234-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" という形式です。

SearchResourceEncryptionKey

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

名前 説明
accessCredentials

AzureActiveDirectoryApplicationCredentials

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

identity SearchIndexerDataIdentity:

この暗号化キーに使用する明示的なマネージド ID。 指定せず、アクセス資格情報プロパティが null の場合は、システム割り当てマネージド ID が使用されます。 リソースの更新時に、明示的な ID が指定されていない場合は、変更されません。 "none" が指定されている場合、このプロパティの値はクリアされます。

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 フラグメント。