Criar Indexador (API REST do Azure AI Search)

Um indexador automatiza a indexação de fontes de dados do Azure com suporte, como o Armazenamento do Azure, o Banco de Dados SQL do Azure e o Azure Cosmos DB para citar alguns. Os indexadores usam uma fonte de dados predefinida e um índice para estabelecer um pipeline de indexação que extrai e serializa dados de origem, passando-os para um serviço de pesquisa para ingestão de dados. Para enriquecimento de IA de imagem e texto não estruturado, os indexadores também podem aceitar um conjunto de habilidades que define o processamento de IA.

A criação de um indexador o adiciona ao serviço de pesquisa e o executa. Se a solicitação for bem-sucedida, o índice será preenchido com conteúdo pesquisável da fonte de dados.

Você pode usar POST ou PUT na solicitação. Para qualquer um deles, o documento JSON no corpo da solicitação fornece a definição de objeto.

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

Como alternativa, você pode usar 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]    

HTTPS é necessário para todas as solicitações de serviço. Se o indexador não existir, ele será criado. Se ele já existir, ele será atualizado para a nova definição, mas você deverá emitir uma solicitação Executar Indexador se quiser a execução do indexador.

A configuração do indexador varia de acordo com o tipo de fonte de dados. Para obter orientação sobre a criação de indexadores específicos de plataforma de dados, inicie com Visão geral de indexadores, que inclui a lista completa de artigos relacionados.

Parâmetros de URI

Parâmetro Descrição
nome do serviço Obrigatórios. Defina isso como o nome exclusivo definido pelo usuário do serviço de pesquisa.
nome do indexador Necessário no URI se estiver usando PUT. O nome deve ser minúsculo, começar com uma letra ou número, não ter barras ou pontos e ter menos de 128 caracteres. o nome deve começar com uma letra ou número, mas o restante do nome pode incluir qualquer letra, número e traços, desde que os traços não sejam consecutivos.
api-version Obrigatórios. Consulte versões de API para obter uma lista de versões com suporte.

Cabeçalhos de solicitação

A tabela a seguir descreve os cabeçalhos de solicitação necessários e opcionais

Campos Descrição
Tipo de conteúdo Obrigatórios. Defina-o como application/json
chave de API Opcional se você estiver usando funções do Azure e um token de portador for fornecido na solicitação, caso contrário, uma chave será necessária. As solicitações de criação devem incluir um api-key cabeçalho definido como sua chave de administrador (em vez de uma chave de consulta). Confira Conectar-se ao Azure AI Search usando a autenticação de chave para obter detalhes.

Corpo da solicitação

Uma fonte de dados, um índice e um conjunto de habilidades fazem parte de uma definição de indexador, mas cada um é um componente independente que pode ser usado em diferentes combinações. Por exemplo, você pode usar a mesma fonte de dados com vários indexadores, o mesmo índice com vários indexadores ou vários indexadores gravando em um único índice.

O JSON a seguir é uma representação de alto nível das partes main 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) { }
} 

A contém as seguintes propriedades:

Propriedade Descrição
name Obrigatórios. O nome deve ser minúsculo, começar com uma letra ou número, não ter barras ou pontos e ter menos de 128 caracteres. O nome deve começar com uma letra ou número, mas o restante do nome pode incluir qualquer letra, número e traços, desde que os traços não sejam consecutivos.
Datasourcename Obrigatórios. Nome de uma fonte de dados existente. Geralmente, ele inclui propriedades que um indexador pode usar para explorar as características da plataforma de origem. Dessa forma, a fonte de dados que você passa para o indexador determina a disponibilidade de determinadas propriedades e parâmetros, como a filtragem de tipo de conteúdo em blobs do Azure. ou tempo limite de consulta para SQL do Azure Banco de Dados.
targetIndexName Obrigatórios. Nome de um esquema de índice existente. Ele define a coleção de campos que contém atributos pesquisáveis, filtráveis, recuperáveis e outras que determinam como o campo é usado. Durante a indexação, o indexador rastreia a fonte de dados, opcionalmente, desbloqueia documentos e extrai informações, serializa os resultados como JSON e indexa o conteúdo com base no esquema definido para o índice.
skillsetName Necessário para enriquecimento de IA. Nome de um conjunto de habilidades existente, um por indexador. Assim como acontece com fontes de dados e índices, um conjunto de habilidades é uma definição independente que você anexa a um indexador. Você pode realocar um conjunto de habilidades com outros indexadores, mas cada indexador só pode usar um conjunto de habilidades por vez.
schedule Opcional, mas é executado uma vez imediatamente se não for especificado e não estiver desabilitado. Um agendamento contém interval (obrigatório) e startTime (opcional). Para obter mais informações, consulte Agendar um indexador.

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

