Compartir a través de


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

SearchIndexerDataContainer

El contenedor de datos para el origen de datos.

credentials True

DataSourceCredentials

Credenciales para el origen de datos.

name True

string

El nombre de la fuente de datos.

type True

SearchIndexerDataSourceType

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:

SoftDeleteColumnDeletionDetectionPolicy

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

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

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

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

DataSourceCredentials

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

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

ErrorDetail

Detalle del error.

ErrorResponse

Respuesta 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.

SearchIndexerDataContainer

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

SearchIndexerDataSource

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

SearchIndexerDataSourceType

Define el tipo de origen de datos.

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.

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.

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.

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 <unchanged> (con corchetes) si no desea que se actualice la cadena de conexión. Establézcalo en <redacted> si desea quitar el valor de la cadena de conexión del origen de datos.

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

ErrorAdditionalInfo[]

Información adicional del error.

code

string

Código de error.

details

ErrorDetail[]

Detalles del error.

message

string

El mensaje de error.

target

string

Destino del error.

ErrorResponse

Respuesta de error

Nombre Tipo Description
error

ErrorDetail

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.Azure.Search.HighWaterMarkChangeDetectionPolicy

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

SearchIndexerDataContainer

El contenedor de datos para el origen de datos.

credentials

DataSourceCredentials

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:

SoftDeleteColumnDeletionDetectionPolicy

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

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

SearchIndexerDataSourceType

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

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.

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 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 un elemento debe eliminarse en función del valor de una columna de "eliminación temporal" designada.

Nombre Tipo Description
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

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.Azure.Search.SqlIntegratedChangeTrackingPolicy

Un fragmento de URI que especifica el tipo de política de detección de cambios de datos.