Dela via


Data Sources - Create

Skapar en ny datakälla.

POST {endpoint}/datasources?api-version=2023-11-01

URI-parametrar

Name I Obligatorisk Typ Description
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.

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:

Principen för identifiering av dataändringar för datakällan.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Principen för identifiering av databorttagning 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 din definition av datakällor när du vill ha fullständig säkerhet för 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. Definitionen av datakällan 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
201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

Felsvar.

Exempel

SearchServiceCreateDataSource

Exempelbegäran

POST https://myservice.search.windows.net/datasources?api-version=2023-11-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": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

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": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": 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.

HighWaterMarkChangeDetectionPolicy

Definierar en princip för identifiering av dataändringar som samlar in ändringar baserat på värdet för en kolumn med högt vattenmärke.

SearchError

Beskriver ett felvillkor för API:et.

SearchIndexerDataContainer

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

SearchIndexerDataSource

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

SearchIndexerDataSourceType

Definierar typen av 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 i söktjänsten, 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 "mjuk borttagning"-kolumn.

SqlIntegratedChangeTrackingPolicy

Definierar en princip för identifiering av dataändringar som samlar in ändringar med hjälp av 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 vid kryptering av vilande data. Program-ID:t ska 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

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

HighWaterMarkChangeDetectionPolicy

Definierar en princip för identifiering av dataändringar som samlar in ändringar baserat på värdet för en kolumn med högt vattenmärke.

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.

SearchError

Beskriver ett felvillkor för API:et.

Name Typ Description
code

string

En av en serverdefinierad uppsättning felkoder.

details

SearchError[]

En matris med information om specifika fel som ledde till det rapporterade felet.

message

string

En mänsklig läsbar representation av felet.

SearchIndexerDataContainer

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

Name Typ Description
name

string

Namnet på den tabell eller vy (för Azure SQL datakälla) eller samling (för CosmosDB-datakälla) 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 datasource-specific. Stöds inte av Azure SQL datakällor.

SearchIndexerDataSource

Representerar en datakällsdefinition 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:

Principen för identifiering av dataändringar för datakällan.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Principen för identifiering av databorttagning 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 din definition av datakällor när du vill ha fullständig säkerhet för 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. Definitionen av datakällan 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 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 i söktjänsten, till exempel index och synonymkartor.

Name Typ Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Valfria Azure Active Directory-autentiseringsuppgifter som används för att komma åt din 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 vilande data.

keyVaultKeyVersion

string

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

keyVaultUri

string

URI:n för din Azure-Key Vault, även kallad DNS-namn, som innehåller nyckeln som ska användas för att kryptera vilande data. 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 "mjuk borttagning"-kolumn.

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 hjälp av 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.