Dela via


Data Sources - Create Or Update

Skapar en ny datakälla eller uppdaterar en datakälla om den redan finns.

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

URI-parametrar

Name I Obligatorisk Typ Description
dataSourceName
path True

string

Namnet på den datakälla som ska skapas eller uppdateras.

endpoint
path True

string

Slutpunkts-URL:en för söktjänsten.

api-version
query True

string

Klient-API-version.

Begärandehuvud

Name Obligatorisk Typ Description
x-ms-client-request-id

string

uuid

Spårnings-ID:t som skickas med begäran för att hjälpa till med felsökning.

If-Match

string

Definierar villkoret If-Match. Åtgärden utförs endast om ETag på servern matchar det här värdet.

If-None-Match

string

Definierar villkoret If-None-Match. Åtgärden utförs endast om ETag på servern inte matchar det här värdet.

Prefer True

string

För HTTP PUT-begäranden instruerar du tjänsten att returnera den skapade/uppdaterade resursen när den lyckas.

Begärandetext

Name Obligatorisk Typ Description
container True

SearchIndexerDataContainer

Datacontainern för datakällan.

credentials True

DataSourceCredentials

Autentiseringsuppgifter för datakällan.

name True

string

Namnet på datakällan.

type True

SearchIndexerDataSourceType

Datakällans typ.

@odata.etag

string

ETag för datakällan.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Dataändringsidentifieringsprincipen för datakällan.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Databorttagningsidentifieringsprincipen för datakällan.

description

string

Beskrivningen av datakällan.

encryptionKey

SearchResourceEncryptionKey

En beskrivning av en krypteringsnyckel som du skapar i Azure Key Vault. Den här nyckeln används för att ge en ytterligare nivå av kryptering i vila för datakällans definition när du vill ha fullständig försäkran om att ingen, inte ens Microsoft, kan dekryptera datakälldefinitionen. När du har krypterat datakällans definition förblir den alltid krypterad. Söktjänsten ignorerar försök att ange den här egenskapen till null. Du kan ändra den här egenskapen efter behov om du vill rotera krypteringsnyckeln. Datakällans definition påverkas inte. Kryptering med kundhanterade nycklar är inte tillgängligt för kostnadsfria söktjänster och är endast tillgängligt för betaltjänster som skapats den 1 januari 2019 eller senare.

Svar

Name Typ Description
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

Felsvar.

Exempel

SearchServiceCreateOrUpdateDataSource

Exempelbegäran

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

Exempelsvar

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

Definitioner

Name Description
AzureActiveDirectoryApplicationCredentials

Autentiseringsuppgifter för ett registrerat program som skapats för din söktjänst och som används för autentiserad åtkomst till krypteringsnycklarna som lagras i Azure Key Vault.

DataSourceCredentials

Representerar autentiseringsuppgifter som kan användas för att ansluta till en datakälla.

ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

ErrorDetail

Felinformationen.

ErrorResponse

Felsvar

HighWaterMarkChangeDetectionPolicy

Definierar en princip för identifiering av dataändringar som samlar in ändringar baserat på värdet för en högvattenmärkeskolumn.

SearchIndexerDataContainer

Representerar information om entiteten (till exempel Azure SQL-tabellen eller CosmosDB-samlingen) som ska indexeras.

SearchIndexerDataSource

Representerar en datakälladefinition som kan användas för att konfigurera en indexerare.

SearchIndexerDataSourceType

Definierar typen av en datakälla.

SearchResourceEncryptionKey

En kundhanterad krypteringsnyckel i Azure Key Vault. Nycklar som du skapar och hanterar kan användas för att kryptera eller dekryptera vilande data, till exempel index och synonymkartor.

SoftDeleteColumnDeletionDetectionPolicy

Definierar en princip för identifiering av databorttagning som implementerar en strategi för mjuk borttagning. Den avgör om ett objekt ska tas bort baserat på värdet för en angiven kolumn för mjuk borttagning.

SqlIntegratedChangeTrackingPolicy

Definierar en princip för identifiering av dataändringar som samlar in ändringar med funktionen Integrerad ändringsspårning i Azure SQL Database.

AzureActiveDirectoryApplicationCredentials

Autentiseringsuppgifter för ett registrerat program som skapats för din söktjänst och som används för autentiserad åtkomst till krypteringsnycklarna som lagras i Azure Key Vault.

Name Typ Description
applicationId

string

Ett AAD-program-ID som har beviljats nödvändiga åtkomstbehörigheter till Azure Key Vault som ska användas när du krypterar dina data i vila. Program-ID:t bör inte förväxlas med objekt-ID:t för ditt AAD-program.

applicationSecret

string

Autentiseringsnyckeln för det angivna AAD-programmet.

DataSourceCredentials

Representerar autentiseringsuppgifter som kan användas för att ansluta till en datakälla.

Name Typ Description
connectionString

string

Anslutningssträngen för datakällan. Ange till <unchanged> (med hakparenteser) om du inte vill att anslutningssträngen ska uppdateras. Ange till <redacted> om du vill ta bort anslutningssträngsvärdet från datakällan.

ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

