Partilhar via


Data Sources - Create Or Update

Cria uma nova origem de dados ou atualiza uma origem de dados se já existir.

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-05-01-preview
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-05-01-preview&ignoreResetRequirements={ignoreResetRequirements}

Parâmetros do URI

Name Em Necessário Tipo Description
dataSourceName
path True

string

O nome da origem de dados para criar ou atualizar.

endpoint
path True

string

O URL do ponto final do serviço de pesquisa.

api-version
query True

string

Versão da API de Cliente.

ignoreResetRequirements
query

boolean

Ignora os requisitos de reposição da cache.

Cabeçalho do Pedido

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

string

uuid

O ID de controlo enviado com o pedido para ajudar na depuração.

If-Match

string

Define a condição If-Match. A operação só será efetuada se o ETag no servidor corresponder a este valor.

If-None-Match

string

Define a condição If-None-Match. A operação só será efetuada se o ETag no servidor não corresponder a este valor.

Prefer True

string

Para pedidos HTTP PUT, instrui o serviço a devolver o recurso criado/atualizado com êxito.

Corpo do Pedido

Name Necessário Tipo Description
container True

SearchIndexerDataContainer

O contentor de dados da origem de dados.

credentials True

DataSourceCredentials

Credenciais da origem de dados.

name True

string

O nome da origem de dados.

type True

SearchIndexerDataSourceType

O tipo da origem de dados.

@odata.etag

string

A ETag da origem de dados.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

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

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

A política de deteção de eliminação de dados para a origem de dados.

description

string

A descrição da origem de dados.

encryptionKey

SearchResourceEncryptionKey

Uma descrição de uma chave de encriptação que cria no Azure Key Vault. Esta chave é utilizada para fornecer um nível adicional de encriptação inativa para a definição da sua origem de dados quando quiser ter a garantia total de que ninguém, nem mesmo a Microsoft, pode desencriptar a definição da sua origem de dados. Depois de encriptar a definição da origem de dados, esta permanecerá sempre encriptada. O serviço de pesquisa irá ignorar as tentativas de definir esta propriedade como nula. Pode alterar esta propriedade conforme necessário se quiser rodar a chave de encriptação; A definição da origem de dados não será afetada. A encriptação com chaves geridas pelo cliente não está disponível para serviços de pesquisa gratuita e só está disponível para serviços pagos criados a partir de 1 de janeiro de 2019 ou depois de 1 de janeiro de 2019.

identity SearchIndexerDataIdentity:

Uma identidade gerida explícita a utilizar para esta origem de dados. Se não for especificado e o cadeia de ligação for uma identidade gerida, é utilizada a identidade gerida atribuída pelo sistema. Se não for especificado, o valor permanece inalterado. Se "nenhum" for especificado, o valor desta propriedade é limpo.

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-05-01-preview


