Compartilhar 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 de URI

Nome Em Obrigató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 da solicitação

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

string

uuid

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

If-Match

string

Define a condição de If-Match. A operação será executada somente se a 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 a 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 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 que você cria 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 ter total garantia de que ninguém, nem mesmo a Microsoft, pode descriptografar sua definição de fonte de dados. Depois de criptografar a definição da 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 1º de janeiro de 2019 ou depois de 1º de janeiro de 2019.

Respostas

Nome Tipo Description
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

Resposta de erro.

Exemplos

SearchServiceCreateOrUpdateDataSource

Solicitação de exemplo

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 de exemplo

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

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 credenciais que podem ser usadas para se conectar a uma fonte de dados.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

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.

SearchIndexerDataContainer

Representa informações sobre a entidade (como a tabela SQL do Azure ou a 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, 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 designada como "exclusão reversível".

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 Azure Key Vault 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 credenciais que podem ser usadas para se conectar a uma fonte de dados.

Nome Tipo Description
connectionString

string

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

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

Nome Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Nome Tipo Description
additionalInfo

ErrorAdditionalInfo[]

As informações adicionais do erro.

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

Nome Tipo Description
error

ErrorDetail

O objeto de erro.

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 de água alta.

SearchIndexerDataContainer

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

Nome Tipo Description
name

string

O nome da tabela ou exibição (para fonte de dados SQL do Azure) 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 fontes de dados SQL do Azure.

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 que você cria 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 ter total garantia de que ninguém, nem mesmo a Microsoft, pode descriptografar sua definição de fonte de dados. Depois de criptografar a definição da 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 1º de janeiro de 2019 ou depois de 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 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 Azure Key Vault. As chaves que você cria e gerencia podem ser usadas para criptografar ou descriptografar dados em repouso, como índices e mapas de sinônimos.

Nome Tipo Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

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

keyVaultKeyName

string

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

keyVaultKeyVersion

string

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

keyVaultUri

string

O URI do Azure Key Vault, também conhecido como nome DNS, que contém a chave a ser usada para criptografar seus dados em repouso. 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 designada como "exclusão reversível".

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.