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

Идентификатор отслеживания, отправляемый запросом на отладку.

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. Этот ключ используется для предоставления дополнительного уровня шифрования неактивных данных для определения источника данных, если требуется полная уверенность в том, что никто, даже не Корпорация Майкрософт, не может расшифровать определение источника данных. После шифрования определения источника данных он всегда будет оставаться зашифрованным. Служба поиска игнорирует попытки задать для этого свойства значение NULL. Это свойство можно изменить по мере необходимости, если вы хотите повернуть ключ шифрования; Определение источника данных не будет затронуто. Шифрование с помощью ключей, управляемых клиентом, недоступно для бесплатных служб поиска и доступно только для платных служб, созданных 1 января 2019 г.

Ответы

Имя Тип Описание
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

Представляет сведения о сущности (например, таблице SQL Azure или коллекции CosmosDB), которая будет индексирована.

SearchIndexerDataSource

Представляет определение источника данных, которое можно использовать для настройки индексатора.

SearchIndexerDataSourceType

Определяет тип источника данных.

SearchResourceEncryptionKey

Ключ шифрования, управляемый клиентом, в Azure Key Vault. Ключи, которые создаются и управляются, можно использовать для шифрования или расшифровки неактивных данных, таких как индексы и карты синонимов.

SoftDeleteColumnDeletionDetectionPolicy

Определяет политику обнаружения удаления данных, реализующую стратегию обратимого удаления. Он определяет, следует ли удалять элемент на основе значения указанного столбца обратимого удаления.

SqlIntegratedChangeTrackingPolicy

Определяет политику обнаружения изменений данных, которая фиксирует изменения с помощью функции встроенного отслеживания изменений базы данных SQL Azure.

AzureActiveDirectoryApplicationCredentials

Учетные данные зарегистрированного приложения, созданного для службы поиска, используемого для проверки подлинности доступа к ключам шифрования, хранящимся в Azure Key Vault.

Имя Тип Описание
applicationId

string

Идентификатор приложения AAD, которому было предоставлено необходимые разрешения на доступ к Azure Key Vault, который будет использоваться при шифровании неактивных данных. Идентификатор приложения не следует путать с идентификатором объекта для приложения AAD.

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

Представляет сведения о сущности (например, таблице SQL Azure или коллекции CosmosDB), которая будет индексирована.

Имя Тип Описание
name

string

Имя таблицы или представления (для источника данных SQL Azure) или коллекции (для источника данных CosmosDB), который будет индексирован.

query

string

Запрос, применяемый к этому контейнеру данных. Синтаксис и значение этого параметра относятся к источнику данных. Не поддерживается источниками данных SQL Azure.

SearchIndexerDataSource

Представляет определение источника данных, которое можно использовать для настройки индексатора.

Имя Тип Описание
@odata.etag

string

ETag источника данных.

container

SearchIndexerDataContainer

Контейнер данных для источника данных.

credentials

DataSourceCredentials

Учетные данные для источника данных.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Политика обнаружения изменений данных для источника данных.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Политика обнаружения удаления данных для источника данных.

description

string

Описание источника данных.

encryptionKey

SearchResourceEncryptionKey

Описание ключа шифрования, созданного в Azure Key Vault. Этот ключ используется для предоставления дополнительного уровня шифрования неактивных данных для определения источника данных, если требуется полная уверенность в том, что никто, даже не Корпорация Майкрософт, не может расшифровать определение источника данных. После шифрования определения источника данных он всегда будет оставаться зашифрованным. Служба поиска игнорирует попытки задать для этого свойства значение NULL. Это свойство можно изменить по мере необходимости, если вы хотите повернуть ключ шифрования; Определение источника данных не будет затронуто. Шифрование с помощью ключей, управляемых клиентом, недоступно для бесплатных служб поиска и доступно только для платных служб, созданных 1 января 2019 г.

name

string

Имя источника данных.

type

SearchIndexerDataSourceType

Тип источника данных.

SearchIndexerDataSourceType

Определяет тип источника данных.

Имя Тип Описание
adlsgen2

string

Указывает источник данных ADLS 2-го поколения.

azureblob

string

Указывает источник данных BLOB-объектов Azure.

azuresql

string

Указывает источник данных SQL Azure.

azuretable

string

Указывает источник данных таблицы Azure.

cosmosdb

string

Указывает источник данных CosmosDB.

mysql

string

Указывает источник данных MySql.

SearchResourceEncryptionKey

Ключ шифрования, управляемый клиентом, в Azure Key Vault. Ключи, которые создаются и управляются, можно использовать для шифрования или расшифровки неактивных данных, таких как индексы и карты синонимов.

Имя Тип Описание
accessCredentials

AzureActiveDirectoryApplicationCredentials

Необязательные учетные данные Azure Active Directory, используемые для доступа к Azure Key Vault. Не требуется, если вместо этого используется управляемое удостоверение.

keyVaultKeyName

string

Имя ключа Azure Key Vault, используемого для шифрования неактивных данных.

keyVaultKeyVersion

string

Версия ключа Azure Key Vault, используемая для шифрования неактивных данных.

keyVaultUri

string

Универсальный код ресурса (URI) Хранилища ключей Azure, который также называется DNS-именем, который содержит ключ, используемый для шифрования неактивных данных. Пример URI может быть https://my-keyvault-name.vault.azure.net.

SoftDeleteColumnDeletionDetectionPolicy

Определяет политику обнаружения удаления данных, реализующую стратегию обратимого удаления. Он определяет, следует ли удалять элемент на основе значения указанного столбца обратимого удаления.

Имя Тип Описание
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Фрагмент URI, указывающий тип политики обнаружения удаления данных.

softDeleteColumnName

string

Имя столбца, используемого для обнаружения обратимого удаления.

softDeleteMarkerValue

string

Значение маркера, определяющее элемент как удаленный.

SqlIntegratedChangeTrackingPolicy

Определяет политику обнаружения изменений данных, которая фиксирует изменения с помощью функции встроенного отслеживания изменений базы данных SQL Azure.

Имя Тип Описание
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Фрагмент URI, указывающий тип политики обнаружения изменений данных.