Data Sources - Create

Cria uma nova fonte de dados.

POST {endpoint}/datasources?api-version=2023-11-01

Parâmetros de URI

Nome Em Obrigatório Tipo Description
endpoint
path True

string

A URL do ponto de extremidade do serviço de pesquisa.

api-version
query True

string

Versão da API do cliente.

Cabeçalho da solicitação

Nome Obrigatório Tipo Description
x-ms-client-request-id

string

uuid

A ID de rastreamento enviada com a solicitação para ajudar na depuração.

Corpo da solicitação

Nome Obrigatório Tipo Description
container True

SearchIndexerDataContainer

O contêiner de dados para a fonte de dados.

credentials True

DataSourceCredentials

Credenciais para a fonte de dados.

name True

string

O nome da fonte de dados.

type True

SearchIndexerDataSourceType

O tipo da fonte de dados.

@odata.etag

string

A ETag da fonte de dados.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

A política de detecção de alteração de dados para a fonte de dados.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

A política de detecção de exclusão de dados para a fonte de dados.

description

string

A descrição da fonte de dados.

encryptionKey

SearchResourceEncryptionKey

Uma descrição de uma chave de criptografia criada no Azure Key Vault. Essa chave é usada para fornecer um nível adicional de criptografia em repouso para sua definição de fonte de dados quando você quiser garantir que ninguém, nem mesmo a Microsoft, possa descriptografar sua definição de fonte de dados. Depois de criptografar sua definição de fonte de dados, ela sempre permanecerá criptografada. O serviço de pesquisa ignorará as tentativas de definir essa propriedade como nula. Você pode alterar essa propriedade conforme necessário se quiser girar sua chave de criptografia; Sua definição de fonte de dados não será afetada. A criptografia com chaves gerenciadas pelo cliente não está disponível para serviços de pesquisa gratuitos e só está disponível para serviços pagos criados em ou após 1º de janeiro de 2019.

Respostas

Nome Tipo Description
201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

Resposta de erro.

Exemplos

SearchServiceCreateDataSource

Sample Request

POST https://myservice.search.windows.net/datasources?api-version=2023-11-01

{
  "name": "mydocdbdatasource",
  "description": "My Cosmos DB data source.",
  "type": "cosmosdb",
  "credentials": {
    "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId"
  },
  "container": {
    "name": "myDocDbCollectionId",
    "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
  },
  "dataChangeDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName": "_ts"
  },
  "dataDeletionDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
    "softDeleteColumnName": "isDeleted",
    "softDeleteMarkerValue": "true"
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

Sample Response

{
  "name": "mydocdbdatasource",
  "description": "My Cosmos DB data source.",
  "type": "cosmosdb",
  "credentials": {
    "connectionString": null
  },
  "container": {
    "name": "myDocDbCollectionId",
    "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
  },
  "dataChangeDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName": "_ts"
  },
  "dataDeletionDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
    "softDeleteColumnName": "isDeleted",
    "softDeleteMarkerValue": "true"
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": null
    }
  }
}

Definições

Nome Description
AzureActiveDirectoryApplicationCredentials

Credenciais de um aplicativo registrado criado para seu serviço de pesquisa, usado para acesso autenticado às chaves de criptografia armazenadas no Azure Key Vault.

DataSourceCredentials

Representa as credenciais que podem ser usadas para se conectar a uma fonte de dados.

HighWaterMarkChangeDetectionPolicy

Define uma política de detecção de alteração de dados que captura alterações com base no valor de uma coluna de marca d'água alta.

SearchError

Descreve uma condição de erro para a API.

SearchIndexerDataContainer

Representa informações sobre a entidade (como SQL do Azure tabela ou coleção CosmosDB) que serão indexadas.

SearchIndexerDataSource

Representa uma definição de fonte de dados, que pode ser usada para configurar um indexador.

SearchIndexerDataSourceType

Define o tipo de uma fonte de dados.

SearchResourceEncryptionKey

Uma chave de criptografia gerenciada pelo cliente no Azure Key Vault. As chaves que você cria e gerencia podem ser usadas para criptografar ou descriptografar dados em repouso em seu serviço de pesquisa, como índices e mapas de sinônimos.

SoftDeleteColumnDeletionDetectionPolicy

Define uma política de detecção de exclusão de dados que implementa uma estratégia de exclusão reversível. Ele determina se um item deve ser excluído com base no valor de uma coluna "exclusão reversível" designada.

SqlIntegratedChangeTrackingPolicy

Define uma política de detecção de alteração de dados que captura alterações usando o recurso Controle de Alterações Integrado do Banco de Dados SQL do Azure.

AzureActiveDirectoryApplicationCredentials

Credenciais de um aplicativo registrado criado para seu serviço de pesquisa, usado para acesso autenticado às chaves de criptografia armazenadas no Azure Key Vault.

Nome Tipo Description
applicationId

string

Uma ID de Aplicativo do AAD que recebeu as permissões de acesso necessárias para o Key Vault do Azure que deve ser usada ao criptografar seus dados em repouso. A ID do aplicativo não deve ser confundida com a ID do objeto para seu aplicativo do AAD.

applicationSecret

string

A chave de autenticação do aplicativo AAD especificado.

DataSourceCredentials

