Criar Indexador (API REST da Pesquisa de IA do Azure)

Um indexador automatiza a indexação a partir de origens de dados do Azure suportadas, como o Armazenamento do Azure, a Base de Dados do SQL do Azure e o Azure Cosmos DB para citar alguns. Os indexadores utilizam uma origem de dados e um índice predefinidos para estabelecer um pipeline de indexação que extrai e serializa os dados de origem, transmitindo-os para um serviço de pesquisa para ingestão de dados. Para melhorar a IA da imagem e do texto não estruturado, os indexadores também podem aceitar um conjunto de competências que define o processamento de IA.

Criar um indexador adiciona-o ao seu serviço de pesquisa e executa-o. Se o pedido for bem-sucedido, o índice é preenchido com conteúdo pesquisável da origem de dados.

Pode utilizar POST ou PUT no pedido. Para qualquer um deles, o documento JSON no corpo do pedido fornece a definição do objeto.

POST https://[service name].search.windows.net/indexers?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]  

Em alternativa, pode utilizar PUT e especificar o nome do indexador no URI.

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]    

O HTTPS é necessário para todos os pedidos de serviço. Se o indexador não existir, será criado. Se já existir, será atualizado para a nova definição, mas terá de emitir um pedido do Run Indexer se quiser executar o indexador.

A configuração do indexador varia consoante o tipo de origem de dados. Para obter orientações específicas da plataforma de dados sobre a criação de indexadores, comece com a Descrição geral dos Indexadores, que inclui a lista completa de artigos relacionados.

Parâmetros do URI

Parâmetro Description
nome do serviço Obrigatório. Defina-o como o nome exclusivo definido pelo utilizador do seu serviço de pesquisa.
nome do indexador Necessário no URI se estiver a utilizar PUT. O nome tem de ser minúsculo, começar com uma letra ou número, não ter barras ou pontos e ter menos de 128 carateres. o nome tem de começar com uma letra ou número, mas o resto do nome pode incluir qualquer letra, número e travessões, desde que os traços não sejam consecutivos.
api-version Obrigatório. Veja Versões da API para obter uma lista de versões suportadas.

Cabeçalhos de Pedido

A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.

Campos Description
Content-Type Obrigatório. Defina esta opção como application/json
api-key Opcional se estiver a utilizar funções do Azure e for fornecido um token de portador no pedido, caso contrário, é necessária uma chave. A opção Criar pedidos tem de incluir um api-key cabeçalho definido para a chave de administrador (em oposição a uma chave de consulta). Veja Connect to Azure AI Search using key authentication (Ligar à Pesquisa de IA do Azure com a autenticação de chaves ) para obter detalhes.

Corpo do Pedido

Uma origem de dados, índice e conjunto de competências fazem parte de uma definição de indexador , mas cada um é um componente independente que pode ser utilizado em combinações diferentes. Por exemplo, pode utilizar a mesma origem de dados com vários indexadores ou o mesmo índice com vários indexadores ou vários indexadores a escrever num único índice.

O seguinte JSON é uma representação de alto nível das partes principais da definição.

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

O pedido contém as seguintes propriedades:

Propriedade Descrição
name Obrigatório. O nome tem de ser minúsculo, começar com uma letra ou número, não ter barras ou pontos e ter menos de 128 carateres. O nome tem de começar com uma letra ou número, mas o resto do nome pode incluir qualquer letra, número e travessões, desde que os traços não sejam consecutivos.
dataSourceName Obrigatório. Nome de uma origem de dados existente. Muitas vezes, inclui propriedades que um indexador pode utilizar para explorar as características da plataforma de origem. Como tal, a origem de dados que transmite ao indexador determina a disponibilidade de determinadas propriedades e parâmetros, como a filtragem do tipo de conteúdo nos blobs do Azure. ou tempo limite de consulta para SQL do Azure Base de Dados.
targetIndexName Obrigatório. Nome de um esquema de índice existente. Define a coleção de campos que contém atribuições pesquisáveis, filtráveis, recuperáveis e outras que determinam a forma como o campo é utilizado. Durante a indexação, o indexador pesquisa a origem de dados, opcionalmente quebra documentos e extrai informações, serializa os resultados para JSON e indexa o payload com base no esquema definido para o índice.
skillsetName Necessário para o melhoramento de IA. Nome de um conjunto de competências existente, um por indexador. Tal como acontece com as origens de dados e os índices, um conjunto de competências é uma definição independente que anexa a um indexador. Pode reutilizar um conjunto de competências com outros indexadores, mas cada indexador só pode utilizar um conjunto de competências de cada vez.
agenda Opcional, mas é executado uma vez imediatamente se não for especificado e não for desativado. Uma agenda contém interval (obrigatório) e startTime (opcional). Para obter mais informações, veja Agendar um indexador.

