Data Sources - Create Or Update
新しいデータソースを作成するか、データソースが既に存在する場合は更新します。
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-03-01-Preview
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-03-01-Preview&ignoreResetRequirements={ignoreResetRequirements}
URI パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
data
|
path | True |
string |
作成または更新するデータソースの名前。 |
endpoint
|
path | True |
string |
検索サービスのエンドポイント URL。 |
api-version
|
query | True |
string |
クライアント API のバージョン。 |
ignore
|
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 |
データソースのデータ コンテナー。 |
|
credentials | True |
データソースの資格情報。 |
|
name | True |
string |
データソースの名前。 |
type | True |
データソースの型。 |
|
@odata.etag |
string |
データ ソースの ETag。 |
|
dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
データソースのデータ変更検出ポリシー。 |
|
dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
データソースのデータ削除検出ポリシー。 |
|
description |
string |
データソースの説明。 |
|
encryptionKey |
Azure Key Vaultで作成する暗号化キーの説明。 このキーは、Microsoft 以外のユーザーがデータ ソース定義の暗号化を解除できないという完全な保証が必要な場合に、データソース定義に保存時の暗号化レベルを追加するために使用されます。 データ ソース定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定する試行を無視します。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。データソース定義は影響を受けません。 カスタマー マネージド キーを使用した暗号化は、無料の検索サービスでは使用できません。また、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。 |
||
identity | SearchIndexerDataIdentity: |
このデータソースに使用する明示的なマネージド ID。 指定せず、接続文字列がマネージド ID の場合は、システム割り当てマネージド ID が使用されます。 指定しない場合、値は変更されません。 "none" を指定すると、このプロパティの値はクリアされます。 |
応答
名前 | 型 | 説明 |
---|---|---|
200 OK | ||
201 Created | ||
Other Status Codes |
エラー応答。 |
例
SearchServiceCreateOrUpdateDataSource
要求のサンプル
PUT https://myservice.search.windows.net/datasources('mydatasource')?api-version=2024-03-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
}
}
応答のサンプル
{
"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
}
}
定義
名前 | 説明 |
---|---|
Azure |
Azure Key Vaultに格納されている暗号化キーへの認証済みアクセスに使用される、検索サービス用に作成された登録済みアプリケーションの資格情報。 |
Data |
データソースに接続するために使用できる資格情報を表します。 |
Error |
リソース管理エラーの追加情報。 |
Error |
エラーの詳細。 |
Error |
エラー応答 |
High |
高ウォーター マーク列の値に基づいて変更をキャプチャするデータ変更検出ポリシーを定義します。 |
Native |
削除検出にAzure Blob Storageのネイティブの論理的な削除機能を利用するデータ削除検出ポリシーを定義します。 |
Search |
インデックスが作成されるエンティティ (Azure SQL テーブルや CosmosDB コレクションなど) に関する情報を表します。 |
Search |
データソースの ID プロパティをクリアします。 |
Search |
インデクサーの構成に使用できるデータソース定義を表します。 |
Search |
データソースの型を定義します。 |
Search |
使用するデータソースの ID を指定します。 |
Search |
Azure Key Vaultのカスタマー マネージド暗号化キー。 作成および管理するキーは、インデックスやシノニム マップなどの保存データの暗号化または暗号化解除に使用できます。 |
Soft |
論理的な削除戦略を実装するデータ削除検出ポリシーを定義します。 指定された "論理的な削除" 列の値に基づいて、アイテムを削除するかどうかを決定します。 |
Sql |
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 |
データソースの接続文字列。 接続文字列を更新しない場合は、 を |
ErrorAdditionalInfo
リソース管理エラーの追加情報。
名前 | 型 | 説明 |
---|---|---|
info |
object |
追加情報。 |
type |
string |
追加情報の種類。 |
ErrorDetail
エラーの詳細。
名前 | 型 | 説明 |
---|---|---|
additionalInfo |
エラーの追加情報。 |
|
code |
string |
エラー コード。 |
details |
エラーの詳細です。 |
|
message |
string |
エラー メッセージ。 |
target |
string |
エラーのターゲット。 |
ErrorResponse
エラー応答
名前 | 型 | 説明 |
---|---|---|
error |
error オブジェクト。 |
HighWaterMarkChangeDetectionPolicy
高ウォーター マーク列の値に基づいて変更をキャプチャするデータ変更検出ポリシーを定義します。
名前 | 型 | 説明 |
---|---|---|
@odata.type |
string:
#Microsoft. |
データ変更検出ポリシーの種類を指定する URI フラグメント。 |
highWaterMarkColumnName |
string |
ハイ ウォーター マーク列の名前。 |
NativeBlobSoftDeleteDeletionDetectionPolicy
削除検出にAzure Blob Storageのネイティブの論理的な削除機能を利用するデータ削除検出ポリシーを定義します。
名前 | 型 | 説明 |
---|---|---|
@odata.type |
string:
#Microsoft. |
データ削除検出ポリシーの種類を指定する URI フラグメント。 |
SearchIndexerDataContainer
インデックスが作成されるエンティティ (Azure SQL テーブルや CosmosDB コレクションなど) に関する情報を表します。
名前 | 型 | 説明 |
---|---|---|
name |
string |
インデックスが作成されるテーブルまたはビュー (Azure SQL データ ソースの場合) またはコレクション (CosmosDB データ ソースの場合) の名前。 |
query |
string |
このデータ コンテナーに適用されるクエリ。 このパラメーターの構文と意味は、データソース固有です。 Azure SQL データソースではサポートされていません。 |
SearchIndexerDataNoneIdentity
データソースの ID プロパティをクリアします。
名前 | 型 | 説明 |
---|---|---|
@odata.type |
string:
#Microsoft. |
ID の種類を指定する URI フラグメント。 |
SearchIndexerDataSource
インデクサーの構成に使用できるデータソース定義を表します。
名前 | 型 | 説明 |
---|---|---|
@odata.etag |
string |
データ ソースの ETag。 |
container |
データソースのデータ コンテナー。 |
|
credentials |
データソースの資格情報。 |
|
dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
データソースのデータ変更検出ポリシー。 |
dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
データソースのデータ削除検出ポリシー。 |
description |
string |
データソースの説明。 |
encryptionKey |
Azure Key Vaultで作成する暗号化キーの説明。 このキーは、Microsoft 以外のユーザーがデータ ソース定義の暗号化を解除できないという完全な保証が必要な場合に、データソース定義に保存時の暗号化レベルを追加するために使用されます。 データ ソース定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定する試行を無視します。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。データソース定義は影響を受けません。 カスタマー マネージド キーを使用した暗号化は、無料の検索サービスでは使用できません。また、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。 |
|
identity | SearchIndexerDataIdentity: |
このデータソースに使用する明示的なマネージド ID。 指定せず、接続文字列がマネージド ID の場合は、システム割り当てマネージド ID が使用されます。 指定しない場合、値は変更されません。 "none" を指定すると、このプロパティの値はクリアされます。 |
name |
string |
データソースの名前。 |
type |
データソースの型。 |
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. |
ID の種類を指定する URI フラグメント。 |
userAssignedIdentity |
string |
通常、ユーザー割り当てマネージド ID の完全修飾 Azure リソース ID は、検索サービスに割り当てられている必要がある "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" という形式です。 |
SearchResourceEncryptionKey
Azure Key Vaultのカスタマー マネージド暗号化キー。 作成および管理するキーは、インデックスやシノニム マップなどの保存データの暗号化または暗号化解除に使用できます。
名前 | 型 | 説明 |
---|---|---|
accessCredentials |
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 の例として、 |
SoftDeleteColumnDeletionDetectionPolicy
論理的な削除戦略を実装するデータ削除検出ポリシーを定義します。 指定された "論理的な削除" 列の値に基づいて、アイテムを削除するかどうかを決定します。
名前 | 型 | 説明 |
---|---|---|
@odata.type |
string:
#Microsoft. |
データ削除検出ポリシーの種類を指定する URI フラグメント。 |
softDeleteColumnName |
string |
論理的な削除の検出に使用する列の名前。 |
softDeleteMarkerValue |
string |
アイテムを削除済みとして識別するマーカー値。 |
SqlIntegratedChangeTrackingPolicy
Azure SQL Database の統合Change Tracking機能を使用して変更をキャプチャするデータ変更検出ポリシーを定義します。
名前 | 型 | 説明 |
---|---|---|
@odata.type |
string:
#Microsoft. |
データ変更検出ポリシーの種類を指定する URI フラグメント。 |