Data Sources - Create Or Update
Создает новый источник данных или обновляет источник данных, если он уже существует.
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2025-09-01
Параметры URI
| Имя | В | Обязательно | Тип | Описание |
|---|---|---|---|---|
|
data
|
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 |
Контейнер данных для источника данных. |
|
| credentials | True |
Учетные данные для источника данных. |
|
| name | True |
string |
Имя источника данных. |
| type | True |
Тип источника данных. |
|
| @odata.etag |
string |
ETag источника данных. |
|
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
Политика обнаружения изменений данных для источника данных. |
|
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
Политика обнаружения удаления данных для источника данных. |
|
| description |
string |
Описание источника данных. |
|
| encryptionKey |
Описание ключа шифрования, созданного в Azure Key Vault. Этот ключ используется для обеспечения дополнительного уровня шифрования неактивных данных для определения источника данных, когда требуется полная уверенность в том, что никто, даже корпорация Майкрософт, не сможет расшифровать определение источника данных. После шифрования определения источника данных оно всегда будет оставаться зашифрованным. Служба поиска будет игнорировать попытки установить для этого свойства значение null. Вы можете изменить это свойство по мере необходимости, если хотите повернуть ключ шифрования; Определение источника данных не будет затронуто. Шифрование с помощью ключей, управляемых клиентом, недоступно для бесплатных поисковых служб и доступно только для платных служб, созданных 1 января 2019 г. или позже. |
Ответы
| Имя | Тип | Описание |
|---|---|---|
| 200 OK | ||
| 201 Created | ||
| Other Status Codes |
Ответ на ошибку. |
Примеры
SearchServiceCreateOrUpdateDataSource
Образец запроса
PUT https://stableexampleservice.search.windows.net/datasources('tempdatasource')?api-version=2025-09-01
{
"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"
},
"@odata.etag": "0x1234568AE7E58A1"
}
Пример ответа
{
"@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"
}
}
{
"@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"
}
}
Определения
| Имя | Описание |
|---|---|
|
Azure |
Учетные данные зарегистрированного приложения, созданного для службы поиска, используемого для доступа с проверкой подлинности к ключам шифрования, хранящимся в Azure Key Vault. |
|
Data |
Представляет учетные данные, которые можно использовать для подключения к источнику данных. |
|
Error |
Дополнительные сведения об ошибке управления ресурсами. |
|
Error |
Сведения об ошибке. |
|
Error |
Ответ на ошибку |
|
High |
Определяет политику обнаружения изменений данных, которая фиксирует изменения на основе значения столбца высокой отметки. |
|
Search |
Представляет сведения о сущности (например, таблице Azure SQL или коллекции CosmosDB), которая будет индексирована. |
|
Search |
Представляет собой определение источника данных, которое можно использовать для настройки индексатора. |
|
Search |
Определяет тип источника данных. |
|
Search |
Ключ шифрования, управляемый клиентом, в Azure Key Vault. Ключи, которые вы создаете и которыми управляете, можно использовать для шифрования или расшифровки хранимых данных, таких как индексы и сопоставления синонимов. |
|
Soft |
Определяет политику обнаружения удаления данных, реализующую стратегию обратимого удаления. Он определяет, следует ли удалять элемент, на основе значения назначенного столбца обратимого удаления. |
|
Sql |
Определяет политику обнаружения изменений данных, которая фиксирует изменения с помощью встроенной функции отслеживания изменений Базы данных SQL Azure. |
AzureActiveDirectoryApplicationCredentials
Учетные данные зарегистрированного приложения, созданного для службы поиска, используемого для доступа с проверкой подлинности к ключам шифрования, хранящимся в Azure Key Vault.
| Имя | Тип | Описание |
|---|---|---|
| applicationId |
string |
Идентификатор приложения AAD, которому предоставлены необходимые разрешения на доступ к Azure Key Vault, который будет использоваться при шифровании неактивных данных. Идентификатор приложения не следует путать с идентификатором объекта для приложения AAD. |
| applicationSecret |
string |
Ключ аутентификации указанного приложения AAD. |
DataSourceCredentials
Представляет учетные данные, которые можно использовать для подключения к источнику данных.
| Имя | Тип | Описание |
|---|---|---|
| connectionString |
string |
Строка подключения для источника данных. Для Azure SQL, Azure Blob, ADLS Gen 2 и Azure Table это будет строка подключения или идентификатор ресурса при использовании управляемого удостоверения. Для CosmosDB это будет отформатированная строка подключения, указывающая ApiKind или идентификатор ресурса для управляемого удостоверения. Для файлов Onelake строкой подключения будет либо идентификатор guid рабочей области, либо полное доменное имя рабочей области; Onelake поддерживает только подключения к управляемым удостоверениям. Установите значение |
ErrorAdditionalInfo
Дополнительные сведения об ошибке управления ресурсами.
| Имя | Тип | Описание |
|---|---|---|
| info |
object |
Дополнительная информация. |
| type |
string |
Тип дополнительной информации. |
ErrorDetail
Сведения об ошибке.
| Имя | Тип | Описание |
|---|---|---|
| additionalInfo |
Ошибка дополнительная информация. |
|
| code |
string |
Код ошибки. |
| details |
Сведения об ошибке. |
|
| message |
string |
Сообщение об ошибке. |
| target |
string |
Цель ошибки. |
ErrorResponse
Ответ на ошибку
| Имя | Тип | Описание |
|---|---|---|
| error |
Объект ошибки. |
HighWaterMarkChangeDetectionPolicy
Определяет политику обнаружения изменений данных, которая фиксирует изменения на основе значения столбца высокой отметки.
| Имя | Тип | Описание |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Фрагмент универсального кода ресурса (URI), указывающий тип политики обнаружения изменения данных. |
| highWaterMarkColumnName |
string |
Название столбца высокой отметки воды. |
SearchIndexerDataContainer
Представляет сведения о сущности (например, таблице Azure SQL или коллекции CosmosDB), которая будет индексирована.
| Имя | Тип | Описание |
|---|---|---|
| name |
string |
Имя таблицы или представления (для источника данных SQL Azure), коллекции (для источника данных CosmosDB), контейнера (для источников данных Azure Blob и ADLS Gen 2), Azure Table (для источника данных Azure Table) или lakehouse (для источника данных Onelake), которые будут индексированы. |
| query |
string |
Запрос, который применяется к этому контейнеру данных. Для CosmosDB запрос к источнику данных может преобразовывать и фильтровать данные. Для Azure BLOB и ADLS 2-го поколения запрос может быть отфильтрован по папкам. Для Azure Table query может выполнять фильтрацию по данным строк. Для Onelake запрос можно отфильтровать по папке или ярлыку. Не поддерживается источниками данных Azure SQL. |
SearchIndexerDataSource
Представляет собой определение источника данных, которое можно использовать для настройки индексатора.
| Имя | Тип | Описание |
|---|---|---|
| @odata.etag |
string |
ETag источника данных. |
| container |
Контейнер данных для источника данных. |
|
| credentials |
Учетные данные для источника данных. |
|
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
Политика обнаружения изменений данных для источника данных. |
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
Политика обнаружения удаления данных для источника данных. |
| description |
string |
Описание источника данных. |
| encryptionKey |
Описание ключа шифрования, созданного в Azure Key Vault. Этот ключ используется для обеспечения дополнительного уровня шифрования неактивных данных для определения источника данных, когда требуется полная уверенность в том, что никто, даже корпорация Майкрософт, не сможет расшифровать определение источника данных. После шифрования определения источника данных оно всегда будет оставаться зашифрованным. Служба поиска будет игнорировать попытки установить для этого свойства значение null. Вы можете изменить это свойство по мере необходимости, если хотите повернуть ключ шифрования; Определение источника данных не будет затронуто. Шифрование с помощью ключей, управляемых клиентом, недоступно для бесплатных поисковых служб и доступно только для платных служб, созданных 1 января 2019 г. или позже. |
|
| name |
string |
Имя источника данных. |
| type |
Тип источника данных. |
SearchIndexerDataSourceType
Определяет тип источника данных.
| Значение | Описание |
|---|---|
| azuresql |
Определение источника данных SQL Azure, учетные данные которого могут быть либо стандартной строкой подключения SQL, либо идентификатором ресурса SQL. Свойство container относится к таблице или представлению, которые необходимо индексировать. Параметр query не поддерживается для этого источника данных. |
| cosmosdb |
Определение источника данных CosmosDB, учетные данные которого могут быть либо отформатированной строкой подключения, содержащей сведения для AccountEndpoint, AccountKey и Database для подключения на основе ключа, либо сведения для ResourceID и ApiKind для подключения без ключа. Свойство контейнера относится к индексируемой коллекции cosmosdb, а необязательное свойство запроса относится к SQL-запросу к коллекции. |
| azureblob |
Определение источника данных BLOB-объектов Azure, учетные данные которого могут быть строкой подключения к хранилищу или идентификатором ресурса учетной записи хранения. Свойство container относится к контейнеру BLOB-объектов, который необходимо индексировать, а необязательное свойство query — к определенной вложенной папке в контейнере. |
| azuretable |
Определение источника данных таблиц Azure, учетными данными которого может быть строка подключения к таблице или идентификатор ресурса учетной записи хранения. Свойство container относится к контейнеру BLOB-объектов, который необходимо индексировать, а необязательное свойство query можно использовать для фильтрации строк. |
| mysql |
Определение источника данных SQL Azure, учетными данными которого может быть стандартная строка подключения SQL в формате ADO.NET или идентификатор ресурса SQL. Свойство container относится к таблице или представлению, которые необходимо индексировать. Параметр query не поддерживается для этого источника данных. |
| adlsgen2 |
Определение источника данных Azure ADLS 2-го поколения, учетные данные которого могут быть строкой подключения к хранилищу или идентификатором ресурса учетной записи хранения. Свойство container относится к контейнеру BLOB-объектов, который необходимо индексировать, а необязательное свойство query — к определенной вложенной папке в контейнере. |
| onelake |
Определение источника данных Onelake для Microsoft Fabric, учетными данными которого может быть GUID рабочей области Fabric или полное доменное имя рабочей области. Свойство container ссылается на GUID lakehouse, а необязательное свойство query — на папки или ярлыки в lakehouse. |
SearchResourceEncryptionKey
Ключ шифрования, управляемый клиентом, в Azure Key Vault. Ключи, которые вы создаете и которыми управляете, можно использовать для шифрования или расшифровки хранимых данных, таких как индексы и сопоставления синонимов.
| Имя | Тип | Описание |
|---|---|---|
| accessCredentials |
Необязательные учетные данные Azure Active Directory, используемые для доступа к Azure Key Vault. Не требуется, если вместо этого используется управляемое удостоверение. |
|
| keyVaultKeyName |
string |
Имя ключа Azure Key Vault, который будет использоваться для шифрования неактивных данных. |
| keyVaultKeyVersion |
string |
Версия ключа Azure Key Vault, который будет использоваться для шифрования неактивных данных. |
| keyVaultUri |
string |
URI Azure Key Vault, также называемый DNS-именем, который содержит ключ, используемый для шифрования неактивных данных. Примером URI может быть . |
SoftDeleteColumnDeletionDetectionPolicy
Определяет политику обнаружения удаления данных, реализующую стратегию обратимого удаления. Он определяет, следует ли удалять элемент, на основе значения назначенного столбца обратимого удаления.
| Имя | Тип | Описание |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Фрагмент универсального кода ресурса (URI), указывающий тип политики обнаружения удаления данных. |
| softDeleteColumnName |
string |
Имя столбца, используемого для обнаружения обратимого удаления. |
| softDeleteMarkerValue |
string |
Значение маркера, определяющее элемент как удаленный. |
SqlIntegratedChangeTrackingPolicy
Определяет политику обнаружения изменений данных, которая фиксирует изменения с помощью встроенной функции отслеживания изменений Базы данных SQL Azure.
| Имя | Тип | Описание |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Фрагмент универсального кода ресурса (URI), указывающий тип политики обнаружения изменения данных. |