startTime é um datetime UTC quando o indexador deve começar a ser executado.
desabilitado Opcional. Valor booliano que indica se o indexador está desabilitado. Defina essa propriedade se quiser criar uma definição de indexador sem executá-la imediatamente. Falso por padrão.
parameters Opcional. Propriedades para modificar o comportamento do runtime.

"batchSize" (inteiro). Especifica o número de itens lidos da fonte de dados e indexados como um único lote para melhorar o desempenho. O padrão é específico da origem (1000 para o Banco de Dados SQL do Azure e o Azure Cosmos DB, 10 para Armazenamento de Blobs do Azure).

"maxFailedItems" (inteiro). Especifica o número de erros a serem tolerados antes que uma execução do indexador seja considerada uma falha. O padrão é 0. Defina essa propriedade como -1 se você não deseja que nenhum erro interrompa o processo de indexação. Use Obter Status do Indexador para recuperar informações sobre documentos com falha.

"maxFailedItemsPerBatch" (inteiro). Especifica o número de erros a serem tolerados em cada lote antes que uma execução do indexador seja considerada uma falha. O padrão é 0. Defina essa propriedade como -1 se você não deseja que nenhum erro interrompa o processo de indexação.

"base64EncodeKey" (Boolean). Especifica se as chaves de documento que contêm caracteres inválidos devem ser codificadas.

"configuration". Propriedades que variam de acordo com a fonte de dados.

"executionEnvironment" (cadeia de caracteres). Substitui o ambiente de execução escolhido pelos processos internos do sistema. Definir explicitamente o ambiente Private de execução como será necessário se os indexadores estiverem acessando recursos externos em conexões de ponto de extremidade privado. Essa configuração está em "configuration". Para ingestão de dados, essa configuração é válida somente para serviços provisionados como Básico ou Standard (S1, S2, S3). Para processamento de conteúdo de enriquecimento de IA, essa configuração é válida somente para S2 e S3. Os valores válidos não diferenciam maiúsculas de minúsculas e consistem em [nulo ou não especificado], Standard (padrão) ou Private.
fieldMappings Opcional. Associa explicitamente um campo de origem a um campo de destino no índice de pesquisa. Usado quando os campos de origem e destino têm nomes ou tipos diferentes ou quando você deseja especificar uma função. Uma fieldMappings seção inclui sourceFieldName (obrigatório, um campo na fonte de dados subjacente), targetFieldName (obrigatório, um campo em um índice) e um opcional mappingFunction para codificar a saída. Uma lista de funções e exemplos com suporte pode ser encontrada em funções de mapeamento de campo. Para obter mais informações gerais, consulte Mapeamentos e transformações de campo.
outputFieldMappings Necessário para um pipeline de enriquecimento. Mapeia a saída de um conjunto de habilidades para um índice ou projeção. Uma outputFieldMappings seção inclui sourceFieldName (obrigatório, um nó em uma árvore de enriquecimento), targetFieldName (obrigatório, um campo em um índice) e um opcional mappingFunction para codificação de saída. Uma lista de funções e exemplos com suporte pode ser encontrada em funções de mapeamento de campo. Para obter mais informações gerais, consulte Como mapear campos de saída de um conjunto de habilidades.
encryptionKey Opcional. Usado para criptografar uma definição de indexador em repouso com suas próprias chaves, gerenciadas no Key Vault do Azure. Disponível para serviços de pesquisa faturáveis criados em ou após 01-01/2019.

Uma encryptionKey seção contém um definido keyVaultKeyName pelo usuário (obrigatório), um gerado pelo keyVaultKeyVersion sistema (obrigatório) e um keyVaultUri que fornece a chave (obrigatório, também conhecido como nome DNS). Um exemplo de URI pode ser "https://my-keyvault-name.vault.azure.net".

