Creación de indexador (API REST de Azure AI Search)
Un indexador automatiza la indexación de orígenes de datos de Azure admitidos, como Azure Storage, Azure SQL Database y Azure Cosmos DB, por nombrar algunos. Los indexadores usan un origen de datos y un índice predefinidos para establecer una canalización de indexación que extrae y serializa los datos de origen y los pasa a un servicio de búsqueda para la ingesta de datos. En el caso del enriquecimiento con ia de la imagen y el texto no estructurado, los indizadores también pueden aceptar un conjunto de aptitudes que defina el procesamiento de inteligencia artificial.
La creación de un indexador la agrega al servicio de búsqueda y la ejecuta. Si la solicitud se realiza correctamente, el índice se rellena con contenido que se puede buscar desde el origen de datos.
Puede usar POST o PUT en la solicitud. Para cualquiera de ellos, el documento JSON del cuerpo de la solicitud proporciona la definición de objeto.
POST https://[service name].search.windows.net/indexers?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
Como alternativa, puede usar PUT y especificar el nombre del indizador en el URI.
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
HTTPS es necesario para todas las solicitudes de servicio. Si el indexador no existe, se crea. Si ya existe, se actualiza a la nueva definición, pero debe emitir una solicitud Run Indexer si desea ejecutar el indexador.
La configuración del indexador varía en función del tipo de origen de datos. Para obtener una guía específica de la plataforma de datos sobre cómo crear indizadores, comience con la introducción a los indizadores, que incluye la lista completa de artículos relacionados.
Parámetros de identificador URI
Parámetro | Descripción |
---|---|
nombre del servicio | Necesario. Establézcalo en el nombre único definido por el usuario del servicio de búsqueda. |
nombre del indexador | Obligatorio en el URI si usa PUT. El nombre debe estar en minúsculas, comenzar con una letra o un número, no tener barras diagonales ni puntos y tener menos de 128 caracteres. el nombre debe comenzar con una letra o un número, pero el resto del nombre puede incluir cualquier letra, número y guiones, siempre y cuando los guiones no sean consecutivos. |
api-version | Necesario. Consulte Versiones de API para obtener una lista de las versiones admitidas. |
Encabezados de solicitud
En la siguiente tabla se describen los encabezados de solicitud obligatorios y opcionales.
Campos | Descripción |
---|---|
Content-Type | Necesario. Establézcalo en application/json |
api-key | Opcional si usa roles de Azure y se proporciona un token de portador en la solicitud; de lo contrario, se requiere una clave. Las solicitudes de creación deben incluir un api-key encabezado establecido en la clave de administración (en lugar de una clave de consulta). Consulte Conexión a Azure AI Search mediante la autenticación de claves para más información. |
Cuerpo de la solicitud
Un origen de datos, un índice y un conjunto de aptitudes forman parte de la definición de un indexador, pero cada uno de ellos es un componente independiente que se puede usar en diferentes combinaciones. Por ejemplo, puede usar el mismo origen de datos con varios indexadores, o el mismo índice con varios indexadores, o escribir varios indexadores en un índice único.
El siguiente JSON es una representación de alto nivel de las partes principales de la definición.
{
"name" : (optional on PUT; required on POST) "Name of the indexer",
"description" : (optional) "Anything you want, or nothing at all",
"dataSourceName" : (required) "Name of an existing data source",
"targetIndexName" : (required) "Name of an existing index",
"skillsetName" : (required for AI enrichment) "Name of an existing skillset",
"disabled" : (optional) Boolean value indicating whether the indexer is disabled. False by default,
"schedule" : (optional but runs once immediately if unspecified) { ... },
"parameters": { (optional)
"batchSize": null,
"maxFailedItems": 0,
"maxFailedItemsPerBatch": 0,
"base64EncodeKeys": null,
"configuration": { (optional, mostly specific to the data source)
"executionEnvironment": null
}
},
"fieldMappings" : (optional) { ... },
"outputFieldMappings" : (required for AI enrichment) { ... },
"encryptionKey":(optional) { }
}
La solicitud contiene las siguientes propiedades:
Propiedad | Descripción |
---|---|
name | Necesario. El nombre debe estar en minúsculas, comenzar con una letra o un número, no tener barras diagonales ni puntos y tener menos de 128 caracteres. El nombre debe comenzar con una letra o un número, pero el resto del nombre puede incluir cualquier letra, número y guiones, siempre y cuando los guiones no sean consecutivos. |
dataSourceName | Necesario. Nombre de un origen de datos existente. A menudo incluye propiedades que un indexador puede usar para aprovechar las características de la plataforma de origen. Por lo tanto, el origen de datos que se pasa al indexador determina la disponibilidad de determinadas propiedades y parámetros, como el filtrado de tipos de contenido en blobs de Azure. o tiempo de espera de consulta para Azure SQL Database. |
targetIndexName | Necesario. Nombre de un esquema de índice existente. Define la colección de campos que contiene funciones de búsqueda, filtrables, recuperables y otras atribuciónes que determinan cómo se usa el campo. Durante la indexación, el indexador rastrea el origen de datos, accede a los documentos y extrae información de forma opcional, serializa los resultados a JSON e indexa la carga según el esquema definido para el índice. |
skillsetName | Se requiere para el enriquecimiento con IA. Nombre de un conjunto de aptitudes existente, uno por indizador. Al igual que con los orígenes de datos y los índices, un conjunto de aptitudes es una definición independiente que se adjunta a un indexador. Puede reutilizar un conjunto de aptitudes con otros indexadores, pero cada indexador solo puede usar un conjunto de aptitudes a la vez. |
schedule | Opcional, pero se ejecuta una vez inmediatamente si no se especifica y no está deshabilitada. Una programación contiene interval (obligatorio) y startTime (opcional). Para obtener más información, consulte Programación de un indexador.
interval especifica la frecuencia con la que se ejecuta el indexador. El intervalo mínimo permitido es de cinco minutos y el máximo de un día. Debe tener el formato de un valor "dayTimeDuration" XSD (subconjunto restringido de un valor de duración ISO 8601 ). El patrón para esto es: Ejemplos: "P[nD][T[nH][nM]]". PT15M por cada 15 minutos, PT2H por cada 2 horas.
startTime es una fecha y hora UTC cuando el indexador debe empezar a ejecutarse. |
deshabilitado | Opcional. Valor booleano que indica si el indexador está deshabilitado. Establezca esta propiedad si desea crear una definición de indexador sin ejecutarla inmediatamente. El valor predeterminado es false. |
parámetros | Opcional. Propiedades para modificar el comportamiento en tiempo de ejecución.
"batchSize" (entero). Especifica el número de elementos que se leen desde el origen de datos y se indexan como un único lote para mejorar el rendimiento. El valor predeterminado es específico del origen (1000 para Azure SQL Database y Azure Cosmos DB, 10 para Azure Blob Storage).
"maxFailedItems" (entero). Especifica el número de errores que se tolerarán antes de que una ejecución de indexador se considere un error. El valor predeterminado es 0. Se establece en -1 si no quiere que los errores detengan el proceso de indización. Use Get Indexer Status (Obtener estado del indexador ) para recuperar información sobre los documentos con errores.
"maxFailedItemsPerBatch" (entero). Especifica el número de errores que se tolerarán en cada lote antes de que una ejecución de indexador se considere un error. El valor predeterminado es 0. Se establece en -1 si no quiere que los errores detengan el proceso de indización.
"base64EncodeKey" (Boolean). Especifica si se deben codificar las claves de documento que contienen caracteres no válidos.
"configuration" . Propiedades que varían en función del origen de datos.
"executionEnvironment" (cadena). Invalida el entorno de ejecución elegido por los procesos internos del sistema. Es necesario establecer explícitamente el entorno Private de ejecución en si los indexadores acceden a recursos externos a través de conexiones de punto de conexión privado. Esta configuración está en "configuration" . En el caso de la ingesta de datos, esta configuración solo es válida para los servicios que se aprovisionan como Básico o Estándar (S1, S2, S3). En el caso del procesamiento de contenido de enriquecimiento con IA, esta configuración solo es válida para S2 y S3. Los valores válidos no distinguen mayúsculas de minúsculas y constan de [null o no especificado], Standard (valor predeterminado) o Private . |
fieldMappings | Opcional. Asocia explícitamente un campo de origen a un campo de destino en el índice de búsqueda. Se usa cuando los campos de origen y destino tienen nombres o tipos diferentes, o cuando se desea especificar una función. Una fieldMappings sección incluye sourceFieldName (obligatorio, un campo en el origen de datos subyacente), targetFieldName (obligatorio, un campo en un índice) y un opcional mappingFunction para la codificación de salida. Puede encontrar una lista de funciones y ejemplos admitidos en funciones de asignación de campos. Para obtener más información general, consulte Asignaciones de campos y transformaciones. |
outputFieldMappings | Necesario para una canalización de enriquecimiento. Asigna la salida de un conjunto de aptitudes a un índice o proyección. Una outputFieldMappings sección incluye sourceFieldName (obligatorio, un nodo en un árbol de enriquecimiento), targetFieldName (obligatorio, un campo en un índice) y un opcional mappingFunction para la codificación de salida. Puede encontrar una lista de funciones y ejemplos admitidos en funciones de asignación de campos. Para obtener más información general, consulte Asignación de campos de salida de un conjunto de aptitudes. |
claveDeCifrado | Opcional. Se usa para cifrar una definición de indexador en reposo con sus propias claves, administradas en azure Key Vault. Disponible para los servicios de búsqueda facturables creados en o después de 2019-01-01.
Una encryptionKey sección contiene un elemento definido por keyVaultKeyName el usuario (obligatorio), un generado keyVaultKeyVersion por el sistema (obligatorio) y un elemento que keyVaultUri proporciona la clave (obligatorio, también denominado nombre DNS). Un URI de ejemplo podría ser "https://my-keyvault-name.vault.azure.net".
Opcionalmente, puede especificar accessCredentials si no usa una identidad de sistema administrada. Las propiedades de accessCredentials incluyen applicationId (Microsoft Entra ID identificador de aplicación al que se concedieron permisos de acceso a la Key Vault de Azure especificada) y applicationSecret (clave de autenticación de la aplicación registrada). Un ejemplo de la sección siguiente ilustra la sintaxis. |
Parámetros de configuración de blobs
Varios parámetros son exclusivos de un indexador determinado, como la indexación de blobs de Azure.
Parámetro | Tipos y valores permitidos | Uso |
---|---|---|
"parsingMode" |
String"text" "delimitedText" "json" "jsonArray" "jsonLines" |
En los blobs de Azure, se establece en text para mejorar el rendimiento de la indexación de los archivos de texto sin formato en Blob Storage. En los blobs de CSV, se establece en delimitedText cuando los blobs son archivos sin formato de CSV. En el caso de los blobs JSON, establezca en json para extraer contenido estructurado o para jsonArray extraer elementos individuales de una matriz como documentos independientes en Azure AI Search. Use jsonLines para extraer entidades JSON individuales, separadas por una nueva línea, como documentos independientes en Azure AI Search. |
"excludedFileNameExtensions" |
String Lista delimitada por comas definidas por el usuario |
En los blobs de Azure, ignore los tipos de archivo de la lista. Por ejemplo, puede excluir ".png, .png,. mp4" para omitir esos archivos durante la indexación. |
"indexedFileNameExtensions" |
String Lista delimitada por comas definidas por el usuario |
En los blobs de Azure, selecciona los blobs si la extensión de archivo está en la lista. Por ejemplo, puede enfocar la indexación en archivos de aplicaciones específicos como ".docx, .pptx y .msg", para incluir específicamente esos tipos de archivo. |
"failOnUnsupportedContentType" |
Boolean true False (valor predeterminado) |
En los blobs de Azure, establezca false si quiere continuar con la indexación cuando se encuentre un tipo de contenido no admitido y no conoce todos los tipos de contenido (extensiones de archivos) de antemano. |
"failOnUnprocessableDocument" |
Boolean true False (valor predeterminado) |
En los blobs de Azure, establezca false si quiere seguir con la indexación si un documento no puede realizar este proceso de indexación. |
"indexStorageMetadataOnly ForOversizedDocuments" |
Boolean true False (valor predeterminado) |
En los blobs de Azure, establezca esta propiedad en true para seguir indexando los metadatos de almacenamiento del contenido de blob que sea demasiado grande para procesar. Los blobs demasiado grandes se tratan como errores de forma predeterminada. Para conocer los límites en el tamaño del blob, consulte Límites de servicio. |
"delimitedTextHeaders" |
String Lista delimitada por comas definidas por el usuario |
En el caso de los blobs CSV, especifica una lista delimitada por comas de encabezados de columna, útil para asignar campos de origen a campos de destino en un índice. |
"delimitedTextDelimiter" |
String carácter individual definidas por el usuario |
En el caso de los blobs CSV, especifica el delimitador de fin de línea para los archivos CSV donde cada línea inicia un nuevo documento (por ejemplo, "|" ). |
"firstLineContainsHeaders" |
Boolean true (opción predeterminada) false |
En el caso de los blobs CSV, indica que la primera línea (no en blanco) de cada blob contiene encabezados. |
"documentRoot" |
String ruta de acceso definida por el usuario |
En el caso de las matrices JSON, dado un documento estructurado o semiestructurado, puede especificar una ruta de acceso a la matriz mediante esta propiedad. |
"dataToExtract" |
String"storageMetadata" "allMetadata" "contentAndMetadata" (valor predeterminado) |
En los blobs de Azure: Se establece en "storageMetadata" para indexar solamente las propiedades de blob estándar y los metadatos que especificó el usuario. Se establece en "allMetadata" para extraer los metadatos que proporciona el subsistema de almacenamiento de blobs de Azure y los metadatos específicos del tipo de contenido (por ejemplo, metadatos únicos de archivos .png) que se indexa. Se establece en "contentAndMetadata" para extraer todos los metadatos y el contenido textual de cada blob. Para el análisis de imágenes en el enriquecimiento con IA, cuando "imageAction" se establece en un valor distinto "none" de , la "dataToExtract" configuración indica al indexador qué datos extraer del contenido de la imagen. Se aplica al contenido de imágenes insertadas en un .PDF u otra aplicación, o en archivos de imagen como .jpg y .png, de los blobs de Azure. |
"imageAction" |
String"none" "generateNormalizedImages" "generateNormalizedImagePerPage" |
En los blobs de Azure, se establece en "none" para ignorar las imágenes insertadas o los archivos de imagen del conjunto de datos. Este es el valor predeterminado. Para el análisis de imágenes en el enriquecimiento con IA, establezca en "generateNormalizedImages" para extraer texto de imágenes (por ejemplo, la palabra "stop" de un signo de detención de tráfico) e insertarlo como parte del campo de contenido. Durante el análisis de imágenes, el indexador crea una matriz de imágenes normalizadas como parte del descifrado de documentos e inserta la información generada en el campo de contenido. Esta acción requiere que "dataToExtract" se configure en "contentAndMetadata" . Una imagen normalizada hace referencia a un procesamiento adicional que crea una imagen de salida uniforme, dimensionada y rotada para facilitar una representación consistente cuando se incluyen imágenes en resultados de búsqueda visuales (por ejemplo, fotografías del mismo tamaño en un control de gráficos, tal como se ve en la demostración JFK). Esta información se genera para cada imagen cuando se usa esta opción. Si se establece en "generateNormalizedImagePerPage" , los archivos PDF se tratarán de manera diferente. En lugar de extraer las imágenes insertadas, cada página se representará como una imagen y se normalizará en consecuencia. Se espera que este proceso por página tarde mucho más que "generateNormalizedImages" . Los tipos de archivo que no son PDF se tratarán igual que si se hubiera establecido "generateNormalizedImages" . Establecer la "imageAction" configuración en cualquier valor distinto "none" de requiere que un conjunto de aptitudes también se adjunte a ese indexador y pueda ser un proceso de bajo rendimiento por diseño. |
"normalizedImageMaxWidth" "normalizedImageMaxHeight" |
Cualquier entero comprendido entre 50 y 10 000 | Ancho o alto máximo (en píxeles) respectivamente para las imágenes normalizadas generadas cuando se establece ."imageAction" El valor predeterminado es 2000. El valor predeterminado es de 2000 píxeles para el ancho máximo de las imágenes normalizadas, y la altura se basa en los tamaños máximos admitidos por la habilidad de OCR y la habilidad de análisis de imágenes. La aptitud de OCR admite un ancho y un alto máximos de 4200 para los idiomas distintos del inglés y 10 000 para el inglés. Si aumenta los límites máximos, el procesamiento podría generar un error en imágenes de mayor tamaño en función de la definición del conjunto de aptitudes y del idioma de los documentos. |
"allowSkillsetToReadFileData" |
Boolean true False (valor predeterminado) |
Al establecer el "allowSkillsetToReadFileData" parámetro en true , se creará una ruta de acceso /document/file_data que representa los datos de archivo originales descargados del origen de datos del blob. Esto le permite pasar los datos de archivo originales a una aptitud personalizada para su procesamiento dentro de la canalización de enriquecimiento o a la aptitud Extracción de documentos. El objeto generado se definirá de la siguiente manera: { "$type": "file", "data": "BASE64 encoded string of the file" } Establecer el "allowSkillsetToReadFileData" parámetro true en requiere que se adjunte un conjunto de aptitudes a ese indexador y que el "parsingMode" parámetro esté establecido en "default" o "text" "json" . |
"pdfTextRotationAlgorithm" |
String"none" (valor predeterminado)"detectAngles" |
Establecer el "pdfTextRotationAlgorithm" parámetro "detectAngles" en podría ayudar a producir una extracción de texto mejor y más legible de los archivos PDF que han girado texto dentro de ellos. Tenga en cuenta que puede haber una pequeña penalización de rendimiento cuando se usa este parámetro. Este parámetro solo se aplica a archivos PDF y solo a archivos PDF con texto incrustado. Si el texto girado aparece dentro de una imagen insertada en el PDF, este parámetro no se aplica.Establecer el "pdfTextRotationAlgorithm" parámetro "detectAngles" en requiere que el "parsingMode" parámetro esté establecido en "default" . |
Parámetros de configuración de Azure Cosmos DB
Los parámetros siguientes son específicos de los indizadores de Cosmos DB.
Parámetro | Tipos y valores permitidos | Uso |
---|---|---|
"assumeOrderByHighWaterMarkColumn" |
Boolean | En el caso de los indexadores de Cosmos DB con SQL API, establezca este parámetro para proporcionar una sugerencia a Cosmos DB que la consulta usada para devolver documentos para la indexación está ordenada de hecho por la _ts columna. Establecer este parámetro proporciona mejores resultados para escenarios de indexación incremental. |
parámetros de configuración de Azure SQL
Los siguientes parámetros son específicos de Azure SQL Database.
Parámetro | Tipos y valores permitidos | Uso |
---|---|---|
"queryTimeout" |
String "hh:mm:ss" "00:05:00" |
En Azure SQL Database, establezca este parámetro para aumentar el tiempo de espera predeterminado de 5 minutos. |
"convertHighWaterMarkToRowVersion" |
Boolean | Establezca este parámetro en "true" para usar el tipo de datos rowversion para la columna de marca de agua alta. Cuando esta propiedad se establece en true, el indexador resta uno del valor rowversion antes de que se ejecute el indexador. Esto se debe a que las vistas con combinaciones de uno a varios pueden tener filas con valores de rowversion duplicados. Restar 1 garantiza que la consulta de indexador no pierde estas filas. |
"disableOrderByHighWaterMarkColumn" |
Boolean | Establezca este parámetro en "true" si desea deshabilitar el comportamiento ORDER BY en la consulta utilizada para la detección de cambios. Si usa la directiva de detección de cambios de marca de agua alta, el indexador usa cláusulas WHERE y ORDER BY para realizar un seguimiento de las filas que necesitan indexación (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column] ). Este parámetro deshabilita el comportamiento ORDER BY. La indexación finalizará más rápido, pero el equilibrio es que si el indexador se interrumpe por cualquier motivo, todo el trabajo del indexador debe repetirse en su totalidad. |
Response
Para obtener una solicitud correcta: "201 Creado".
Ejemplos
Ejemplo: Indexador con parámetros genéricos y de programación
Crea un indexador que copia datos de la tabla a la que hace referencia el ordersds
origen de datos al orders
índice según una programación que comienza el 1 de enero de 2021 UTC y se ejecuta cada hora. Cada invocación de indexador se realizará correctamente si no se logra indexar más de cinco elementos en cada lote y no más de 10 elementos en total.
{
"name" : "myindexer",
"description" : "a cool indexer",
"dataSourceName" : "ordersds",
"targetIndexName" : "orders",
"schedule" : { "interval" : "PT1H", "startTime" : "2021-01-01T00:00:00Z" },
"parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }
}
Nota
Si un indexador se establece en una programación determinada pero se produce repetidamente un error en el mismo documento una y otra vez cada vez se ejecuta, el indexador comenzará a ejecutarse en un intervalo menos frecuente (hasta un máximo de al menos una vez cada 24 horas) hasta que vuelva a avanzar correctamente. Si cree que ha corregido el problema que provocaba que el indizador se bloqueara en un momento determinado, puede realizar un restablecimiento, seguido de una ejecución a petición, del indexador y, si eso progresa correctamente, el indexador volverá a su intervalo de programación establecido de nuevo.
Ejemplo: Indexador con parámetros de blob
De forma opcional, un indexador puede usar parámetros de configuración que modifiquen el comportamiento del tiempo de ejecución. Los parámetros de configuración están delimitados por comas en la solicitud del indexador y son específicos de un tipo de origen de datos. Los siguientes parámetros de configuración proporcionan instrucciones que se usan para indexar blobs.
{
"name" : "my-blob-indexer-for-cognitive-search",
... other indexer properties
"parameters" :
{
"maxFailedItems" : "15",
"batchSize" : "100",
"configuration" :
{
"parsingMode" : "json",
"indexedFileNameExtensions" : ".json, .jpg, .png",
"imageAction" : "generateNormalizedImages",
"dataToExtract" : "contentAndMetadata" ,
"executionEnvironment": "Standard"
}
}
}
Ejemplo: Indexador con asignaciones de campos
Asigne el campo _id
de una tabla de origen a un "id"
campo de un índice de búsqueda. Azure AI Search no permite que un nombre de campo comience con un carácter de subrayado. Una asignación de campos puede resolver discrepancias de nombres. Los nombres de campo de origen y destino no distinguen entre mayúsculas y minúsculas. Para más información, consulte el artículo sobre transformaciones y asignaciones de campos.
"fieldMappings" : [
{ "sourceFieldName" : "_id", "targetFieldName" : "id" },
{ "sourceFieldName" : "_timestamp", "targetFieldName" : "timestamp" }
]
Ejemplo: Indexador con enriquecimiento con IA
Muestra un enriquecimiento con IA, indicado por la referencia a y skillset
outputFieldMappings
. Los conjuntos de aptitudes son recursos de alto nivel y se definen por separado. Este ejemplo es una abreviatura de la definición del indexador en el tutorial de enriquecimiento con IA.
{
"name":"demoindexer",
"dataSourceName" : "demodata",
"targetIndexName" : "demoindex",
"skillsetName" : "demoskillset",
"fieldMappings" : [
{
"sourceFieldName" : "content",
"targetFieldName" : "content"
}
],
"outputFieldMappings" :
[
{
"sourceFieldName" : "/document/organizations",
"targetFieldName" : "organizations"
},
],
"parameters":
{
"maxFailedItems":-1,
"configuration":
{
"dataToExtract": "contentAndMetadata",
"imageAction": "generateNormalizedImages"
}
}
}
Ejemplo: Indexador con asignaciones de campos de salida y conjunto de aptitudes
En escenarios de enriquecimiento con IA en los que un conjunto de aptitudes está enlazado a un indexador, debe agregar outputFieldMappings
para asociar cualquier salida de un paso de enriquecimiento que proporcione contenido a un campo que se pueda buscar en el índice.
sourceFieldName
es un nodo de un árbol de enriquecimiento. Puede ser una estructura compuesta creada durante el enriquecimiento de dos campos independientes en el documento de origen.
targetFieldName
es un campo en un índice de búsqueda. Para obtener más información, consulte Asignación de campos de salida desde un conjunto de aptitudes.
"outputFieldMappings" : [
{
"sourceFieldName" : "/document/organizations",
"targetFieldName" : "organizations"
},
{
"sourceFieldName" : "/document/pages/*/keyPhrases/*",
"targetFieldName" : "keyphrases"
},
{
"sourceFieldName": "/document/languageCode",
"targetFieldName": "language",
"mappingFunction": null
}
]
Ejemplo: Claves de cifrado
Las claves de cifrado son claves administradas por el cliente que se usan para el cifrado adicional. Para más información, consulte Cifrado mediante claves administradas por el cliente en Azure Key Vault.
{
"name" : "myindexer",
"description" : "a cool indexer",
"dataSourceName" : "ordersds",
"targetIndexName" : "orders",
"schedule" : { "interval" : "PT1H", "startTime" : "2021-01-01T00:00:00Z" },
"parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 },
"encryptionKey": (optional) {
"keyVaultKeyName": "Name of the Azure Key Vault key used for encryption",
"keyVaultKeyVersion": "Version of the Azure Key Vault key",
"keyVaultUri": "URI of Azure Key Vault, also referred to as DNS name, that provides the key. An example URI might be https://my-keyvault-name.vault.azure.net",
"accessCredentials": (optional, only if not using managed system identity) {
"applicationId": "Microsoft Entra ID application ID that was granted access permissions to your specified Azure Key Vault",
"applicationSecret": "Authentication key of the registered application)"}
}
}