次の方法で共有


Data Sources - Create Or Update

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

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-11-01-preview
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-11-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

ErrorResponse

エラー応答。

SearchServiceCreateOrUpdateDataSource

要求のサンプル

PUT https://previewexampleservice.search.windows.net/datasources('tempdatasource')?api-version=2024-11-01-preview&ignoreResetRequirements=





{
  "name": "tempdatasource",
  "description": "My Azure Blob data source.",
  "type": "azureblob",
  "credentials": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
  },
  "container": {
    "name": "doc-extraction-skillset",
    "query": "E2E_Dsat"
  },
  "dataChangeDetectionPolicy": {
    "highWaterMarkColumnName": "metadata_storage_last_modified",
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
  },
  "dataDeletionDetectionPolicy": {
    "softDeleteColumnName": "isDeleted",
    "softDeleteMarkerValue": "true",
    "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

応答のサンプル

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "tempdatasource",
  "description": "My Azure Blob data source.",
  "type": "azureblob",
  "credentials": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
  },
  "container": {
    "name": "doc-extraction-skillset",
    "query": "E2E_Dsat"
  },
  "dataChangeDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName": "metadata_storage_last_modified"
  },
  "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>"
    }
  }
}
{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "tempdatasource",
  "description": "My Azure Blob data source.",
  "type": "azureblob",
  "credentials": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
  },
  "container": {
    "name": "doc-extraction-skillset",
    "query": "E2E_Dsat"
  },
  "dataChangeDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName": "metadata_storage_last_modified"
  },
  "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>"
    }
  }
}

定義

名前 説明
AzureActiveDirectoryApplicationCredentials

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

DataSourceCredentials

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

ErrorAdditionalInfo

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

ErrorDetail

エラーの詳細。

ErrorResponse

エラー応答

HighWaterMarkChangeDetectionPolicy

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

NativeBlobSoftDeleteDeletionDetectionPolicy

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

SearchIndexerDataContainer

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

SearchIndexerDataNoneIdentity

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

SearchIndexerDataSource

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

SearchIndexerDataSourceType

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

SearchIndexerDataUserAssignedIdentity

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

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

高い基準値の列の名前。

NativeBlobSoftDeleteDeletionDetectionPolicy

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

名前 説明
@odata.type string:

#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy

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

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

onelake

string

Microsoft Fabric OneLake データソースを示します。

SearchIndexerDataUserAssignedIdentity

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

名前 説明
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

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

userAssignedIdentity

string

通常、ユーザー割り当てマネージド ID の完全修飾 Azure リソース ID は、検索サービスに割り当てられている必要がある "/subscriptions/12345678-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 の統合変更追跡機能を使用して変更をキャプチャするデータ変更検出ポリシーを定義します。

名前 説明
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

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