Freigeben über


Data Sources - Create Or Update

Erstellt eine neue Datenquelle oder aktualisiert eine Datenquelle, wenn sie bereits vorhanden ist.

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

URI-Parameter

Name In Erforderlich Typ Beschreibung
dataSourceName
path True

string

Der Name der zu erstellenden oder zu aktualisierenden Datenquelle.

endpoint
path True

string

Die Endpunkt-URL des Suchdiensts.

api-version
query True

string

Client-API-Version.

Anforderungsheader

Name Erforderlich Typ Beschreibung
x-ms-client-request-id

string

uuid

Die Tracking-ID, die mit der Anforderung gesendet wurde, um beim Debuggen zu helfen.

If-Match

string

Definiert die If-Match Bedingung. Der Vorgang wird nur ausgeführt, wenn das ETag auf dem Server mit diesem Wert übereinstimmt.

If-None-Match

string

Definiert die If-None-Match-Bedingung. Der Vorgang wird nur ausgeführt, wenn das ETag auf dem Server nicht mit diesem Wert übereinstimmt.

Prefer True

string

Für HTTP PUT-Anforderungen weist der Dienst an, die erstellte/aktualisierte Ressource bei Erfolg zurückzugeben.

Anforderungstext

Name Erforderlich Typ Beschreibung
container True

SearchIndexerDataContainer

Der Datencontainer für die Datenquelle.

credentials True

DataSourceCredentials

Anmeldeinformationen für die Datenquelle.

name True

string

Der Name der Datenquelle.

type True

SearchIndexerDataSourceType

Der Typ der Datenquelle.

@odata.etag

string

Das ETag der Datenquelle.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Die Datenänderungserkennungsrichtlinie für die Datenquelle.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Die Datenlöscherkennungsrichtlinie für die Datenquelle.

description

string

Die Beschreibung der Datenquelle.

encryptionKey

SearchResourceEncryptionKey

Eine Beschreibung eines Verschlüsselungsschlüssels, den Sie in Azure Key Vault erstellen. Dieser Schlüssel wird verwendet, um eine zusätzliche Stufe der verschlüsselungsinternen Verschlüsselung für Ihre Datenquellendefinition bereitzustellen, wenn Sie eine vollständige Sicherheit wünschen, dass niemand, nicht einmal Microsoft, Ihre Datenquellendefinition entschlüsseln kann. Nachdem Sie Ihre Datenquellendefinition verschlüsselt haben, bleibt sie immer verschlüsselt. Der Suchdienst ignoriert Versuche, diese Eigenschaft auf NULL festzulegen. Sie können diese Eigenschaft nach Bedarf ändern, wenn Sie den Verschlüsselungsschlüssel drehen möchten. Ihre Datenquellendefinition ist davon unberührt. Verschlüsselung mit vom Kunden verwalteten Schlüsseln steht nicht für kostenlose Suchdienste zur Verfügung und ist nur für kostenpflichtige Dienste verfügbar, die am oder nach dem 1. Januar 2019 erstellt wurden.

Antworten

Name Typ Beschreibung
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

Fehlerantwort.

Beispiele

SearchServiceCreateOrUpdateDataSource

Beispielanforderung

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

Beispiel für eine Antwort

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

Definitionen

Name Beschreibung
AzureActiveDirectoryApplicationCredentials

Anmeldeinformationen einer registrierten Anwendung, die für Ihren Suchdienst erstellt wurde und für authentifizierten Zugriff auf die im Azure Key Vault gespeicherten Verschlüsselungsschlüssel verwendet wird.

DataSourceCredentials

Stellt Anmeldeinformationen dar, die zum Herstellen einer Verbindung mit einer Datenquelle verwendet werden können.

ErrorAdditionalInfo

Der Ressourcenverwaltungsfehler zusätzliche Informationen.

ErrorDetail

Das Fehlerdetails.

ErrorResponse

Fehlerantwort

HighWaterMarkChangeDetectionPolicy

Definiert eine Datenänderungserkennungsrichtlinie, die Änderungen basierend auf dem Wert einer Wasserzeichenspalte erfasst.

SearchIndexerDataContainer

Stellt Informationen zur Entität (z. B. Azure SQL-Tabelle oder CosmosDB-Auflistung) dar, die indiziert wird.

SearchIndexerDataSource

Stellt eine Datenquellendefinition dar, die zum Konfigurieren eines Indexers verwendet werden kann.

SearchIndexerDataSourceType