interval especifica a frequência com que o indexador é executado. O intervalo permitido mais pequeno é de cinco minutos; o mais longo é um dia. Tem de ser formatado como um valor XSD "dayTimeDuration" (um subconjunto restrito de um valor de duração ISO 8601 ). O padrão para isto é: "P[nD][T[nH][nM]]". Exemplos: PT15M por cada 15 minutos, PT2H por cada 2 horas.

startTime é um datetime UTC quando o indexador deve começar a ser executado.
desativado Opcional. Valor booleano que indica se o indexador está desativado. Defina esta propriedade se quiser criar uma definição de indexador sem a executar imediatamente. Falso por predefinição.
parâmetros Opcional. Propriedades para modificar o comportamento do runtime.

"batchSize" (número inteiro). Especifica o número de itens lidos a partir da origem de dados e indexados como um único lote para melhorar o desempenho. A predefinição é específica da origem (1000 para a Base de Dados SQL do Azure e o Azure Cosmos DB, 10 para Armazenamento de Blobs do Azure).

"maxFailedItems" (número inteiro). Especifica o número de erros a tolerar antes de uma execução de indexador ser considerada uma falha. A predefinição é 0. Defina como -1 se não quiser que os erros parem o processo de indexação. Utilize Obter Estado do Indexador para obter informações sobre documentos com falhas.

"maxFailedItemsPerBatch" (número inteiro). Especifica o número de erros a tolerar em cada lote antes de uma execução de indexador ser considerada uma falha. A predefinição é 0. Defina como -1 se não quiser que os erros parem o processo de indexação.

"base64EncodeKey" (Booleano). Especifica se pretende codificar chaves de documento que contenham carateres inválidos.

"configuration". Propriedades que variam com base na origem de dados.

"executionEnvironment" (cadeia). Substitui o ambiente de execução escolhido pelos processos internos do sistema. A definição explícita do ambiente de execução para Private é necessária se os indexadores estiverem a aceder a recursos externos através de ligações de ponto final privado. Esta definição está em "configuration". Para a ingestão de dados, esta definição é válida apenas para serviços que são aprovisionados como Básico ou Standard (S1, S2, S3). Para o processamento de conteúdos de melhoramento de IA, esta definição é válida apenas para S2 e S3. Os valores válidos não são sensíveis a maiúsculas e minúsculas e consistem em [nulo ou não especificado], Standard (predefinição) ou Private.
fieldMappings Opcional. Associa explicitamente um campo de origem a um campo de destino no índice de pesquisa. Utilizado quando os campos de origem e de destino têm nomes ou tipos diferentes ou quando pretende especificar uma função. Uma fieldMappings secção inclui sourceFieldName (obrigatório, um campo na origem de dados subjacente), targetFieldName (obrigatório, um campo num índice) e uma opção mappingFunction para codificar o resultado. Pode encontrar uma lista de funções e exemplos suportados nas funções de mapeamento de campos. Para obter informações mais gerais, veja Mapeamentos de campos e transformações.
outputFieldMappings Necessário para um pipeline de melhoramento. Mapeia a saída de um conjunto de competências para um índice ou projeção. Uma outputFieldMappings secção inclui sourceFieldName (obrigatório, um nó numa árvore de melhoramento), targetFieldName (obrigatório, um campo num índice) e um opcional mappingFunction para codificar saída. Pode encontrar uma lista de funções e exemplos suportados nas funções de mapeamento de campos. Para obter informações mais gerais, veja Como mapear campos de saída a partir de um conjunto de competências.
encryptionKey Opcional. Utilizado para encriptar uma definição de indexador inativo com as suas próprias chaves, geridas no seu Key Vault do Azure. Disponível para serviços de pesquisa faturáveis criados em ou depois de 2019-01-01.

Uma encryptionKey secção contém uma definição do keyVaultKeyName utilizador (necessária), uma gerada pelo keyVaultKeyVersion sistema (necessária) e uma keyVaultUri chave fornecida (necessária, também referida como nome DNS). Um URI de exemplo pode ser "https://my-keyvault-name.vault.azure.net".

Opcionalmente, pode especificar accessCredentials se não está a utilizar uma identidade de sistema gerida. Propriedades de accessCredentials include applicationId (Microsoft Entra ID ID da aplicação a quem foram concedidas permissões de acesso ao seu Key Vault do Azure especificado) e applicationSecret (chave de autenticação da aplicação registada). Um exemplo na secção seguinte ilustra a sintaxe.

