Condividi tramite


Data Sources - Create Or Update

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

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2023-10-01-Preview
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2023-10-01-Preview&ignoreResetRequirements={ignoreResetRequirements}

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 api client.

ignoreResetRequirements
query

boolean

Ignora i requisiti di reimpostazione della cache.

Intestazione della richiesta

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

string

uuid

ID di rilevamento inviato con la richiesta di assistenza per 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:

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à influenzata. 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.

identity SearchIndexerDataIdentity:

Identità gestita esplicita da usare per questa origine dati. Se non specificato e il stringa di connessione è un'identità gestita, viene usata l'identità gestita assegnata dal sistema. Se non specificato, il valore rimane invariato. Se viene specificato "none", il valore di questa proprietà viene cancellato.

Risposte

Nome Tipo Descrizione
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

Risposta di errore.

Esempio

SearchServiceCreateOrUpdateDataSource

Sample Request

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

Sample Response

{
  "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 la connessione a un'origine dati.

HighWaterMarkChangeDetectionPolicy

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

NativeBlobSoftDeleteDeletionDetectionPolicy

Definisce un criterio di rilevamento dell'eliminazione dei dati che usa la funzionalità di eliminazione temporanea nativa di Archiviazione BLOB di Azure per il rilevamento dell'eliminazione.

SearchError

Descrive una condizione di errore per l'API.

SearchIndexerDataContainer

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

SearchIndexerDataNoneIdentity

Cancella la proprietà identity di un'origine dati.

SearchIndexerDataSource

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

SearchIndexerDataSourceType

Definisce il tipo di un'origine dati.

SearchIndexerDataUserAssignedIdentity

Specifica l'identità per un'origine dati da usare.

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à Integrata Rilevamento modifiche di Azure SQL Database.

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 per l'Key Vault 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 la connessione 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 il stringa di connessione. Impostare su <redacted> se si desidera rimuovere il valore stringa di connessione dall'origine dati.

HighWaterMarkChangeDetectionPolicy

Definisce un criterio di rilevamento delle modifiche dei dati che acquisisce le modifiche in base al valore di una colonna del 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 contrassegno dell'acqua alta.

NativeBlobSoftDeleteDeletionDetectionPolicy

Definisce un criterio di rilevamento dell'eliminazione dei dati che usa la funzionalità di eliminazione temporanea nativa di Archiviazione BLOB di Azure per il rilevamento dell'eliminazione.

Nome Tipo Descrizione
@odata.type string:

#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy

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

SearchError

Descrive una condizione di errore per l'API.

Nome Tipo Descrizione
code

string

Uno dei set definiti dal server di codici di errore.

details

SearchError[]

Matrice di dettagli sugli errori specifici che hanno causato questo errore segnalato.

message

string

Rappresentazione leggibile dell'errore.

SearchIndexerDataContainer

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

Nome Tipo Descrizione
name

string

Nome della tabella o della vista (per Azure SQL'origine dati) 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 da Azure SQL origini dati.

SearchIndexerDataNoneIdentity

Cancella la proprietà identity di un'origine dati.

Nome Tipo Descrizione
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

Frammento URI che specifica il tipo di identità.

SearchIndexerDataSource

Rappresenta una definizione dell'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:

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à influenzata. 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.

identity SearchIndexerDataIdentity:

Identità gestita esplicita da usare per questa origine dati. Se non specificato e il stringa di connessione è un'identità gestita, viene usata l'identità gestita assegnata dal sistema. Se non specificato, il valore rimane invariato. Se viene specificato "none", il valore di questa proprietà viene cancellato.

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 Azure SQL.

azuretable

string

Indica un'origine dati tabella di Azure.

cosmosdb

string

Indica un'origine dati CosmosDB.

mysql

string

Indica un'origine dati MySql.

SearchIndexerDataUserAssignedIdentity

Specifica l'identità per un'origine dati da usare.

Nome Tipo Descrizione
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

Frammento URI che specifica il tipo di identità.

userAssignedIdentity

string

ID risorsa di Azure completo di un'identità gestita assegnata dall'utente nel formato "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" che dovrebbe essere stato assegnato al servizio di ricerca.

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.

identity SearchIndexerDataIdentity:

Identità gestita esplicita da usare per questa chiave di crittografia. Se non specificato e la proprietà delle credenziali di accesso è Null, viene usata l'identità gestita assegnata dal sistema. Se l'identità esplicita non è specificata, l'aggiornamento alla risorsa rimane invariato. Se viene specificato "none", il valore di questa proprietà viene cancellato.

keyVaultKeyName

string

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

keyVaultKeyVersion

string

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

keyVaultUri

string

L'URI del Key Vault di Azure, detto anche nome DNS, che contiene la chiave da usare per crittografare i dati inattivi. Un URI di esempio può 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 di 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 del marcatore che identifica un elemento come eliminato.

SqlIntegratedChangeTrackingPolicy

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

Nome Tipo Descrizione
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

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