Name Typ Description
info

object

Ytterligare information.

type

string

Ytterligare informationstyp.

ErrorDetail

Felinformationen.

Name Typ Description
additionalInfo

ErrorAdditionalInfo[]

Ytterligare information om felet.

code

string

Felkoden.

details

ErrorDetail[]

Felinformationen.

message

string

Felmeddelandet.

target

string

Felmålet.

ErrorResponse

Felsvar

Name Typ Description
error

ErrorDetail

Felobjektet.

HighWaterMarkChangeDetectionPolicy

Definierar en princip för identifiering av dataändringar som samlar in ändringar baserat på värdet för en högvattenmärkeskolumn.

Name Typ Description
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

Ett URI-fragment som anger typen av princip för identifiering av dataändringar.

highWaterMarkColumnName

string

Namnet på högvattenmärkeskolumnen.

SearchIndexerDataContainer

Representerar information om entiteten (till exempel Azure SQL-tabellen eller CosmosDB-samlingen) som ska indexeras.

Name Typ Description
name

string

Namnet på tabellen eller vyn (för Azure SQL-datakällan) eller samlingen (för CosmosDB-datakällan) som ska indexeras.

query

string

En fråga som tillämpas på den här datacontainern. Syntaxen och innebörden för den här parametern är datakällaspecifik. Stöds inte av Azure SQL-datakällor.

SearchIndexerDataSource

Representerar en datakälladefinition som kan användas för att konfigurera en indexerare.

Name Typ Description
@odata.etag

string

ETag för datakällan.

container

SearchIndexerDataContainer

Datacontainern för datakällan.

credentials

DataSourceCredentials

Autentiseringsuppgifter för datakällan.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Dataändringsidentifieringsprincipen för datakällan.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Databorttagningsidentifieringsprincipen för datakällan.

description

string

Beskrivningen av datakällan.

encryptionKey

SearchResourceEncryptionKey

En beskrivning av en krypteringsnyckel som du skapar i Azure Key Vault. Den här nyckeln används för att ge en ytterligare nivå av kryptering i vila för datakällans definition när du vill ha fullständig försäkran om att ingen, inte ens Microsoft, kan dekryptera datakälldefinitionen. När du har krypterat datakällans definition förblir den alltid krypterad. Söktjänsten ignorerar försök att ange den här egenskapen till null. Du kan ändra den här egenskapen efter behov om du vill rotera krypteringsnyckeln. Datakällans definition påverkas inte. Kryptering med kundhanterade nycklar är inte tillgängligt för kostnadsfria söktjänster och är endast tillgängligt för betaltjänster som skapats den 1 januari 2019 eller senare.

name

string

Namnet på datakällan.

type

SearchIndexerDataSourceType

Datakällans typ.

SearchIndexerDataSourceType

Definierar typen av en datakälla.

Name Typ Description
adlsgen2

string

Anger en ADLS Gen2-datakälla.

azureblob

string

Anger en Azure Blob-datakälla.

azuresql

string

Anger en Azure SQL-datakälla.

azuretable

string

Anger en Azure Table-datakälla.

cosmosdb

string

Anger en CosmosDB-datakälla.

mysql

string

Anger en MySql-datakälla.

SearchResourceEncryptionKey

En kundhanterad krypteringsnyckel i Azure Key Vault. Nycklar som du skapar och hanterar kan användas för att kryptera eller dekryptera vilande data, till exempel index och synonymkartor.

Name Typ Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Valfria Azure Active Directory-autentiseringsuppgifter som används för att komma åt ditt Azure Key Vault. Krävs inte om du använder hanterad identitet i stället.

keyVaultKeyName

string

Namnet på din Azure Key Vault-nyckel som ska användas för att kryptera dina vilande data.

keyVaultKeyVersion

string

Den version av Azure Key Vault-nyckeln som ska användas för att kryptera dina vilande data.

keyVaultUri

string

URI:n för ditt Azure Key Vault, även kallat DNS-namn, som innehåller nyckeln som ska användas för att kryptera dina data i vila. Ett exempel på en URI kan vara https://my-keyvault-name.vault.azure.net.

SoftDeleteColumnDeletionDetectionPolicy

Definierar en princip för identifiering av databorttagning som implementerar en strategi för mjuk borttagning. Den avgör om ett objekt ska tas bort baserat på värdet för en angiven kolumn för mjuk borttagning.

Name Typ Description
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Ett URI-fragment som anger typen av princip för identifiering av databorttagning.

softDeleteColumnName

string

Namnet på kolumnen som ska användas för identifiering av mjuk borttagning.

softDeleteMarkerValue

string

Det markörvärde som identifierar ett objekt som borttaget.

SqlIntegratedChangeTrackingPolicy

Definierar en princip för identifiering av dataändringar som samlar in ändringar med funktionen Integrerad ändringsspårning i Azure SQL Database.

Name Typ Description
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Ett URI-fragment som anger typen av princip för identifiering av dataändringar.