Parâmetros de configuração de blobs

Vários parâmetros são exclusivos de um determinado indexador, como a indexação de blobs do Azure.

Parâmetro Escrever e valores permitidos Utilização
"parsingMode" String
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
Para blobs do Azure, defina para text melhorar o desempenho da indexação em ficheiros de texto simples no armazenamento de blobs.
Para blobs CSV, defina como delimitedText quando os blobs são ficheiros CSV simples.
Para blobs JSON, defina para json extrair conteúdo estruturado ou para jsonArray extrair elementos individuais de uma matriz como documentos separados no Azure AI Search. Utilizado jsonLines para extrair entidades JSON individuais, separadas por uma nova linha, como documentos separados no Azure AI Search.
"excludedFileNameExtensions" String
lista delimitada por vírgulas
definido pelo utilizador
Para blobs do Azure, ignore todos os tipos de ficheiro na lista. Por exemplo, pode excluir ".png, .png, .mp4" para ignorar esses ficheiros durante a indexação.
"indexedFileNameExtensions" String
lista delimitada por vírgulas
definido pelo utilizador
Para blobs do Azure, seleciona blobs se a extensão de ficheiro estiver na lista. Por exemplo, pode concentrar a indexação em ficheiros de aplicação específicos ".docx, .pptx, .msg" para incluir especificamente esses tipos de ficheiro.
"failOnUnsupportedContentType" Booleano
true
falso (predefinição)
Para blobs do Azure, defina como false se quiser continuar a indexar quando for encontrado um tipo de conteúdo não suportado e não souber com antecedência todos os tipos de conteúdo (extensões de ficheiro).
"failOnUnprocessableDocument" Booleano
true
falso (predefinição)
Para blobs do Azure, defina como false se quiser continuar a indexação se um documento falhar na indexação.
"indexStorageMetadataOnly
ForOversizedDocuments"
Booleano verdadeiro
falso (predefinição)
Para os blobs do Azure, defina esta propriedade como true para indexar metadados de armazenamento para conteúdos de blobs demasiado grandes para processar. Os blobs de grandes dimensões são tratados como erros por predefinição. Para obter limites no tamanho do blob, veja Limites de Serviço.
"delimitedTextHeaders" String
lista delimitada por vírgulas
definido pelo utilizador
Para blobs CSV, especifica uma lista delimitada por vírgulas de cabeçalhos de coluna, útil para mapear campos de origem para campos de destino num índice.
"delimitedTextDelimiter" String
caráter único
definido pelo utilizador
Para blobs CSV, especifica o delimitador de fim de linha para ficheiros CSV onde cada linha inicia um novo documento (por exemplo, "|").
"firstLineContainsHeaders" Booleano
true (predefinição)
false
Para blobs CSV, indica que a primeira linha (não em branco) de cada blob contém cabeçalhos.
"documentRoot" String
caminho definido pelo utilizador
Para matrizes JSON, tendo em conta um documento estruturado ou semiestruturado, pode especificar um caminho para a matriz com esta propriedade.
"dataToExtract" String
"storageMetadata"
"allMetadata"
"contentAndMetadata" (predefinição)
Para blobs do Azure:
Defina como "storageMetadata" para indexar apenas as propriedades padrão do blob e os metadados especificados pelo utilizador.
Defina como para "allMetadata" extrair metadados fornecidos pelo subsistema de armazenamento de blobs do Azure e os metadados específicos do tipo de conteúdo (por exemplo, metadados exclusivos para apenas .png ficheiros) são indexados.
Defina como "contentAndMetadata" para extrair todos os metadados e conteúdos textuais de cada blob.

Para análise de imagens no melhoramento de IA, quando "imageAction" está definido para um valor diferente de "none", a definição indica ao indexador quais os "dataToExtract" dados a extrair do conteúdo da imagem. Aplica-se a conteúdos de imagens incorporadas numa .PDF ou noutra aplicação ou ficheiros de imagem, como .jpg e .png, em blobs do Azure.
"imageAction" String
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
Para blobs do Azure, defina como"none" ignorar imagens incorporadas ou ficheiros de imagem no conjunto de dados. Esta é a predefinição.

