Share via


Data Sources - Create Or Update

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

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

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.

ignoreResetRequirements
query

boolean

Ignoriert die Anforderungen an die Cachezurücksetzung.

Anforderungsheader

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

string

uuid

Die Tracking-ID, die mit der Anforderung gesendet wurde, 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

Weist den Dienst bei HTTP PUT-Anforderungen an, die erstellte/aktualisierte Ressource nach 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:

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 Ebene der Verschlüsselung ruhender Daten für Ihre Datenquellendefinition bereitzustellen, wenn Sie die volle Sicherheit haben möchten, dass niemand, auch nicht 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 bei Bedarf ändern, wenn Sie Ihren Verschlüsselungsschlüssel rotieren möchten. Ihre Datenquellendefinition bleibt davon unberührt. Die Verschlüsselung mit kundenseitig verwalteten Schlüsseln ist für kostenlose Suchdienste nicht verfügbar und nur für kostenpflichtige Dienste verfügbar, die am oder nach dem 1. Januar 2019 erstellt wurden.

identity SearchIndexerDataIdentity:

Eine explizit verwaltete Identität, die für diese Datenquelle verwendet werden soll. Wenn nicht angegeben und die Verbindungszeichenfolge eine verwaltete Identität ist, wird die systemseitig zugewiesene verwaltete Identität verwendet. Wenn nicht angegeben, bleibt der Wert unverändert. Wenn "none" angegeben wird, wird der Wert dieser Eigenschaft gelöscht.

Antworten

Name Typ Beschreibung
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

Fehlerantwort.

Beispiele

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

Definitionen

Name Beschreibung
AzureActiveDirectoryApplicationCredentials

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

DataSourceCredentials

Stellt die Anmeldeinformationen dar, mit denen die Verbindung zu einer Datenquelle hergestellt werden kann.

HighWaterMarkChangeDetectionPolicy

Definiert eine Datenänderungserkennungsrichtlinie, die Änderungen basierend auf dem Wert einer Spalte mit hohem Wasserzeichen erfasst.

NativeBlobSoftDeleteDeletionDetectionPolicy

Definiert eine Richtlinie zur Erkennung von Datenlöschungen mithilfe der nativen Funktion für vorläufiges Löschen von Azure Blob Storage für die Löscherkennung.

SearchError

Beschreibt eine Fehlerbedingung für die API.

SearchIndexerDataContainer

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

SearchIndexerDataNoneIdentity

Löscht die Identitätseigenschaft einer Datenquelle.

SearchIndexerDataSource

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

SearchIndexerDataSourceType

Definiert den Typ einer Datenquelle.

SearchIndexerDataUserAssignedIdentity

Gibt die Identität für eine zu verwendende Datenquelle an.

SearchResourceEncryptionKey

Ein kundenseitig verwalteter Verschlüsselungsschlüssel in 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 Richtlinie zur Erkennung von Datenlöschungen, die eine Strategie zum vorläufigen Löschen implementiert. Es bestimmt, ob ein Element basierend auf dem Wert einer angegebenen "vorläufigen Löschen"-Spalte gelöscht werden soll.

SqlIntegratedChangeTrackingPolicy

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

AzureActiveDirectoryApplicationCredentials

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

Name Typ Beschreibung
applicationId

string

Eine AAD-Anwendungs-ID, der die erforderlichen Zugriffsberechtigungen für die Azure-Key Vault erteilt wurde, die beim Verschlüsseln Ihrer ruhenden Daten verwendet werden soll. 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 die Anmeldeinformationen dar, mit denen die Verbindung zu einer Datenquelle hergestellt werden kann.

Name Typ Beschreibung
connectionString

string

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

HighWaterMarkChangeDetectionPolicy

Definiert eine Datenänderungserkennungsrichtlinie, die Änderungen basierend auf dem Wert einer Spalte mit hohem Wasserzeichen 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 Hohen Wasserzeichensäule.

NativeBlobSoftDeleteDeletionDetectionPolicy

Definiert eine Richtlinie zur Erkennung von Datenlöschungen mithilfe der nativen Funktion für vorläufiges Löschen von Azure Blob Storage für die Löscherkennung.

Name Typ Beschreibung
@odata.type string:

#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy

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

SearchError

Beschreibt eine Fehlerbedingung für die API.

Name Typ Beschreibung
code