Opcionalmente, você pode especificar accessCredentials se não está usando uma identidade do sistema gerenciado. Propriedades de accessCredentials include applicationId (Microsoft Entra ID ID do aplicativo que recebeu permissões de acesso para o Key Vault do Azure especificado) e applicationSecret (chave de autenticação do aplicativo registrado). Um exemplo na próxima seção ilustra a sintaxe.

Parâmetros de configuração de blob

Vários parâmetros são exclusivos a um indexador específico, como a indexação de blob do Azure.

Parâmetro Tipo e valores permitidos Uso
"parsingMode" String
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
Para blobs do Azure, defina essa propriedade como text para melhorar o desempenho da indexação em arquivos de texto sem formatação no Armazenamento de Blobs.
Para blobs CSV, defina essa propriedade como delimitedText quando os blobs forem arquivos CSV sem formatação.
Para blobs JSON, defina json como para extrair conteúdo estruturado ou para jsonArray extrair elementos individuais de uma matriz como documentos separados no Azure AI Search. Use jsonLines para extrair entidades JSON individuais, separadas por uma nova linha, como documentos separados no Azure AI Search.
"excludedFileNameExtensions" Cadeia de caracteres
lista delimitada por vírgula
definido pelo usuário
Para blobs do Azure, ignore os tipos de arquivo na lista. Por exemplo, você pode excluir ".png, .png, .mp4" para ignorar os arquivos durante a indexação.
"indexedFileNameExtensions" Cadeia de caracteres
lista delimitada por vírgula
definido pelo usuário
Para blobs do Azure, seleciona os blobs se a extensão de arquivo está na lista. Por exemplo, você pode enfocar a indexação em arquivos de aplicativo específicos ".docx, .pptx, .msg" para incluir especificamente esses tipos de arquivo.
"failOnUnsupportedContentType" Boolean
true
false (padrão)
Para blobs do Azure, defina essa propriedade como false se desejar continuar a indexação quando um tipo de conteúdo não compatível for encontrado e você não conhecer todos os tipos de conteúdo (extensões de arquivo) com antecedência.
"failOnUnprocessableDocument" Boolean
true
false (padrão)
Para blobs do Azure, defina essa propriedade como false se desejar continuar a indexação em caso de falha na indexação de um documento.
"indexStorageMetadataOnly
ForOversizedDocuments"
Booliano verdadeiro
false (padrão)
Para blobs do Azure, defina essa propriedade como true para ainda indexar os metadados de armazenamento para um conteúdo de blob muito grande para ser processado. Por padrão, os blobs superdimensionados são tratados como erros. Para obter limites de tamanho de blob, consulte Limites de serviço.
"delimitedTextHeaders" Cadeia de caracteres
lista delimitada por vírgula
definido pelo usuário
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 em um índice.
"delimitedTextDelimiter" Cadeia de caracteres
caractere único
definido pelo usuário
Para blobs CSV, especifica o delimitador de fim de linha para arquivos CSV em que cada linha inicia um novo documento (por exemplo, "|").
"firstLineContainsHeaders" Booliano
true (padrão)
false
Para blobs CSV, indica que a primeira linha (não em branco) de cada blob contém cabeçalhos.
"documentRoot" Cadeia de caracteres
caminho definido pelo usuário
Para matrizes JSON, considerando um documento estruturado ou semiestruturado, você pode especificar um caminho para a matriz usando essa propriedade.
"dataToExtract" Cadeia de caracteres
"storageMetadata"
"allMetadata"
"contentAndMetadata" (padrão)
Para blobs do Azure:
Defina essa propriedade como "storageMetadata" para indexar apenas as propriedades de blob padrão e os metadados especificados pelo usuário.
Defina essa propriedade como "allMetadata" para extrair os metadados fornecidos pelo subsistema de Armazenamento de Blobs do Azure e os metadados específicos ao tipo de conteúdo (por exemplo, metadados exclusivos somente a arquivos .png) são indexados.
Defina essa propriedade como "contentAndMetadata" para extrair todos os metadados e o conteúdo textual de cada blob.

Para análise de imagem no enriquecimento de IA, quando "imageAction" é definido como um valor diferente de "none", a "dataToExtract" configuração informa ao indexador quais dados extrair do conteúdo da imagem. Aplica-se ao conteúdo de imagem incorporada em um .PDF ou outro aplicativo ou a arquivos de imagem, como .jpg e .png, em blobs do Azure.
"imageAction" Cadeia de caracteres
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
Para blobs do Azure, defina essa propriedade como "none" para ignorar imagens incorporadas ou arquivos de imagem no conjunto de dados. Esse é o padrão.

