Partilhar via


Data Sources - Create Or Update

Cria uma nova fonte de dados ou atualiza uma fonte de dados, se ela já existir.

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-07-01

Parâmetros do URI

Name Em Necessário Tipo Description
dataSourceName
path True

string

O nome da fonte de dados a ser criada ou atualizada.

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

Name Necessário Tipo Description
x-ms-client-request-id

string

uuid

O ID de rastreamento enviado com a solicitação para ajudar com a depuração.

If-Match

string

Define a condição If-Match. A operação será executada somente se o ETag no servidor corresponder a esse valor.

If-None-Match

string

Define a condição If-None-Match. A operação será executada somente se o ETag no servidor não corresponder a esse valor.

Prefer True

string

Para solicitações HTTP PUT, instrui o serviço a retornar o recurso criado/atualizado com êxito.

Corpo do Pedido

Name Necessá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

O ETag da fonte de dados.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

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

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

A política de deteçã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 que você cria no Cofre de Chaves do Azure. Essa chave é usada para fornecer um nível adicional de criptografia em repouso para sua definição de fonte de dados quando você deseja garantia total de que ninguém, nem mesmo a Microsoft, pode 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 null. 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

Name Tipo Description
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

Resposta de erro.

Exemplos

SearchServiceCreateOrUpdateDataSource

Pedido de amostra

PUT https://myservice.search.windows.net/datasources('mydatasource')?api-version=2024-07-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": null
  }
}

Resposta da amostra

{
  "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": null
  }
}
{
  "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": null
  }
}

Definições

Name Description
AzureActiveDirectoryApplicationCredentials

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

DataSourceCredentials

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

ErrorAdditionalInfo

O erro de gerenciamento de recursos informações adicionais.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

HighWaterMarkChangeDetectionPolicy

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

SearchIndexerDataContainer

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

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 Cofre de Chaves do Azure. As chaves que você cria e gerencia podem ser usadas para criptografar ou descriptografar dados em repouso, como índices e mapas de sinônimos.

SoftDeleteColumnDeletionDetectionPolicy

Define uma política de deteção de exclusão de dados que implementa uma estratégia de exclusão suave. Determina se um item deve ser excluído com base no valor de uma coluna designada de 'exclusão suave'.

SqlIntegratedChangeTrackingPolicy

Define uma política de deteção de alterações de dados que captura alterações usando o recurso Controle Integrado de Alterações 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 Cofre de Chaves do Azure.

Name Tipo Description
applicationId

string

Uma ID de Aplicativo AAD que recebeu as permissões de acesso necessárias ao Cofre da Chave 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 do seu aplicativo 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.

Name Tipo Description
connectionString

string

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

ErrorAdditionalInfo

O erro de gerenciamento de recursos informações adicionais.

Name Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Name Tipo Description
additionalInfo

ErrorAdditionalInfo[]

O erro informações adicionais.

code

string

O código de erro.

details

ErrorDetail[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

ErrorResponse

Resposta de erro

Name Tipo Description
error

ErrorDetail

O objeto de erro.

HighWaterMarkChangeDetectionPolicy

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

Name Tipo Description
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

Um fragmento de URI especificando o tipo de política de deteção de alteração de dados.

highWaterMarkColumnName

string

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

SearchIndexerDataContainer

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

Name Tipo Description
name

string

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

query

string

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

SearchIndexerDataSource

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

Name Tipo Description
@odata.etag

string

O 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 deteção de alteração de dados para a fonte de dados.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

A política de deteçã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 que você cria no Cofre de Chaves do Azure. Essa chave é usada para fornecer um nível adicional de criptografia em repouso para sua definição de fonte de dados quando você deseja garantia total de que ninguém, nem mesmo a Microsoft, pode 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 null. 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.

Name Tipo Description
adlsgen2

string

Indica uma fonte de dados ADLS Gen2.

azureblob

string

Indica uma fonte de dados de Blob do Azure.

azuresql

string

Indica uma fonte de dados SQL do 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 Cofre de Chaves do Azure. As chaves que você cria e gerencia podem ser usadas para criptografar ou descriptografar dados em repouso, como índices e mapas de sinônimos.

Name Tipo Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Credenciais opcionais do Azure Ative Directory usadas para acessar seu Cofre da Chave do Azure. Não é necessário se estiver usando a identidade gerenciada.

keyVaultKeyName

string

O nome da sua chave do Cofre da Chave do Azure a ser usada para criptografar seus dados em repouso.

keyVaultKeyVersion

string

A versão da chave do Cofre da Chave do Azure a ser usada para criptografar seus dados em repouso.

keyVaultUri

string

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

SoftDeleteColumnDeletionDetectionPolicy

Define uma política de deteção de exclusão de dados que implementa uma estratégia de exclusão suave. Determina se um item deve ser excluído com base no valor de uma coluna designada de 'exclusão suave'.

Name Tipo Description
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Um fragmento de URI especificando o tipo de política de deteção de exclusão de dados.

softDeleteColumnName

string

O nome da coluna a ser usada para deteção de exclusão suave.

softDeleteMarkerValue

string

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

SqlIntegratedChangeTrackingPolicy

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

Name Tipo Description
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Um fragmento de URI especificando o tipo de política de deteção de alteração de dados.