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=2023-10-01-Preview
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2023-10-01-Preview&ignoreResetRequirements={ignoreResetRequirements}
Parâmetros de URI
Nome | Em | Obrigatório | Tipo | Description |
---|---|---|---|---|
data
|
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. |
ignore
|
query |
boolean |
Ignora os requisitos de redefinição de cache. |
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. |
|
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 em caso de êxito. |
Corpo da solicitação
Nome | Obrigatório | Tipo | Description |
---|---|---|---|
container | True |
O contêiner de dados para a fonte de dados. |
|
credentials | True |
Credenciais para a fonte de dados. |
|
name | True |
string |
O nome da fonte de dados. |
type | True |
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: |
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 |
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ê deseja ter total garantia 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 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 a partir de 1º de janeiro de 2019. |
||
identity | SearchIndexerDataIdentity: |
Uma identidade gerenciada explícita a ser usada para essa fonte de dados. Se não for especificado e o cadeia de conexão for uma identidade gerenciada, a identidade gerenciada atribuída pelo sistema será usada. Se não for especificado, o valor permanecerá inalterado. Se "none" for especificado, o valor dessa propriedade será limpo. |
Respostas
Nome | Tipo | Description |
---|---|---|
200 OK | ||
201 Created | ||
Other Status Codes |
Resposta de erro. |
Exemplos
SearchServiceCreateOrUpdateDataSource
Solicitação de exemplo
PUT https://myservice.search.windows.net/datasources('mydatasource')?api-version=2023-10-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 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 |
---|---|
Azure |
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. |
Data |
Representa as credenciais que podem ser usadas para se conectar a uma fonte de dados. |
High |
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. |
Native |
Define uma política de detecção de exclusão de dados utilizando o recurso de exclusão reversível nativa do Armazenamento de Blobs do Azure para detecção de exclusão. |
Search |
Descreve uma condição de erro para a API. |
Search |
Representa informações sobre a entidade (como SQL do Azure tabela ou coleção do CosmosDB) que serão indexadas. |
Search |
Limpa a propriedade de identidade de uma fonte de dados. |
Search |
Representa uma definição de fonte de dados, que pode ser usada para configurar um indexador. |
Search |
Define o tipo de uma fonte de dados. |
Search |
Especifica a identidade de uma fonte de dados a ser usada. |
Search |
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. |
Soft |
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 temporária" designada. |
Sql |
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 inativos. A ID do Aplicativo não deve ser confundida com a ID de Objeto do 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.
|
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. |
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. |
NativeBlobSoftDeleteDeletionDetectionPolicy
Define uma política de detecção de exclusão de dados utilizando o recurso de exclusão reversível nativa do Armazenamento de Blobs do Azure para detecção de exclusão.
Nome | Tipo | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
Um fragmento de URI que especifica o tipo de política de detecção de exclusão de dados. |
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 |
Uma matriz de detalhes sobre erros específicos que levaram a esse erro relatado. |
|
message |
string |
Uma representação legível do erro. |
SearchIndexerDataContainer
Representa informações sobre a entidade (como SQL do Azure tabela ou coleção do 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. |
SearchIndexerDataNoneIdentity
Limpa a propriedade de identidade de uma fonte de dados.
Nome | Tipo | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
Um fragmento de URI que especifica o tipo de identidade. |
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 |
O contêiner de dados para a fonte de dados. |
|
credentials |
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: |
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 |
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ê deseja ter total garantia 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 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 a partir de 1º de janeiro de 2019. |
|
identity | SearchIndexerDataIdentity: |
Uma identidade gerenciada explícita a ser usada para essa fonte de dados. Se não for especificado e o cadeia de conexão for uma identidade gerenciada, a identidade gerenciada atribuída pelo sistema será usada. Se não for especificado, o valor permanecerá inalterado. Se "none" for especificado, o valor dessa propriedade será limpo. |
name |
string |
O nome da fonte de dados. |
type |
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 de 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 do MySql. |
SearchIndexerDataUserAssignedIdentity
Especifica a identidade de uma fonte de dados a ser usada.
Nome | Tipo | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
Um fragmento de URI que especifica o tipo de identidade. |
userAssignedIdentity |
string |
A ID de recurso do Azure totalmente qualificada de uma identidade gerenciada atribuída pelo usuário normalmente no formato "/subscriptions/12345678-1234-1234-12334-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" que deveria ter sido atribuída ao serviço de pesquisa. |
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 |
Credenciais opcionais do Azure Active Directory usadas para acessar o Key Vault do Azure. Não é necessário se estiver usando a identidade gerenciada. |
|
identity | SearchIndexerDataIdentity: |
Uma identidade gerenciada explícita a ser usada para essa chave de criptografia. Se não for especificada e a propriedade de credenciais de acesso for nula, a identidade gerenciada atribuída pelo sistema será usada. Ao atualizar para o recurso, se a identidade explícita não for especificada, ela permanecerá inalterada. Se "none" for especificado, o valor dessa propriedade será limpo. |
keyVaultKeyName |
string |
O nome da chave de Key Vault do Azure a ser usada para criptografar seus dados inativos. |
keyVaultKeyVersion |
string |
A versão da chave de Key Vault do Azure a ser usada para criptografar seus dados inativos. |
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 |
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 temporária" designada.
Nome | Tipo | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
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. |
Um fragmento de URI que especifica o tipo de política de detecção de alteração de dados. |