Data Sources - Create Or Update

Crea un nuevo origen de datos o actualiza un origen de datos si ya existe.

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2023-10-01-Preview
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2023-10-01-Preview&ignoreResetRequirements={ignoreResetRequirements}

Parámetros de identificador URI

Nombre En Requerido Tipo Description
dataSourceName
path True

string

Nombre del origen de datos que se va a crear o actualizar.

endpoint
path True

string

Dirección URL del punto de conexión del servicio de búsqueda.

api-version
query True

string

Versión de api de cliente.

ignoreResetRequirements
query

boolean

Omite los requisitos de restablecimiento de caché.

Encabezado de la solicitud

Nombre Requerido Tipo Description
x-ms-client-request-id

string

uuid

Identificador de seguimiento enviado con la solicitud para ayudar con la depuración.

If-Match

string

Define la condición de If-Match. La operación solo se realizará si la ETag del servidor coincide con este valor.

If-None-Match

string

Define la condición If-None-Match. La operación solo se realizará si la ETag del servidor no coincide con este valor.

Prefer True

string

En el caso de las solicitudes HTTP PUT, indica al servicio que devuelva el recurso creado o actualizado si se ha realizado correctamente.

Cuerpo de la solicitud

Nombre Requerido Tipo Description
container True

SearchIndexerDataContainer

Contenedor de datos para el origen de datos.

credentials True

DataSourceCredentials

Credenciales para el origen de datos.

name True

string

Nombre del origen de datos.

type True

SearchIndexerDataSourceType

Tipo del origen de datos.

@odata.etag

string

ETag del origen de datos.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Directiva de detección de cambios de datos para el origen de datos.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

Directiva de detección de eliminación de datos para el origen de datos.

description

string

Descripción del origen de datos.

encryptionKey

SearchResourceEncryptionKey

Descripción de una clave de cifrado que se crea en Azure Key Vault. Esta clave se usa para proporcionar un nivel adicional de cifrado en reposo para la definición del origen de datos cuando desea asegurarse de que nadie, ni siquiera Microsoft, puede descifrar la definición del origen de datos. Una vez que haya cifrado la definición del origen de datos, siempre permanecerá cifrado. El servicio de búsqueda omitirá los intentos de establecer esta propiedad en null. Puede cambiar esta propiedad según sea necesario si desea rotar la clave de cifrado; La definición del origen de datos no se verá afectada. El cifrado con claves administradas por el cliente no está disponible para los servicios de búsqueda gratuitos y solo está disponible para los servicios de pago creados el 1 de enero de 2019 o después.

identity SearchIndexerDataIdentity:

Una identidad administrada explícita que se va a usar para este origen de datos. Si no se especifica y el cadena de conexión es una identidad administrada, se usa la identidad administrada asignada por el sistema. Si no se especifica, el valor permanece sin cambios. Si se especifica "none", se borra el valor de esta propiedad.

Respuestas

Nombre Tipo Description
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

Respuesta de error.

Ejemplos

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
  }
}

Definiciones

Nombre Description
AzureActiveDirectoryApplicationCredentials

Credenciales de una aplicación registrada creada para el servicio de búsqueda, que se usa para el acceso autenticado a las claves de cifrado almacenadas en Azure Key Vault.

DataSourceCredentials

Representa las credenciales que pueden usarse para conectarse a un origen de datos.

HighWaterMarkChangeDetectionPolicy

Define una directiva de detección de cambios de datos que captura los cambios en función del valor de una columna de marca de agua alta.

NativeBlobSoftDeleteDeletionDetectionPolicy

Define una directiva de detección de eliminación de datos que usa la característica de eliminación temporal nativa de Azure Blob Storage para la detección de eliminación.

SearchError

Describe una condición de error para la API.

SearchIndexerDataContainer

Representa información sobre la entidad (como Azure SQL tabla o colección de CosmosDB) que se indexará.

SearchIndexerDataNoneIdentity

Borra la propiedad de identidad de un origen de datos.

SearchIndexerDataSource

Representa una definición de origen de datos, que se puede usar para configurar un indexador.

