Data Sources - Create Or Update
Crea una nueva fuente de datos o actualiza una fuente de datos si ya existe.
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2025-09-01
Parámetros de identificador URI
| Nombre | En | Requerido | Tipo | Description |
|---|---|---|---|---|
|
data
|
path | True |
string |
El nombre de la fuente de datos que se va a crear o actualizar. |
|
endpoint
|
path | True |
string |
La dirección URL del punto de conexión del servicio de búsqueda. |
|
api-version
|
query | True |
string |
Versión de api de cliente. |
Encabezado de la solicitud
| Nombre | Requerido | Tipo | Description |
|---|---|---|---|
| x-ms-client-request-id |
string (uuid) |
El identificador de seguimiento enviado con la solicitud para ayudar con la depuración. |
|
| If-Match |
string |
Define la condición If-Match. La operación se realizará solo si la ETag en el servidor coincide con este valor. |
|
| If-None-Match |
string |
Define la condición If-None-Match. La operación se realizará solo si la ETag en el servidor no coincide con este valor. |
|
| Prefer | True |
string |
Para las solicitudes HTTP PUT, indica al servicio que devuelva el recurso creado/actualizado en caso de éxito. |
Cuerpo de la solicitud
| Nombre | Requerido | Tipo | Description |
|---|---|---|---|
| container | True |
El contenedor de datos para el origen de datos. |
|
| credentials | True |
Credenciales para el origen de datos. |
|
| name | True |
string |
El nombre de la fuente de datos. |
| type | True |
El tipo de origen de datos. |
|
| @odata.etag |
string |
ETag del origen de datos. |
|
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
La política de detección de cambios de datos para el origen de datos. |
|
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
La política de detección de eliminación de datos para el origen de datos. |
|
| description |
string |
La descripción de la fuente de datos. |
|
| encryptionKey |
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 una garantía total de que nadie, ni siquiera Microsoft, puede descifrar la definición del origen de datos. Una vez que haya cifrado la definición de la fuente de datos, siempre permanecerá cifrada. 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 su clave de cifrado; La definición de la fuente 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 pagos creados a partir del 1 de enero de 2019. |
Respuestas
| Nombre | Tipo | Description |
|---|---|---|
| 200 OK | ||
| 201 Created | ||
| Other Status Codes |
Respuesta de error. |
Ejemplos
SearchServiceCreateOrUpdateDataSource
Solicitud de ejemplo
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"
}
Respuesta de muestra
{
"@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"
}
}
Definiciones
| Nombre | Description |
|---|---|
|
Azure |
Credenciales de una aplicación registrada creada para el servicio de búsqueda, usadas para el acceso autenticado a las claves de cifrado almacenadas en Azure Key Vault. |
|
Data |
Representa las credenciales que se pueden usar para conectarse a un origen de datos. |
|
Error |
Información adicional sobre el error de administración de recursos. |
|
Error |
Detalle del error. |
|
Error |
Respuesta de error |
|
High |
Define una directiva de detección de cambios de datos que captura los cambios en función del valor de una columna de límite superior. |
|
Search |
Representa información sobre la entidad (como la tabla de Azure SQL o la colección de CosmosDB) que se indexará. |
|
Search |
Representa una definición de origen de datos, que se puede usar para configurar un indexador. |
|
Search |
Define el tipo de origen de datos. |
|
Search |
Una clave de cifrado administrada por el cliente en Azure Key Vault. Las claves que crea y administra se pueden usar para cifrar o descifrar datos en reposo, como índices y mapas de sinónimos. |
|
Soft |
Define una directiva de detección de eliminación de datos que implementa una estrategia de eliminación temporal. Determina si un elemento debe eliminarse en función del valor de una columna de "eliminación temporal" designada. |
|
Sql |
Define una directiva de detección de cambios de datos que captura los cambios mediante la característica de seguimiento de cambios integrado de Azure SQL Database. |
AzureActiveDirectoryApplicationCredentials
Credenciales de una aplicación registrada creada para el servicio de búsqueda, usadas para el acceso autenticado a las claves de cifrado almacenadas en Azure Key Vault.
| Nombre | Tipo | Description |
|---|---|---|
| applicationId |
string |
Un identificador de aplicación de AAD al que se concedieron los permisos de acceso necesarios a Azure Key Vault que se usará al cifrar los datos en reposo. El identificador de aplicación no debe confundirse con el identificador 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 se pueden usar para conectarse a un origen de datos.
| Nombre | Tipo | Description |
|---|---|---|
| connectionString |
string |
Cadena de conexión del origen de datos. Para Azure SQL, Azure Blob, ADLS Gen 2 y Azure Table, esta sería la cadena de conexión o el identificador de recurso si se usa la identidad administrada. Para CosmosDB, se trataría de una cadena de conexión con formato que especifica ApiKind o el identificador de recurso para la identidad administrada. Para los archivos de Onelake, la cadena de conexión sería el GUID del área de trabajo o el FQDN del área de trabajo; Onelake solo admite conexiones de identidad administradas. Establézcalo en |
ErrorAdditionalInfo
Información adicional sobre el error de administración de recursos.
| Nombre | Tipo | Description |
|---|---|---|
| info |
object |
Información adicional. |
| type |
string |
Tipo de información adicional. |
ErrorDetail
Detalle del error.
| Nombre | Tipo | Description |
|---|---|---|
| additionalInfo |
Información adicional del error. |
|
| code |
string |
Código de error. |
| details |
Detalles del error. |
|
| message |
string |
El mensaje de error. |
| target |
string |
Destino del error. |
ErrorResponse
Respuesta de error
| Nombre | Tipo | Description |
|---|---|---|
| error |
Objeto de error. |
HighWaterMarkChangeDetectionPolicy
Define una directiva de detección de cambios de datos que captura los cambios en función del valor de una columna de límite superior.
| Nombre | Tipo | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Un fragmento de URI que especifica el tipo de política de detección de cambios de datos. |
| highWaterMarkColumnName |
string |
El nombre de la columna de marca de límite superior. |
SearchIndexerDataContainer
Representa información sobre la entidad (como la tabla de Azure SQL o la colección de CosmosDB) que se indexará.
| Nombre | Tipo | Description |
|---|---|---|
| name |
string |
Nombre de la tabla o vista (para el origen de datos de Azure SQL), la colección (para el origen de datos de CosmosDB), el contenedor (para los orígenes de datos de Azure Blob y ADLS Gen 2), la tabla de Azure (para el origen de datos de Azure Table) o el lakehouse (para el origen de datos de Onelake) que se indexará. |
| query |
string |
Consulta que se aplica a este contenedor de datos. Para CosmosDB, la consulta del origen de datos puede aplanar y filtrar datos. Para Azure Blob y ADLS Gen 2, la consulta puede filtrar por carpetas. Para la consulta de tabla de Azure, se puede filtrar por datos de fila. Para Onelake, la consulta puede filtrar por carpeta o acceso directo. No es compatible con los orígenes de datos de Azure SQL. |
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 |
El contenedor de datos para el origen de datos. |
|
| credentials |
Credenciales para el origen de datos. |
|
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
La política de detección de cambios de datos para el origen de datos. |
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
La política de detección de eliminación de datos para el origen de datos. |
| description |
string |
La descripción de la fuente de datos. |
| encryptionKey |
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 una garantía total de que nadie, ni siquiera Microsoft, puede descifrar la definición del origen de datos. Una vez que haya cifrado la definición de la fuente de datos, siempre permanecerá cifrada. 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 su clave de cifrado; La definición de la fuente 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 pagos creados a partir del 1 de enero de 2019. |
|
| name |
string |
El nombre de la fuente de datos. |
| type |
El tipo de origen de datos. |
SearchIndexerDataSourceType
Define el tipo de origen de datos.
| Valor | Description |
|---|---|
| azuresql |
Definición de un origen de datos de Azure SQL cuyas credenciales pueden ser una cadena de conexión SQL estándar o el ResourceId del recurso SQL. La propiedad container hace referencia a la tabla o vista que se va a indexar. El parámetro de consulta no es compatible con este origen de datos. |
| cosmosdb |
Definición de un origen de datos de CosmosDB cuyas credenciales pueden ser una cadena de conexión con formato que contenga detalles de AccountEndpoint, AccountKey y Database para una conexión basada en claves o detalles de ResourceID y ApiKind para una conexión sin clave. La propiedad container hace referencia a la colección cosmosdb que se va a indexar y la propiedad de consulta opcional hace referencia a una consulta SQL en la colección. |
| azureblob |
Definición de un origen de datos de Azure Blob cuyas credenciales pueden ser una cadena de conexión de almacenamiento o el ResourceId de la cuenta de almacenamiento. La propiedad container hace referencia al contenedor de blobs que se va a indexar y la propiedad de consulta opcional hace referencia a una subcarpeta específica del contenedor. |
| azuretable |
Definición de un origen de datos de tabla de Azure cuyas credenciales pueden ser una cadena de conexión de tabla o el ResourceId de la cuenta de almacenamiento. La propiedad container hace referencia al contenedor de blobs que se va a indexar y la propiedad de consulta opcional se puede usar para filtrar filas. |
| mysql |
Definición de un origen de datos de Azure SQL cuyas credenciales pueden ser una cadena de conexión SQL estándar ADO.NET con formato o el ResourceId del recurso SQL. La propiedad container hace referencia a la tabla o vista que se va a indexar. El parámetro de consulta no es compatible con este origen de datos. |
| adlsgen2 |
Definición de un origen de datos de Azure ADLS Gen 2 cuyas credenciales pueden ser una cadena de conexión de almacenamiento o el ResourceId de la cuenta de almacenamiento. La propiedad container hace referencia al contenedor de blobs que se va a indexar y la propiedad de consulta opcional hace referencia a una subcarpeta específica del contenedor. |
| onelake |
Definición de un origen de datos de Microsoft Fabric Onelake cuyas credenciales pueden ser el GUID del área de trabajo de Fabric o un FQDN del área de trabajo. La propiedad container hace referencia al GUID de lakehouse y la propiedad de consulta opcional hace referencia a carpetas o accesos directos en lakehouse. |
SearchResourceEncryptionKey
Una clave de cifrado administrada por el cliente en Azure Key Vault. Las claves que crea y administra se pueden usar para cifrar o descifrar datos en reposo, como índices y mapas de sinónimos.
| Nombre | Tipo | Description |
|---|---|---|
| accessCredentials |
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. |
|
| 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 conocido como nombre DNS, que contiene la clave que se usará para cifrar los datos en reposo. Un ejemplo de URI podría ser |
SoftDeleteColumnDeletionDetectionPolicy
Define una directiva de detección de eliminación de datos que implementa una estrategia de eliminación temporal. Determina si un elemento debe eliminarse en función del valor de una columna de "eliminación temporal" designada.
| Nombre | Tipo | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Un fragmento de URI que especifica el tipo de directiva de detección de eliminación de datos. |
| softDeleteColumnName |
string |
El 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 de seguimiento de cambios integrado de Azure SQL Database.
| Nombre | Tipo | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Un fragmento de URI que especifica el tipo de política de detección de cambios de datos. |