Condividi tramite


Data Sources - Create Or Update

Crea una nuova origine dati o aggiorna un'origine dati, se esiste già.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
dataSourceName
path True

string

Nome dell'origine dati da creare o aggiornare.

endpoint
path True

string

URL dell'endpoint del servizio di ricerca.

api-version
query True

string

Versione dell'API client.

Intestazione della richiesta

Nome Necessario Tipo Descrizione
x-ms-client-request-id

string

uuid

ID di rilevamento inviato con la richiesta per facilitare il debug.

If-Match

string

Definisce la condizione di If-Match. L'operazione verrà eseguita solo se l'ETag nel server corrisponde a questo valore.

If-None-Match

string

Definisce la condizione If-None-Match. L'operazione verrà eseguita solo se l'ETag nel server non corrisponde a questo valore.

Prefer True

string

Per le richieste HTTP PUT, indica al servizio di restituire la risorsa creata/aggiornata in caso di esito positivo.

Corpo della richiesta

Nome Necessario Tipo Descrizione
container True

SearchIndexerDataContainer

Contenitore di dati per l'origine dati.

credentials True

DataSourceCredentials

Credenziali per l'origine dati.

name True

string

Nome dell'origine dati.

type True

SearchIndexerDataSourceType

Tipo dell'origine dati.

@odata.etag

string

ETag dell'origine dati.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Criteri di rilevamento delle modifiche dei dati per l'origine dati.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Criteri di rilevamento dell'eliminazione dei dati per l'origine dati.

description

string

Descrizione dell'origine dati.

encryptionKey

SearchResourceEncryptionKey

Descrizione di una chiave di crittografia creata in Azure Key Vault. Questa chiave viene usata per fornire un livello aggiuntivo di crittografia dei dati inattivi per la definizione dell'origine dati quando si vuole garantire che nessuno, nemmeno Microsoft, possa decrittografare la definizione dell'origine dati. Dopo aver crittografato la definizione dell'origine dati, rimarrà sempre crittografata. Il servizio di ricerca ignorerà i tentativi di impostare questa proprietà su Null. È possibile modificare questa proprietà in base alle esigenze se si vuole ruotare la chiave di crittografia; La definizione dell'origine dati non sarà interessata. La crittografia con chiavi gestite dal cliente non è disponibile per i servizi di ricerca gratuiti ed è disponibile solo per i servizi a pagamento creati il 1° gennaio 2019.

Risposte

Nome Tipo Descrizione
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

Risposta di errore.

Esempio

SearchServiceCreateOrUpdateDataSource

Esempio di richiesta

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
  }
}

Risposta di esempio

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

Definizioni

Nome Descrizione
AzureActiveDirectoryApplicationCredentials

Credenziali di un'applicazione registrata creata per il servizio di ricerca, usata per l'accesso autenticato alle chiavi di crittografia archiviate in Azure Key Vault.

DataSourceCredentials

Rappresenta le credenziali che possono essere usate per connettersi a un'origine dati.

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

ErrorDetail

Dettagli dell'errore.

ErrorResponse

Risposta di errore

HighWaterMarkChangeDetectionPolicy

Definisce un criterio di rilevamento delle modifiche dei dati che acquisisce le modifiche in base al valore di una colonna di contrassegno di acqua elevata.

SearchIndexerDataContainer

Rappresenta informazioni sull'entità, ad esempio la tabella SQL di Azure o la raccolta CosmosDB, che verranno indicizzate.

SearchIndexerDataSource

Rappresenta una definizione di origine dati, che può essere utilizzata per configurare un indicizzatore.

SearchIndexerDataSourceType

Definisce il tipo di un'origine dati.

SearchResourceEncryptionKey

Una chiave di crittografia gestita dal cliente in Azure Key Vault. Le chiavi create e gestite possono essere usate per crittografare o decrittografare i dati inattivi, ad esempio indici e mappe sinonimi.

SoftDeleteColumnDeletionDetectionPolicy

Definisce un criterio di rilevamento dell'eliminazione dei dati che implementa una strategia di eliminazione temporanea. Determina se un elemento deve essere eliminato in base al valore di una colonna "eliminazione temporanea" designata.

SqlIntegratedChangeTrackingPolicy

Definisce un criterio di rilevamento delle modifiche dei dati che acquisisce le modifiche usando la funzionalità Rilevamento modifiche integrato del database SQL di Azure.

AzureActiveDirectoryApplicationCredentials

Credenziali di un'applicazione registrata creata per il servizio di ricerca, usata per l'accesso autenticato alle chiavi di crittografia archiviate in Azure Key Vault.

Nome Tipo Descrizione
applicationId

string

ID applicazione AAD a cui sono state concesse le autorizzazioni di accesso necessarie all'insieme di credenziali delle chiavi di Azure da usare durante la crittografia dei dati inattivi. L'ID applicazione non deve essere confuso con l'ID oggetto per l'applicazione AAD.

applicationSecret

string

Chiave di autenticazione dell'applicazione AAD specificata.

DataSourceCredentials

Rappresenta le credenziali che possono essere usate per connettersi a un'origine dati.

Nome Tipo Descrizione
connectionString

string

Stringa di connessione per l'origine dati. Impostare su <unchanged> (con parentesi quadre) se non si vuole aggiornare la stringa di connessione. Impostare su <redacted> se si desidera rimuovere il valore della stringa di connessione dall'origine dati.

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

Nome Tipo Descrizione
info

object