Definiert den Typ einer Datenquelle.

SearchResourceEncryptionKey

Ein vom Kunden verwalteter Verschlüsselungsschlüssel im Azure Key Vault. Schlüssel, die Sie erstellen und verwalten, können zum Verschlüsseln oder Entschlüsseln ruhender Daten verwendet werden, z. B. Indizes und Synonymzuordnungen.

SoftDeleteColumnDeletionDetectionPolicy

Definiert eine Datenlöscherkennungsrichtlinie, die eine Strategie für das vorläufige Löschen implementiert. Es bestimmt, ob ein Element basierend auf dem Wert einer festgelegten Spalte "vorläufiges Löschen" gelöscht werden soll.

SqlIntegratedChangeTrackingPolicy

Definiert eine Datenänderungserkennungsrichtlinie, die Änderungen mithilfe des Integrierten Änderungsnachverfolgungsfeatures von Azure SQL-Datenbank erfasst.

AzureActiveDirectoryApplicationCredentials

Anmeldeinformationen einer registrierten Anwendung, die für Ihren Suchdienst erstellt wurde und für authentifizierten Zugriff auf die im Azure Key Vault gespeicherten Verschlüsselungsschlüssel verwendet wird.

Name Typ Beschreibung
applicationId

string

Eine AAD-Anwendungs-ID, die die erforderlichen Zugriffsberechtigungen für den Azure Key Vault erteilt hat, die beim Verschlüsseln Ihrer ruhenden Daten verwendet werden sollen. Die Anwendungs-ID sollte nicht mit der Objekt-ID für Ihre AAD-Anwendung verwechselt werden.

applicationSecret

string

Der Authentifizierungsschlüssel der angegebenen AAD-Anwendung.

DataSourceCredentials

Stellt Anmeldeinformationen dar, die zum Herstellen einer Verbindung mit einer Datenquelle verwendet werden können.

Name Typ Beschreibung
connectionString

string

Die Verbindungszeichenfolge für die Datenquelle. Legen Sie diesen Wert auf <unchanged> (mit Klammern) fest, wenn die Verbindungszeichenfolge nicht aktualisiert werden soll. Legen Sie diesen Wert auf <redacted> fest, wenn Sie den Verbindungszeichenfolgenwert aus der Datenquelle entfernen möchten.

ErrorAdditionalInfo

Der Ressourcenverwaltungsfehler zusätzliche Informationen.

Name Typ Beschreibung
info

object

Die zusätzlichen Informationen.

type

string

Der zusätzliche Informationstyp.

ErrorDetail

Das Fehlerdetails.

Name Typ Beschreibung
additionalInfo

ErrorAdditionalInfo[]

Die zusätzlichen Informationen des Fehlers.

code

string

Der Fehlercode.

details

ErrorDetail[]

Die Fehlerdetails.

message

string

Die Fehlermeldung.

target

string

Das Fehlerziel.

ErrorResponse

Fehlerantwort

Name Typ Beschreibung
error

ErrorDetail

Das Fehlerobjekt.

HighWaterMarkChangeDetectionPolicy

Definiert eine Datenänderungserkennungsrichtlinie, die Änderungen basierend auf dem Wert einer Wasserzeichenspalte erfasst.

Name Typ Beschreibung
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

Ein URI-Fragment, das den Typ der Datenänderungserkennungsrichtlinie angibt.

highWaterMarkColumnName

string

Der Name der Spalte "Hohe Wassermarke".

SearchIndexerDataContainer

Stellt Informationen zur Entität (z. B. Azure SQL-Tabelle oder CosmosDB-Auflistung) dar, die indiziert wird.

Name Typ Beschreibung
name

string

Der Name der Tabelle oder Ansicht (für Azure SQL-Datenquelle) oder Sammlung (für CosmosDB-Datenquelle), die indiziert wird.

query

string

Eine Abfrage, die auf diesen Datencontainer angewendet wird. Die Syntax und Bedeutung dieses Parameters ist datenquellenspezifisch. Von Azure SQL-Datenquellen nicht unterstützt.

SearchIndexerDataSource

Stellt eine Datenquellendefinition dar, die zum Konfigurieren eines Indexers verwendet werden kann.

Name Typ Beschreibung
@odata.etag

string

Das ETag der Datenquelle.

container

SearchIndexerDataContainer

Der Datencontainer für die Datenquelle.

credentials

DataSourceCredentials