Para análise de imagens no melhoramento de IA, defina para"generateNormalizedImages" extrair texto de imagens (por exemplo, a palavra "parar" a partir de um sinal de Paragem de tráfego) e incorpore-o como parte do campo de conteúdo. Durante a análise de imagens, o indexador cria uma matriz de imagens normalizadas como parte da quebra de documentos e incorpora as informações geradas no campo de conteúdo. Esta ação requer que "dataToExtract" esteja definida como "contentAndMetadata". Uma imagem normalizada refere-se a um processamento adicional que resulta numa saída de imagem uniforme, dimensionada e rodada para promover a composição consistente quando inclui imagens nos resultados da pesquisa visual (por exemplo, fotografias do mesmo tamanho num controlo de grafo, conforme visto na demonstração JFK). Estas informações são geradas para cada imagem quando utiliza esta opção.

Se definir como "generateNormalizedImagePerPage", os ficheiros PDF serão tratados de forma diferente, em vez de extrair imagens incorporadas, cada página será composta como uma imagem e normalizada em conformidade. Espera-se que este processo por página desça muito mais do que "generateNormalizedImages". Os tipos de ficheiro não PDF serão tratados da mesma forma que se "generateNormalizedImages" foi definido.

Definir a "imageAction" configuração para qualquer valor que não "none" seja requer que um conjunto de competências também seja anexado a esse indexador e possa ser um processo de baixo desempenho por predefinição.
"normalizedImageMaxWidth"
"normalizedImageMaxHeight"
Qualquer número inteiro entre 50 e 10000 A largura ou altura máxima (em píxeis), respetivamente, para imagens normalizadas geradas quando um "imageAction" é definido. A predefinição é 2 000.

A predefinição de 2000 píxeis para as imagens normalizadas de largura e altura máxima baseia-se nos tamanhos máximos suportados pela competência do OCR e pela competência de análise de imagens. A competência OCR suporta uma largura e altura máximas de 4200 para idiomas não ingleses e 10000 para inglês. Se aumentar os limites máximos, o processamento poderá falhar em imagens maiores, dependendo da definição do conjunto de competências e do idioma dos documentos.
"allowSkillsetToReadFileData" Booleano
true
falso (predefinição)
Definir o "allowSkillsetToReadFileData" parâmetro para true irá criar um caminho /document/file_data que é um objeto que representa os dados de ficheiro originais transferidos a partir da sua origem de dados de blobs. Isto permite-lhe transmitir os dados de ficheiro originais para uma competência personalizada para processamento no pipeline de melhoramento ou para a competência de Extração de Documentos. O objeto gerado será definido da seguinte forma: { "$type": "file", "data": "BASE64 encoded string of the file" }

Definir o "allowSkillsetToReadFileData" parâmetro para true requer que um conjunto de competências seja anexado a esse indexador e que o "parsingMode" parâmetro esteja definido como "default", "text" ou "json".
"pdfTextRotationAlgorithm" String
"none" (predefinição)
"detectAngles"
Definir o "pdfTextRotationAlgorithm" parâmetro para pode ajudar a "detectAngles" produzir uma extração de texto melhor e mais legível a partir de ficheiros PDF que tenham texto rodado dentro dos mesmos. Tenha em atenção que pode existir uma pequena penalização de desempenho quando este parâmetro é utilizado. Este parâmetro aplica-se apenas a ficheiros PDF e apenas a PDFs com texto incorporado. Se o texto rotativo aparecer numa imagem incorporada no PDF, este parâmetro não se aplica.

Definir o "pdfTextRotationAlgorithm" parâmetro para "detectAngles" requer que o "parsingMode" parâmetro esteja definido como "default".

Parâmetros de configuração do Azure Cosmos DB

Os seguintes parâmetros são específicos dos indexadores do Cosmos DB.

Parâmetro Escrever e valores permitidos Utilização
"assumeOrderByHighWaterMarkColumn" Booleano Para indexadores do Cosmos DB com a API SQL, defina este parâmetro para fornecer uma sugestão ao Cosmos DB de que a consulta utilizada para devolver documentos para indexação é, de facto, ordenada pela _ts coluna. Definir este parâmetro dá-lhe melhores resultados para cenários de indexação incremental.

SQL do Azure parâmetros de configuração

Os parâmetros seguintes são específicos da Base de Dados SQL do Azure.