string

Einer der vom Server definierten Fehlercodes.

details

SearchError[]

Ein Array von Details zu bestimmten Fehlern, die zu diesem gemeldeten Fehler geführt haben.

message

string

Eine für Menschen lesbare Darstellung des Fehlers.

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 Sicht (für Azure SQL Datenquelle) oder Auflistung (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. Nicht von Azure SQL Datenquellen unterstützt.

SearchIndexerDataNoneIdentity

Löscht die Identitätseigenschaft einer Datenquelle.

Name Typ Beschreibung
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

Ein URI-Fragment, das den Identitätstyp angibt.

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:

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 Ebene der Verschlüsselung ruhender Daten für Ihre Datenquellendefinition bereitzustellen, wenn Sie die volle Sicherheit haben möchten, dass niemand, auch nicht 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 bei Bedarf ändern, wenn Sie Ihren Verschlüsselungsschlüssel rotieren möchten. Ihre Datenquellendefinition bleibt davon unberührt. Die Verschlüsselung mit kundenseitig verwalteten Schlüsseln ist für kostenlose Suchdienste nicht verfügbar und nur für kostenpflichtige Dienste verfügbar, die am oder nach dem 1. Januar 2019 erstellt wurden.

identity SearchIndexerDataIdentity:

Eine explizit verwaltete Identität, die für diese Datenquelle verwendet werden soll. Wenn nicht angegeben und die Verbindungszeichenfolge eine verwaltete Identität ist, wird die systemseitig zugewiesene verwaltete Identität verwendet. Wenn nicht angegeben, bleibt der Wert unverändert. Wenn "none" angegeben wird, wird der Wert dieser Eigenschaft gelöscht.

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 Table-Datenquelle an.

cosmosdb

string

Gibt eine CosmosDB-Datenquelle an.

mysql

string

Gibt eine MySql-Datenquelle an.

SearchIndexerDataUserAssignedIdentity

Gibt die Identität für eine zu verwendende Datenquelle an.

Name Typ Beschreibung
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

Ein URI-Fragment, das den Identitätstyp angibt.

userAssignedIdentity

string

Die vollqualifizierte Azure-Ressourcen-ID einer benutzerseitig zugewiesenen verwalteten Identität in der Regel im Format "/subscriptions/12345678-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId", die dem Suchdienst zugewiesen worden sein sollte.

SearchResourceEncryptionKey

Ein kundenseitig verwalteter Verschlüsselungsschlüssel in 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 Ihre Azure Key Vault verwendet werden. Nicht erforderlich, wenn stattdessen eine verwaltete Identität verwendet wird.

identity SearchIndexerDataIdentity:

Eine explizite verwaltete Identität, die für diesen Verschlüsselungsschlüssel verwendet werden soll. Wenn nicht angegeben und die Zugriffsanmeldeinformationen-Eigenschaft NULL ist, wird die systemseitig zugewiesene verwaltete Identität verwendet. Wenn die explizite Identität beim Aktualisieren der Ressource nicht angegeben ist, bleibt sie unverändert. Wenn "none" angegeben wird, wird der Wert dieser Eigenschaft gelöscht.

keyVaultKeyName

string

Der Name Ihres Azure Key Vault Schlüssel, der zum Verschlüsseln ruhender Daten verwendet werden soll.

keyVaultKeyVersion

string

Die Version Ihres Azure Key Vault Schlüssels, der zum Verschlüsseln Ruhezustandsdaten 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 Ruhezustandsdaten verwendet werden soll. Ein Beispiel-URI kann sein https://my-keyvault-name.vault.azure.net.

SoftDeleteColumnDeletionDetectionPolicy

Definiert eine Richtlinie zur Erkennung von Datenlöschungen, die eine Strategie zum vorläufigen Löschen implementiert. Es bestimmt, ob ein Element basierend auf dem Wert einer angegebenen "vorläufigen Löschen"-Spalte gelöscht werden soll.

Name Typ Beschreibung
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

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

softDeleteColumnName

string

Der Name der Spalte, die für die Erkennung des vorläufigen Löschens verwendet werden soll.

softDeleteMarkerValue

string

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

SqlIntegratedChangeTrackingPolicy

Definiert eine Datenänderungserkennungsrichtlinie, die Änderungen mithilfe des Integrierten Änderungsnachverfolgung-Features 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.