Anmeldeinformationen für die Datenquelle.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Die Datenänderungserkennungsrichtlinie für die Datenquelle.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Die Datenlöscherkennungsrichtlinie für die Datenquelle.

description

string

Die Beschreibung der Datenquelle.

encryptionKey

SearchResourceEncryptionKey

Eine Beschreibung eines Verschlüsselungsschlüssels, den Sie in Azure Key Vault erstellen. Dieser Schlüssel wird verwendet, um eine zusätzliche Stufe der verschlüsselungsinternen Verschlüsselung für Ihre Datenquellendefinition bereitzustellen, wenn Sie eine vollständige Sicherheit wünschen, dass niemand, nicht einmal Microsoft, Ihre Datenquellendefinition entschlüsseln kann. Nachdem Sie Ihre Datenquellendefinition verschlüsselt haben, bleibt sie immer verschlüsselt. Der Suchdienst ignoriert Versuche, diese Eigenschaft auf NULL festzulegen. Sie können diese Eigenschaft nach Bedarf ändern, wenn Sie den Verschlüsselungsschlüssel drehen möchten. Ihre Datenquellendefinition ist davon unberührt. Verschlüsselung mit vom Kunden verwalteten Schlüsseln steht nicht für kostenlose Suchdienste zur Verfügung und ist nur für kostenpflichtige Dienste verfügbar, die am oder nach dem 1. Januar 2019 erstellt wurden.

name

string

Der Name der Datenquelle.

type

SearchIndexerDataSourceType

Der Typ der Datenquelle.

SearchIndexerDataSourceType

Definiert den Typ einer Datenquelle.

Name Typ Beschreibung
adlsgen2

string

Gibt eine ADLS Gen2-Datenquelle an.

azureblob

string

Gibt eine Azure Blob-Datenquelle an.

azuresql

string

Gibt eine Azure SQL-Datenquelle an.

azuretable

string

Gibt eine Azure-Tabellendatenquelle an.

cosmosdb

string

Gibt eine CosmosDB-Datenquelle an.

mysql

string

Gibt eine MySql-Datenquelle an.

SearchResourceEncryptionKey

Ein vom Kunden verwalteter Verschlüsselungsschlüssel im Azure Key Vault. Schlüssel, die Sie erstellen und verwalten, können zum Verschlüsseln oder Entschlüsseln ruhender Daten verwendet werden, z. B. Indizes und Synonymzuordnungen.

Name Typ Beschreibung
accessCredentials

AzureActiveDirectoryApplicationCredentials

Optionale Azure Active Directory-Anmeldeinformationen, die für den Zugriff auf Ihren Azure Key Vault verwendet werden. Ist nicht erforderlich, wenn stattdessen verwaltete Identität verwendet wird.

keyVaultKeyName

string

Der Name Ihres Azure Key Vault-Schlüssels, der zum Verschlüsseln Ihrer ruhenden Daten verwendet werden soll.

keyVaultKeyVersion

string

Die Version Ihres Azure Key Vault-Schlüssels, der zum Verschlüsseln Ihrer ruhenden Daten verwendet werden soll.

keyVaultUri

string

Der URI Ihres Azure Key Vault, auch als DNS-Name bezeichnet, der den Schlüssel enthält, der zum Verschlüsseln Ihrer ruhenden Daten verwendet werden soll. Ein Beispiel-URI kann https://my-keyvault-name.vault.azure.netsein.

SoftDeleteColumnDeletionDetectionPolicy

Definiert eine Datenlöscherkennungsrichtlinie, die eine Strategie für das vorläufige Löschen implementiert. Es bestimmt, ob ein Element basierend auf dem Wert einer festgelegten Spalte "vorläufiges Löschen" gelöscht werden soll.

Name Typ Beschreibung
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Ein URI-Fragment, das den Typ der Datenlöscherkennungsrichtlinie angibt.

softDeleteColumnName

string

Der Name der Spalte, die für die Erkennung vorläufiger Löschungen verwendet werden soll.

softDeleteMarkerValue

string

Der Markierungswert, der ein Element als gelöscht identifiziert.

SqlIntegratedChangeTrackingPolicy

Definiert eine Datenänderungserkennungsrichtlinie, die Änderungen mithilfe des Integrierten Änderungsnachverfolgungsfeatures von Azure SQL-Datenbank erfasst.

Name Typ Beschreibung
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Ein URI-Fragment, das den Typ der Datenänderungserkennungsrichtlinie angibt.