{
  "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 uma aplicação registada criada para o seu serviço de pesquisa, utilizada para acesso autenticado às chaves de encriptação armazenadas no Azure Key Vault.

DataSourceCredentials

Representa credenciais que podem ser utilizadas para ligar a uma origem de dados.

ErrorAdditionalInfo

Informações adicionais sobre o erro de gestão de recursos.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta a erros

HighWaterMarkChangeDetectionPolicy

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

NativeBlobSoftDeleteDeletionDetectionPolicy

Define uma política de deteção de eliminação de dados que utiliza a funcionalidade de eliminação recuperável nativa do Armazenamento de Blobs do Azure para a deteção de eliminação.

SearchIndexerDataContainer

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

SearchIndexerDataNoneIdentity

Limpa a propriedade de identidade de uma origem de dados.

SearchIndexerDataSource

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

SearchIndexerDataSourceType

Define o tipo de uma origem de dados.

SearchIndexerDataUserAssignedIdentity

Especifica a identidade de uma origem de dados a utilizar.

SearchResourceEncryptionKey

Uma chave de encriptação gerida pelo cliente no Azure Key Vault. As chaves que cria e gere podem ser utilizadas para encriptar ou desencriptar dados inativos, como índices e mapas de sinónimos.

SoftDeleteColumnDeletionDetectionPolicy

Define uma política de deteção de eliminação de dados que implementa uma estratégia de eliminação recuperável. Determina se um item deve ser eliminado com base no valor de uma coluna designada "eliminação recuperável".

SqlIntegratedChangeTrackingPolicy

Define uma política de deteção de alteração de dados que captura alterações com a funcionalidade Controlo de Alterações Integrada da Base de Dados SQL do Azure.

AzureActiveDirectoryApplicationCredentials

Credenciais de uma aplicação registada criada para o seu serviço de pesquisa, utilizada para acesso autenticado às chaves de encriptação armazenadas no Azure Key Vault.

Name Tipo Description
applicationId

string

Um ID da Aplicação do AAD ao qual foram concedidas as permissões de acesso necessárias ao Azure Key Vault que deve ser utilizado ao encriptar os seus dados inativos. O ID da Aplicação não deve ser confundido com o ID de Objeto da sua Aplicação do AAD.

applicationSecret

string

A chave de autenticação da aplicação do AAD especificada.

DataSourceCredentials

Representa credenciais que podem ser utilizadas para ligar a uma origem de dados.

Name Tipo Description
connectionString

string

O cadeia de ligação para a origem de dados. Defina como <unchanged> (com parênteses retos) se não quiser que o cadeia de ligação atualizado. Defina como <redacted> se quiser remover o valor cadeia de ligação da origem de dados.

ErrorAdditionalInfo

Informações adicionais sobre o erro de gestão de recursos.

Name Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informações adicionais.

ErrorDetail

O detalhe do erro.

Name 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 a erros

Name Tipo Description
error

ErrorDetail

O objeto de erro.

HighWaterMarkChangeDetectionPolicy

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

Name Tipo Description
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

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

highWaterMarkColumnName

string

O nome da coluna de marca de água alta.

NativeBlobSoftDeleteDeletionDetectionPolicy

Define uma política de deteção de eliminação de dados que utiliza a funcionalidade de eliminação recuperável nativa do Armazenamento de Blobs do Azure para a deteção de eliminação.

Name Tipo Description
@odata.type string:

#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy

Um fragmento de URI que especifica o tipo de política de deteção de eliminação de dados.

SearchIndexerDataContainer

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

Name Tipo Description
name

string

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

query

string

Uma consulta que é aplicada a este contentor de dados. A sintaxe e o significado deste parâmetro são específicos da origem de dados. Não suportado por SQL do Azure origens de dados.

SearchIndexerDataNoneIdentity

Limpa a propriedade de identidade de uma origem de dados.

Name Tipo Description
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

Um fragmento de URI que especifica o tipo de identidade.

SearchIndexerDataSource

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

Name Tipo Description
@odata.etag

string

A ETag da origem de dados.

container

SearchIndexerDataContainer

O contentor de dados da origem de dados.

credentials

DataSourceCredentials

Credenciais da origem de dados.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

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

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

A política de deteção de eliminação de dados para a origem de dados.

description

string

A descrição da origem de dados.

encryptionKey

SearchResourceEncryptionKey

Uma descrição de uma chave de encriptação que cria no Azure Key Vault. Esta chave é utilizada para fornecer um nível adicional de encriptação inativa para a definição da sua origem de dados quando quiser ter a garantia total de que ninguém, nem mesmo a Microsoft, pode desencriptar a definição da sua origem de dados. Depois de encriptar a definição da origem de dados, esta permanecerá sempre encriptada. O serviço de pesquisa irá ignorar as tentativas de definir esta propriedade como nula. Pode alterar esta propriedade conforme necessário se quiser rodar a chave de encriptação; A definição da origem de dados não será afetada. A encriptação com chaves geridas pelo cliente não está disponível para serviços de pesquisa gratuita e só está disponível para serviços pagos criados a partir de 1 de janeiro de 2019 ou depois de 1 de janeiro de 2019.

identity SearchIndexerDataIdentity:

Uma identidade gerida explícita a utilizar para esta origem de dados. Se não for especificado e o cadeia de ligação for uma identidade gerida, é utilizada a identidade gerida atribuída pelo sistema. Se não for especificado, o valor permanece inalterado. Se "nenhum" for especificado, o valor desta propriedade é limpo.

name

string

O nome da origem de dados.

type

SearchIndexerDataSourceType

O tipo da origem de dados.

SearchIndexerDataSourceType

Define o tipo de uma origem de dados.

Name Tipo Description
adlsgen2

string

Indica uma origem de dados do ADLS Gen2.

azureblob

string

Indica uma origem de dados do Blob do Azure.

azuresql

string

Indica uma origem de dados SQL do Azure.

azuretable

string

Indica uma origem de dados de Tabela do Azure.

cosmosdb

string

Indica uma origem de dados do CosmosDB.

mysql

string

Indica uma origem de dados MySql.

onelake

string

Indica uma origem de dados do OneLake do Microsoft Fabric.

SearchIndexerDataUserAssignedIdentity

Especifica a identidade de uma origem de dados a utilizar.

Name Tipo Description
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

Um fragmento de URI que especifica o tipo de identidade.

userAssignedIdentity

string

O ID de recurso completamente qualificado do Azure de uma identidade gerida atribuída pelo utilizador normalmente no formulário "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" que deveria ter sido atribuído ao serviço de pesquisa.

SearchResourceEncryptionKey

Uma chave de encriptação gerida pelo cliente no Azure Key Vault. As chaves que cria e gere podem ser utilizadas para encriptar ou desencriptar dados inativos, como índices e mapas de sinónimos.

Name Tipo Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Credenciais opcionais do Azure Active Directory utilizadas para aceder ao seu Key Vault do Azure. Em vez disso, não é necessário utilizar a identidade gerida.

identity SearchIndexerDataIdentity:

Uma identidade gerida explícita a utilizar para esta chave de encriptação. Se não for especificado e a propriedade de credenciais de acesso for nula, é utilizada a identidade gerida atribuída pelo sistema. Ao atualizar para o recurso, se a identidade explícita não for especificada, permanecerá inalterada. Se "nenhum" for especificado, o valor desta propriedade é limpo.

keyVaultKeyName

string

O nome da chave de Key Vault do Azure a ser utilizada para encriptar os seus dados inativos.

keyVaultKeyVersion

string

A versão da chave de Key Vault do Azure a ser utilizada para encriptar os seus dados inativos.

keyVaultUri

string

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

SoftDeleteColumnDeletionDetectionPolicy

Define uma política de deteção de eliminação de dados que implementa uma estratégia de eliminação recuperável. Determina se um item deve ser eliminado com base no valor de uma coluna designada "eliminação recuperável".

Name Tipo Description
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Um fragmento de URI que especifica o tipo de política de deteção de eliminação de dados.

softDeleteColumnName

string

O nome da coluna a utilizar para a deteção de eliminação recuperável.

softDeleteMarkerValue

string

O valor do marcador que identifica um item como eliminado.

SqlIntegratedChangeTrackingPolicy

Define uma política de deteção de alteração de dados que captura alterações com a funcionalidade Controlo de Alterações Integrada da Base de Dados SQL do Azure.

Name Tipo Description
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

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