Data Sources - Create Or Update

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

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-07-01

URI パラメーター

名前 / 必須 説明
dataSourceName
path True

string

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

endpoint
path True

string

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

api-version
query True

string

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

要求ヘッダー

名前 必須 説明
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:

SoftDeleteColumnDeletionDetectionPolicy

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

description

string

データソースの説明。

encryptionKey

SearchResourceEncryptionKey

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

応答

名前 説明
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

エラー応答。

SearchServiceCreateOrUpdateDataSource

要求のサンプル

PUT https://myservice.search.windows.net/datasources('mydatasource')?api-version=2024-07-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": 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
  }
}
{
  "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

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

ErrorAdditionalInfo

リソース管理エラーの追加情報。

ErrorDetail

エラーの詳細。

ErrorResponse

エラー応答

HighWaterMarkChangeDetectionPolicy

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

SearchIndexerDataContainer

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

SearchIndexerDataSource

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

SearchIndexerDataSourceType

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

SearchResourceEncryptionKey

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

SoftDeleteColumnDeletionDetectionPolicy

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

SqlIntegratedChangeTrackingPolicy

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

AzureActiveDirectoryApplicationCredentials

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

名前 説明
applicationId

string

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

applicationSecret

string

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

DataSourceCredentials

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

名前 説明
connectionString

string

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

ErrorAdditionalInfo

リソース管理エラーの追加情報。

名前 説明
info

object

追加情報。

type

string

追加情報の種類。

ErrorDetail

エラーの詳細。

名前 説明
additionalInfo

ErrorAdditionalInfo[]

エラーの追加情報。

code

string

エラー コード。

details

ErrorDetail[]

エラーの詳細。

message

string

エラー メッセージ。

target

string

エラーターゲット。

ErrorResponse

エラー応答

名前 説明
error

ErrorDetail

エラー オブジェクト。

HighWaterMarkChangeDetectionPolicy

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

名前 説明
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

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

highWaterMarkColumnName

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 の統合変更追跡機能を使用して変更をキャプチャするデータ変更検出ポリシーを定義します。

名前 説明
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

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