Поделиться через


Data Sources - Create Or Update

Создает новый источник данных или обновляет его, если он уже существует.

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2023-10-01-Preview
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2023-10-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

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

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

identity SearchIndexerDataIdentity:

Явное управляемое удостоверение, используемое для этого источника данных. Если не указано и строка подключения является управляемым удостоверением, используется управляемое удостоверение, назначаемое системой. Если значение не указано, значение остается неизменным. Если задано значение none, значение этого свойства очищается.

Ответы

Имя Тип Описание
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

Ответ об ошибке.

Примеры

SearchServiceCreateOrUpdateDataSource

Sample Request

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

Sample Response

{
  "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

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

HighWaterMarkChangeDetectionPolicy

Определяет политику обнаружения изменений данных, которая фиксирует изменения на основе значения столбца высокой отметки воды.

NativeBlobSoftDeleteDeletionDetectionPolicy

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

SearchError

Описывает условие ошибки для API.

SearchIndexerDataContainer

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

SearchIndexerDataNoneIdentity

Очищает свойство identity источника данных.

SearchIndexerDataSource

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

SearchIndexerDataSourceType

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

SearchIndexerDataUserAssignedIdentity

Указывает удостоверение для используемого источника данных.

SearchResourceEncryptionKey

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

SoftDeleteColumnDeletionDetectionPolicy

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

SqlIntegratedChangeTrackingPolicy

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

AzureActiveDirectoryApplicationCredentials

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

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

string

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

applicationSecret

string

Ключ проверки подлинности указанного приложения AAD.

DataSourceCredentials

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

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

string

Строка подключения для источника данных. Установите значение <unchanged> (с квадратными скобками), если вы не хотите, чтобы строка подключения обновлялся. Задайте значение , <redacted> если вы хотите удалить значение строка подключения из источника данных.

HighWaterMarkChangeDetectionPolicy

Определяет политику обнаружения изменений данных, которая фиксирует изменения на основе значения столбца высокой отметки воды.

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

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

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

highWaterMarkColumnName

string

Имя столбца метки высокой воды.

NativeBlobSoftDeleteDeletionDetectionPolicy

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

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

#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy

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

SearchError

Описывает условие ошибки для API.

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

string

Один из серверных наборов кодов ошибок.

details

SearchError[]

Массив сведений о конкретных ошибках, которые привели к этой сообщаемой ошибке.

message

string

Понятное представление ошибки.

SearchIndexerDataContainer

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

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

string

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

query

string

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

SearchIndexerDataNoneIdentity

Очищает свойство identity источника данных.

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

#Microsoft.Azure.Search.DataNoneIdentity

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

SearchIndexerDataSource

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

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

string

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

container

SearchIndexerDataContainer

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

credentials

DataSourceCredentials

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

dataChangeDetectionPolicy DataChangeDetectionPolicy:

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

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

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

description

string

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

encryptionKey

SearchResourceEncryptionKey

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

identity SearchIndexerDataIdentity:

Явное управляемое удостоверение, используемое для этого источника данных. Если не указано и строка подключения является управляемым удостоверением, используется управляемое удостоверение, назначаемое системой. Если значение не указано, значение остается неизменным. Если задано значение none, значение этого свойства очищается.

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.

SearchIndexerDataUserAssignedIdentity

Указывает удостоверение для используемого источника данных.

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

#Microsoft.Azure.Search.DataUserAssignedIdentity

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

userAssignedIdentity

string

Полный идентификатор ресурса Azure управляемого удостоверения, назначаемого пользователем, обычно в формате "/subscriptions/12345678-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId", который должен быть назначен службе поиска.

SearchResourceEncryptionKey

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

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

AzureActiveDirectoryApplicationCredentials

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

identity SearchIndexerDataIdentity:

Явное управляемое удостоверение, используемое для этого ключа шифрования. Если не указано и свойство учетных данных доступа имеет значение NULL, используется управляемое удостоверение, назначаемое системой. При обновлении ресурса, если явное удостоверение не указано, оно остается неизменным. Если задано значение none, значение этого свойства очищается.

keyVaultKeyName

string

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

keyVaultKeyVersion

string

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

keyVaultUri

string

Универсальный код ресурса (URI) Key Vault Azure, который также называется 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.

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

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

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