Representa as credenciais que podem ser usadas para se conectar a uma fonte de dados.

Nome Tipo Description
connectionString

string

O cadeia de conexão para a fonte de dados. Defina como <unchanged> (com colchetes) se você não quiser que o cadeia de conexão seja atualizado. Defina como <redacted> se você quiser remover o valor cadeia de conexão da fonte de dados.

HighWaterMarkChangeDetectionPolicy

Define uma política de detecção de alteração de dados que captura alterações com base no valor de uma coluna de marca d'água alta.

Nome Tipo Description
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

Um fragmento de URI que especifica o tipo de política de detecção de alteração de dados.

highWaterMarkColumnName

string

O nome da coluna de marca d'água alta.

SearchError

Descreve uma condição de erro para a API.

Nome Tipo Description
code

string

Um de um conjunto definido pelo servidor de códigos de erro.

details

SearchError[]

Uma matriz de detalhes sobre erros específicos que levaram a esse erro relatado.

message

string

Uma representação legível pelo homem do erro.

SearchIndexerDataContainer

Representa informações sobre a entidade (como SQL do Azure tabela ou coleção CosmosDB) que serão indexadas.

Nome Tipo Description
name

string

O nome da tabela ou exibição (para SQL do Azure fonte de dados) ou coleção (para fonte de dados do CosmosDB) que será indexada.

query

string

Uma consulta que é aplicada a esse contêiner de dados. A sintaxe e o significado desse parâmetro são específicos da fonte de dados. Não há suporte para SQL do Azure fontes de dados.

SearchIndexerDataSource

Representa uma definição de fonte de dados, que pode ser usada para configurar um indexador.

Nome Tipo Description
@odata.etag

string

A ETag da fonte de dados.

container

SearchIndexerDataContainer

O contêiner de dados para a fonte de dados.

credentials

DataSourceCredentials

Credenciais para a fonte de dados.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

A política de detecção de alteração de dados para a fonte de dados.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

A política de detecção de exclusão de dados para a fonte de dados.

description

string

A descrição da fonte de dados.

encryptionKey

SearchResourceEncryptionKey

Uma descrição de uma chave de criptografia criada no Azure Key Vault. Essa chave é usada para fornecer um nível adicional de criptografia em repouso para sua definição de fonte de dados quando você quiser garantir que ninguém, nem mesmo a Microsoft, possa descriptografar sua definição de fonte de dados. Depois de criptografar sua definição de fonte de dados, ela sempre permanecerá criptografada. O serviço de pesquisa ignorará as tentativas de definir essa propriedade como nula. Você pode alterar essa propriedade conforme necessário se quiser girar sua chave de criptografia; Sua definição de fonte de dados não será afetada. A criptografia com chaves gerenciadas pelo cliente não está disponível para serviços de pesquisa gratuitos e só está disponível para serviços pagos criados em ou após 1º de janeiro de 2019.

name

string

O nome da fonte de dados.

type

SearchIndexerDataSourceType

O tipo da fonte de dados.

SearchIndexerDataSourceType

Define o tipo de uma fonte de dados.

Nome Tipo Description
adlsgen2

string

Indica uma fonte de dados do ADLS Gen2.

azureblob

string

Indica uma fonte de dados do Blob do Azure.

azuresql

string

Indica uma fonte de dados do SQL Azure.

azuretable

string

Indica uma fonte de dados da Tabela do Azure.

cosmosdb

string

Indica uma fonte de dados do CosmosDB.

mysql

string

Indica uma fonte de dados MySql.

SearchResourceEncryptionKey

Uma chave de criptografia gerenciada pelo cliente no Azure Key Vault. As chaves que você cria e gerencia podem ser usadas para criptografar ou descriptografar dados em repouso em seu serviço de pesquisa, como índices e mapas de sinônimos.

Nome Tipo Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Credenciais opcionais do Azure Active Directory usadas para acessar o Key Vault do Azure. Não é necessário se estiver usando a identidade gerenciada.

keyVaultKeyName

string

O nome da chave de Key Vault do Azure a ser usada para criptografar seus dados em repouso.

keyVaultKeyVersion

string

A versão do Azure Key Vault chave a ser usada para criptografar seus dados em repouso.

keyVaultUri

string

O URI do Key Vault do Azure, também conhecido como nome DNS, que contém a chave a ser usada para criptografar seus dados inativos. Um URI de exemplo pode ser https://my-keyvault-name.vault.azure.net.

SoftDeleteColumnDeletionDetectionPolicy

Define uma política de detecção de exclusão de dados que implementa uma estratégia de exclusão reversível. Ele determina se um item deve ser excluído com base no valor de uma coluna "exclusão reversível" designada.

Nome Tipo Description
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Um fragmento de URI que especifica o tipo de política de detecção de exclusão de dados.

softDeleteColumnName

string

O nome da coluna a ser usada para detecção de exclusão reversível.

softDeleteMarkerValue

string

O valor do marcador que identifica um item como excluído.

SqlIntegratedChangeTrackingPolicy

Define uma política de detecção de alteração de dados que captura alterações usando o recurso Controle de Alterações Integrado do Banco de Dados SQL do Azure.

Nome Tipo Description
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Um fragmento de URI que especifica o tipo de política de detecção de alteração de dados.