SearchIndexerDataSourceType

Define el tipo de un origen de datos.

SearchIndexerDataUserAssignedIdentity

Especifica la identidad de un origen de datos que se va a usar.

SearchResourceEncryptionKey

Una clave de cifrado administrada por el cliente en Azure Key Vault. Las claves que cree y administre se pueden usar para cifrar o descifrar datos en reposo, como índices y mapas de sinónimos.

SoftDeleteColumnDeletionDetectionPolicy

Define una directiva de detección de eliminación de datos que implementa una estrategia de eliminación temporal. Determina si se debe eliminar un elemento en función del valor de una columna designada "eliminación temporal".

SqlIntegratedChangeTrackingPolicy

Define una directiva de detección de cambios de datos que captura los cambios mediante la característica integrada de Change Tracking de Azure SQL Database.

AzureActiveDirectoryApplicationCredentials

Credenciales de una aplicación registrada creada para el servicio de búsqueda, que se usa para el acceso autenticado a las claves de cifrado almacenadas en Azure Key Vault.

Nombre Tipo Description
applicationId

string

Identificador de aplicación de AAD al que se concedieron los permisos de acceso necesarios a Azure Key Vault que se van a usar al cifrar los datos en reposo. El identificador de aplicación no debe confundirse con el id. de objeto de la aplicación de AAD.

applicationSecret

string

Clave de autenticación de la aplicación de AAD especificada.

DataSourceCredentials

Representa las credenciales que pueden usarse para conectarse a un origen de datos.

Nombre Tipo Description
connectionString

string

El cadena de conexión del origen de datos. Establezca en <unchanged> (con corchetes) si no desea actualizar el cadena de conexión. <redacted> Establezca en si desea quitar el valor de cadena de conexión del origen de datos.

HighWaterMarkChangeDetectionPolicy

Define una directiva de detección de cambios de datos que captura los cambios en función del valor de una columna de marca de agua alta.

Nombre Tipo Description
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

Fragmento de URI que especifica el tipo de directiva de detección de cambios de datos.

highWaterMarkColumnName

string

Nombre de la columna de marca de agua alta.

NativeBlobSoftDeleteDeletionDetectionPolicy

Define una directiva de detección de eliminación de datos que usa la característica de eliminación temporal nativa de Azure Blob Storage para la detección de eliminación.

Nombre Tipo Description
@odata.type string:

#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy

Fragmento de URI que especifica el tipo de directiva de detección de eliminación de datos.

SearchError

Describe una condición de error para la API.

Nombre Tipo Description
code

string

Uno de un conjunto definido por el servidor de códigos de error.

details

SearchError[]

Matriz de detalles sobre errores específicos que llevaron a este error notificado.

message

string

Representación legible del error.

SearchIndexerDataContainer

Representa información sobre la entidad (como Azure SQL tabla o colección de CosmosDB) que se indexará.

Nombre Tipo Description
name

string

Nombre de la tabla o vista (para Azure SQL origen de datos) o colección (para el origen de datos de CosmosDB) que se indexará.

query

string

Consulta que se aplica a este contenedor de datos. La sintaxis y el significado de este parámetro son específicas del origen de datos. No es compatible con los orígenes de datos de Azure SQL.

SearchIndexerDataNoneIdentity

Borra la propiedad de identidad de un origen de datos.

Nombre Tipo Description
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

Fragmento de URI que especifica el tipo de identidad.

SearchIndexerDataSource

Representa una definición de origen de datos, que se puede usar para configurar un indexador.

Nombre Tipo Description
@odata.etag

string

ETag del origen de datos.

container

SearchIndexerDataContainer

Contenedor de datos para el origen de datos.

credentials

DataSourceCredentials

Credenciales para el origen de datos.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Directiva de detección de cambios de datos para el origen de datos.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

Directiva de detección de eliminación de datos para el origen de datos.

description

string

Descripción del origen de datos.

encryptionKey

SearchResourceEncryptionKey