Parâmetro Escrever e valores permitidos Utilização
"queryTimeout" String
"hh:mm:ss"
"00:05:00"
Para SQL do Azure Base de Dados, defina este parâmetro para aumentar o tempo limite para além da predefinição de 5 minutos.
"convertHighWaterMarkToRowVersion" Booleano Defina este parâmetro como "true" para utilizar o tipo de dados rowversion para a coluna de marca de água elevada. Quando esta propriedade está definida como verdadeira, o indexador subtrai uma do valor de rowversion antes de o indexador ser executado. Fá-lo porque as vistas com associações um-para-muitos podem ter linhas com valores de rowversion duplicados. Subtrair uma garante que a consulta do indexador não perde estas linhas.
"disableOrderByHighWaterMarkColumn" Booleano Defina este parâmetro como "verdadeiro" se quiser desativar o comportamento ORDER BY na consulta utilizada para a deteção de alterações. Se estiver a utilizar a política de deteção de alterações de marca de água elevada, o indexador utiliza cláusulas WHERE e ORDER BY para controlar as linhas que precisam de indexação (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]). Este parâmetro desativa o comportamento ORDER BY. A indexação terminará mais rapidamente, mas a contrapartida é que, se o indexador for interrompido por qualquer motivo, toda a tarefa do indexador tem de ser repetida na totalidade.

Resposta

201 Criado para um pedido com êxito.

Exemplos

Exemplo: Indexador com agenda e parâmetros genéricos

Cria um indexador que copia dados da tabela referenciada pela origem ordersds de dados para o orders índice numa agenda que começa a 1 de janeiro de 2021 UTC e é executada por hora. Cada invocação do indexador será bem-sucedida se não forem indexados mais de 5 itens em cada lote e não forem indexados mais de 10 itens no 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

Se um indexador estiver definido para uma determinada agenda, mas falhar repetidamente no mesmo documento repetidamente sempre que for executado, o indexador começará a ser executado num intervalo menos frequente (até ao máximo de, pelo menos, uma vez a cada 24 horas) até que volte a progredir com êxito. Se acredita ter corrigido qualquer que seja o problema que estava a fazer com que o indexador ficasse bloqueado num determinado ponto, pode efetuar uma reposição, seguida de uma execução a pedido, do indexador e, se isso fizer progressos com êxito, o indexador voltará ao intervalo de agenda definido novamente.

Exemplo: Indexador com parâmetros de blob

Opcionalmente, um indexador pode utilizar parâmetros de configuração que modificam comportamentos de runtime. Os parâmetros de configuração são delimitados por vírgulas no pedido do indexador e são específicos de um tipo de origem de dados. Os seguintes parâmetros de configuração fornecem instruções utilizadas 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"
          } 
      }
  }

Exemplo: Indexador com mapeamentos de campos

Mapear o campo _id de uma tabela de origem para um "id" campo num índice de pesquisa. O Azure AI Search não permite que um nome de campo comece com um caráter de sublinhado. Um mapeamento de campos pode resolver discrepâncias de nomes. Os nomes dos campos de origem e de destino não são sensíveis a maiúsculas e minúsculas. Para obter mais informações, veja Mapeamentos de campos e transformações.

"fieldMappings" : [
    { "sourceFieldName" : "_id", "targetFieldName" : "id" },
    { "sourceFieldName" : "_timestamp", "targetFieldName" : "timestamp" }
]

Exemplo: Indexador com melhoramento de IA

Demonstra um melhoramento de IA, indicado pela referência a a skillset e outputFieldMappings. Os conjuntos de competências são recursos de alto nível, definidos separadamente. Este exemplo é uma abreviatura da definição do indexador no tutorial de melhoramento de 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"
    }
  }
}

Exemplo: Indexador com mapeamentos de campos de competências e saída

Nos cenários de melhoramento de IA em que um conjunto de competências está vinculado a um indexador, tem de adicionar outputFieldMappings para associar qualquer saída de um passo de melhoramento que forneça conteúdo a um campo pesquisável no índice. É sourceFieldName um nó numa árvore de melhoramento. Pode ser uma estrutura composta criada durante o melhoramento de dois campos separados no documento de origem. É targetFieldName um campo num índice de pesquisa. Para obter mais informações, veja Como mapear campos de saída de um conjunto de competências.

"outputFieldMappings" : [
      {
        "sourceFieldName" : "/document/organizations", 
        "targetFieldName" : "organizations"
      },
      {
        "sourceFieldName" : "/document/pages/*/keyPhrases/*", 
        "targetFieldName" : "keyphrases"
      },
      {
          "sourceFieldName": "/document/languageCode",
          "targetFieldName": "language",
          "mappingFunction": null
      }      
  ]

Exemplo: Chaves de encriptação

As chaves de encriptação são chaves geridas pelo cliente utilizadas para encriptação adicional. Para obter mais informações, veja Encriptação com chaves geridas pelo cliente no 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)"}
      }
}

Ver também