Informazioni aggiuntive.

type

string

Tipo di informazioni aggiuntive.

ErrorDetail

Dettagli dell'errore.

Nome Tipo Descrizione
additionalInfo

ErrorAdditionalInfo[]

Informazioni aggiuntive sull'errore.

code

string

Codice di errore.

details

ErrorDetail[]

Dettagli dell'errore.

message

string

Messaggio di errore.

target

string

Destinazione dell'errore.

ErrorResponse

Risposta di errore

Nome Tipo Descrizione
error

ErrorDetail

Oggetto error.

HighWaterMarkChangeDetectionPolicy

Definisce un criterio di rilevamento delle modifiche dei dati che acquisisce le modifiche in base al valore di una colonna di contrassegno di acqua elevata.

Nome Tipo Descrizione
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

Frammento URI che specifica il tipo di criteri di rilevamento delle modifiche dei dati.

highWaterMarkColumnName

string

Nome della colonna del segno d'acqua elevato.

SearchIndexerDataContainer

Rappresenta informazioni sull'entità, ad esempio la tabella SQL di Azure o la raccolta CosmosDB, che verranno indicizzate.

Nome Tipo Descrizione
name

string

Nome della tabella o della vista (per l'origine dati SQL di Azure) o raccolta (per l'origine dati CosmosDB) che verrà indicizzata.

query

string

Query applicata a questo contenitore di dati. La sintassi e il significato di questo parametro sono specifici dell'origine dati. Non supportato dalle origini dati SQL di Azure.

SearchIndexerDataSource

Rappresenta una definizione di origine dati, che può essere utilizzata per configurare un indicizzatore.

Nome Tipo Descrizione
@odata.etag

string

ETag dell'origine dati.

container

SearchIndexerDataContainer

Contenitore di dati per l'origine dati.

credentials

DataSourceCredentials

Credenziali per l'origine dati.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Criteri di rilevamento delle modifiche dei dati per l'origine dati.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Criteri di rilevamento dell'eliminazione dei dati per l'origine dati.

description

string

Descrizione dell'origine dati.

encryptionKey

SearchResourceEncryptionKey

Descrizione di una chiave di crittografia creata in Azure Key Vault. Questa chiave viene usata per fornire un livello aggiuntivo di crittografia dei dati inattivi per la definizione dell'origine dati quando si vuole garantire che nessuno, nemmeno Microsoft, possa decrittografare la definizione dell'origine dati. Dopo aver crittografato la definizione dell'origine dati, rimarrà sempre crittografata. Il servizio di ricerca ignorerà i tentativi di impostare questa proprietà su Null. È possibile modificare questa proprietà in base alle esigenze se si vuole ruotare la chiave di crittografia; La definizione dell'origine dati non sarà interessata. La crittografia con chiavi gestite dal cliente non è disponibile per i servizi di ricerca gratuiti ed è disponibile solo per i servizi a pagamento creati il 1° gennaio 2019.

name

string

Nome dell'origine dati.

type

SearchIndexerDataSourceType

Tipo dell'origine dati.

SearchIndexerDataSourceType

Definisce il tipo di un'origine dati.

Nome Tipo Descrizione
adlsgen2

string

Indica un'origine dati ADLS Gen2.

azureblob

string

Indica un'origine dati BLOB di Azure.

azuresql

string

Indica un'origine dati SQL di Azure.

azuretable

string

Indica un'origine dati tabella di Azure.

cosmosdb

string

Indica un'origine dati cosmosDB.

mysql

string

Indica un'origine dati MySql.

SearchResourceEncryptionKey

Una chiave di crittografia gestita dal cliente in Azure Key Vault. Le chiavi create e gestite possono essere usate per crittografare o decrittografare i dati inattivi, ad esempio indici e mappe sinonimi.

Nome Tipo Descrizione
accessCredentials

AzureActiveDirectoryApplicationCredentials

Credenziali facoltative di Azure Active Directory usate per l'accesso ad Azure Key Vault. Non obbligatorio se invece si usa l'identità gestita.

keyVaultKeyName

string

Nome della chiave di Azure Key Vault da usare per crittografare i dati inattivi.

keyVaultKeyVersion

string

Versione della chiave di Azure Key Vault da usare per crittografare i dati inattivi.

keyVaultUri

string

L'URI dell'insieme di credenziali delle chiavi di Azure, detto anche nome DNS, che contiene la chiave da usare per crittografare i dati inattivi. Un URI di esempio potrebbe essere https://my-keyvault-name.vault.azure.net.

SoftDeleteColumnDeletionDetectionPolicy

Definisce un criterio di rilevamento dell'eliminazione dei dati che implementa una strategia di eliminazione temporanea. Determina se un elemento deve essere eliminato in base al valore di una colonna "eliminazione temporanea" designata.

Nome Tipo Descrizione
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Frammento URI che specifica il tipo di criteri di rilevamento dell'eliminazione dei dati.

softDeleteColumnName

string

Nome della colonna da utilizzare per il rilevamento dell'eliminazione temporanea.

softDeleteMarkerValue

string

Valore dell'indicatore che identifica un elemento come eliminato.

SqlIntegratedChangeTrackingPolicy

Definisce un criterio di rilevamento delle modifiche dei dati che acquisisce le modifiche usando la funzionalità Rilevamento modifiche integrato del database SQL di Azure.

Nome Tipo Descrizione
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Frammento URI che specifica il tipo di criteri di rilevamento delle modifiche dei dati.