Descripción de una clave de cifrado que se crea en Azure Key Vault. Esta clave se usa para proporcionar un nivel adicional de cifrado en reposo para la definición del origen de datos cuando desea asegurarse de que nadie, ni siquiera Microsoft, puede descifrar la definición del origen de datos. Una vez que haya cifrado la definición del origen de datos, siempre permanecerá cifrado. El servicio de búsqueda omitirá los intentos de establecer esta propiedad en null. Puede cambiar esta propiedad según sea necesario si desea rotar la clave de cifrado; La definición del origen de datos no se verá afectada. El cifrado con claves administradas por el cliente no está disponible para los servicios de búsqueda gratuitos y solo está disponible para los servicios de pago creados el 1 de enero de 2019 o después.

identity SearchIndexerDataIdentity:

Una identidad administrada explícita que se va a usar para este origen de datos. Si no se especifica y el cadena de conexión es una identidad administrada, se usa la identidad administrada asignada por el sistema. Si no se especifica, el valor permanece sin cambios. Si se especifica "none", se borra el valor de esta propiedad.

name

string

Nombre del origen de datos.

type

SearchIndexerDataSourceType

Tipo del origen de datos.

SearchIndexerDataSourceType

Define el tipo de un origen de datos.

Nombre Tipo Description
adlsgen2

string

Indica un origen de datos de ADLS Gen2.

azureblob

string

Indica un origen de datos de Blob de Azure.

azuresql

string

Indica un origen de datos de SQL Azure.

azuretable

string

Indica un origen de datos de tabla de Azure.

cosmosdb

string

Indica un origen de datos de CosmosDB.

mysql

string

Indica un origen de datos MySql.

SearchIndexerDataUserAssignedIdentity

Especifica la identidad de un origen de datos que se va a usar.

Nombre Tipo Description
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

Fragmento de URI que especifica el tipo de identidad.

userAssignedIdentity

string

El identificador de recurso de Azure completo de una identidad administrada asignada por el usuario normalmente con el formato "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" que se debe haber asignado al servicio de búsqueda.

SearchResourceEncryptionKey

Una clave de cifrado administrada por el cliente en Azure Key Vault. Las claves que cree y administre se pueden usar para cifrar o descifrar datos en reposo, como índices y mapas de sinónimos.

Nombre Tipo Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Credenciales opcionales de Azure Active Directory usadas para acceder a azure Key Vault. No es necesario si se usa la identidad administrada en su lugar.

identity SearchIndexerDataIdentity:

Una identidad administrada explícita que se va a usar para esta clave de cifrado. Si no se especifica y la propiedad de credenciales de acceso es null, se usa la identidad administrada asignada por el sistema. Al actualizar al recurso, si no se especifica la identidad explícita, permanece sin cambios. Si se especifica "none", se borra el valor de esta propiedad.

keyVaultKeyName

string

Nombre de la clave de Azure Key Vault que se usará para cifrar los datos en reposo.

keyVaultKeyVersion

string

La versión de la clave de Azure Key Vault que se usará para cifrar los datos en reposo.

keyVaultUri

string

El URI de azure Key Vault, también denominado nombre DNS, que contiene la clave que se va a usar para cifrar los datos en reposo. Un identificador URI de ejemplo podría ser https://my-keyvault-name.vault.azure.net.

SoftDeleteColumnDeletionDetectionPolicy

Define una directiva de detección de eliminación de datos que implementa una estrategia de eliminación temporal. Determina si se debe eliminar un elemento en función del valor de una columna designada "eliminación temporal".

Nombre Tipo Description
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Fragmento de URI que especifica el tipo de directiva de detección de eliminación de datos.

softDeleteColumnName

string

Nombre de la columna que se va a usar para la detección de eliminación temporal.

softDeleteMarkerValue

string

Valor de marcador que identifica un elemento como eliminado.

SqlIntegratedChangeTrackingPolicy

Define una directiva de detección de cambios de datos que captura los cambios mediante la característica integrada de Change Tracking de Azure SQL Database.

Nombre Tipo Description
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Fragmento de URI que especifica el tipo de directiva de detección de cambios de datos.