Para análise de imagem no enriquecimento de IA, defina"generateNormalizedImages" como para extrair texto de imagens (por exemplo, a palavra "parar" de um sinal de parada de tráfego) e insira-o como parte do campo de conteúdo. Durante a análise de imagem, o indexador cria uma matriz de imagens normalizadas como parte do desbloqueio de documento e insere as informações geradas no campo de conteúdo. Essa ação exige que "dataToExtract" seja definido como "contentAndMetadata". Uma imagem normalizada refere-se ao processamento adicional resultando em uma saída de imagem uniforme, dimensionada e girada para promover uma renderização consistente quando forem incluídas imagens nos resultados da pesquisa visual (por exemplo, fotografias do mesmo tamanho em um controle de grafo, conforme visto na Demonstração sobre JFK). Essas informações são geradas para cada imagem quando você usa essa opção.

Se você definir como "generateNormalizedImagePerPage", os arquivos PDF serão tratados de forma diferente, em vez de extrair imagens inseridas, cada página será renderizada como uma imagem e normalizada de acordo. Espera-se que esse processo por página demorou muito mais do que "generateNormalizedImages". Os tipos de arquivo não PDF serão tratados da mesma forma que seria se "generateNormalizedImages" tivesse sido definido.

Definir a "imageAction" configuração como qualquer valor diferente "none" de requer que um conjunto de habilidades também seja anexado a esse indexador e possa ser um processo de baixo desempenho por design.
"normalizedImageMaxWidth"
"normalizedImageMaxHeight"
Qualquer inteiro entre 50-10000 A largura ou altura máxima (em pixels), respectivamente, para imagens normalizadas geradas quando um "imageAction" é definido. O padrão é 2000.

O padrão de 2000 pixels para a largura e altura máximas das imagens normalizadas se baseia nos tamanhos máximos compatíveis com a habilidade de OCR e a habilidade de análise de imagem. Habilidades de OCR são compatíveis com a largura e altura máximas de 4.200 para idiomas não inglês e 10.000 para o inglês. Caso aumente os limites máximos, poderá haver uma falha no processamento de imagens maiores, de acordo com a definição do conjunto de habilidades e do idioma dos documentos.
"allowSkillsetToReadFileData" Boolean
true
false (padrão)
Definir o "allowSkillsetToReadFileData" parâmetro como true criará um caminho /document/file_data que é um objeto que representa os dados de arquivo originais baixados da fonte de dados do blob. Isso permite que você passe os dados de arquivo originais para uma habilidade personalizada para processamento dentro do pipeline de enriquecimento ou para a habilidade extração de documentos. O objeto gerado será definido da seguinte maneira: { "$type": "file", "data": "BASE64 encoded string of the file" }

Definir o "allowSkillsetToReadFileData" parâmetro como true requer que um conjunto de habilidades seja anexado a esse indexador e que o "parsingMode" parâmetro seja definido como "default"ou "text""json".
"pdfTextRotationAlgorithm" Cadeia de caracteres
"none" (padrão)
"detectAngles"
Definir o "pdfTextRotationAlgorithm" parâmetro como "detectAngles" pode ajudar a produzir extração de texto melhor e mais legível de arquivos PDF que têm texto girado dentro deles. Observe que pode haver uma pequena penalidade de desempenho quando esse parâmetro é usado. Esse parâmetro só se aplica a arquivos PDF e somente a PDFs com texto inserido. Se o texto girado aparecer em uma imagem inserida no PDF, esse parâmetro não se aplicará.

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

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

Os parâmetros a seguir são específicos para indexadores do Cosmos DB.

Parâmetro Tipo e valores permitidos Uso
"assumeOrderByHighWaterMarkColumn" Booliano Para indexadores do Cosmos DB com a API do SQL, defina esse parâmetro para fornecer uma dica ao Cosmos DB de que a consulta usada para retornar documentos para indexação é de fato ordenada pela _ts coluna. Definir esse parâmetro fornece melhores resultados para cenários incrementais de indexação.

parâmetros de configuração SQL do Azure

Os parâmetros a seguir são específicos ao Banco de Dados SQL do Azure.

Parâmetro Tipo e valores permitidos Uso
"queryTimeout" String
"hh:mm:ss"
"00:05:00"
Para o Banco de Dados SQL do Azure, defina esse parâmetro para aumentar o tempo limite além do padrão de 5 minutos.
"convertHighWaterMarkToRowVersion" Booliano Defina esse parâmetro como "true" para usar o tipo de dados rowversion para a coluna de marca d'água alta. Quando essa propriedade é definida como true, o indexador subtrai um do valor de rowversion antes da execução do indexador. Isso ocorre porque as exibições com junções um para muitos podem ter linhas com valores de rowversion duplicados. Subtrair um garante que a consulta do indexador não perca essas linhas.
"disableOrderByHighWaterMarkColumn" Booliano Defina esse parâmetro como "true" se você quiser desabilitar o comportamento ORDER BY na consulta usada para detecção de alterações. Se você estiver usando a política de detecção de alteração de marca d'água alta, o indexador usará as cláusulas WHERE e ORDER BY para acompanhar quais linhas precisam de indexação (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]). Esse parâmetro desabilita o comportamento ORDER BY. A indexação será concluída mais rapidamente, mas a compensação é que, se o indexador for interrompido por qualquer motivo, todo o trabalho do indexador deverá ser repetido na íntegra.

Resposta

201 Criado para uma solicitação bem-sucedida.

Exemplos

Exemplo: Indexador com parâmetros de agendamento e genéricos

Cria um indexador que copia dados da tabela referenciada pela ordersds fonte de dados para o orders índice em um agendamento que começa em 1º de janeiro de 2021 UTC e é executado por hora. Cada invocação do indexador será bem-sucedida se não mais do que cinco itens não forem indexados em cada lote e se não mais do que dez itens não forem indexados 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 }  
}

Observação

Se um indexador for definido como um determinado agendamento, mas falhar repetidamente no mesmo documento repetidamente, sempre que for executado, o indexador começará a ser executado em um intervalo menos frequente (até o máximo de ao menos uma vez a cada 24 horas) até que ele faça o progresso com êxito novamente. Se você acredita ter corrigido qualquer problema que estava fazendo com que o indexador fosse travado em um determinado ponto, você poderá executar uma redefinição, seguida por uma execução sob demanda, do indexador e, se isso fizer progressos com êxito, o indexador retornará ao intervalo de agendamento definido novamente.

Exemplo: Indexador com parâmetros de blob

Opcionalmente, um indexador pode usar parâmetros de configuração que modificam os comportamentos do runtime. Os parâmetros de configuração são delimitados por vírgulas na solicitação do indexador e são específicos para um tipo de fonte de dados. Os parâmetros de configuração a seguir fornecem instruções usadas 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 campo

Mapeie o campo _id de uma tabela de origem para um "id" campo em um índice de pesquisa. O Azure AI Search não permite que um nome de campo comece com um sublinhado. Um mapeamento de campo pode resolve discrepâncias de nome. Nomes de campos de origem e destino diferenciam maiúsculas de minúsculas. Para obter mais informações, consulte Mapeamentos e transformações de campo.

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

Exemplo: Indexador com enriquecimento de IA

Demonstra um enriquecimento de IA, indicado pela referência a um skillset e outputFieldMappings. Conjuntos de habilidades são recursos de alto nível, definidos separadamente. Este exemplo é uma abreviação da definição do indexador no tutorial de enriquecimento 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 campo de saída e conjunto de habilidades

Em cenários de enriquecimento de IA nos quais um conjunto de habilidades está associado a um indexador, você deve adicionar outputFieldMappings para associar qualquer saída de uma etapa de enriquecimento que forneça conteúdo a um campo pesquisável no índice. O sourceFieldName é um nó em uma árvore de enriquecimento. Pode ser uma estrutura composta criada durante o enriquecimento de dois campos separados no documento de origem. O targetFieldName é um campo em um índice de pesquisa. Para obter mais informações, consulte Como mapear campos de saída de um conjunto de habilidades.

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

Exemplo: chaves de criptografia

Chaves de criptografia são chaves gerenciadas pelo cliente usadas para criptografia adicional. Para obter mais informações, consulte Criptografia usando chaves gerenciadas 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)"}
      }
}

Confira também