Udostępnij za pośrednictwem


Data Sources - Create Or Update

Tworzy nowe źródło danych lub aktualizuje źródło danych, jeśli już istnieje.

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

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
dataSourceName
path True

string

Nazwa źródła danych do utworzenia lub zaktualizowania.

endpoint
path True

string

Adres URL punktu końcowego usługi wyszukiwania.

api-version
query True

string

Wersja interfejsu API klienta.

Nagłówek żądania

Nazwa Wymagane Typ Opis
x-ms-client-request-id

string

uuid

Identyfikator śledzenia wysłany z żądaniem, aby ułatwić debugowanie.

If-Match

string

Definiuje warunek If-Match. Operacja zostanie wykonana tylko wtedy, gdy element ETag na serwerze jest zgodny z tą wartością.

If-None-Match

string

Definiuje warunek If-None-Match. Operacja zostanie wykonana tylko wtedy, gdy element ETag na serwerze nie jest zgodny z tą wartością.

Prefer True

string

W przypadku żądań HTTP PUT nakazuje usłudze zwrócenie utworzonego/zaktualizowanego zasobu w przypadku powodzenia.

Treść żądania

Nazwa Wymagane Typ Opis
container True

SearchIndexerDataContainer

Kontener danych dla źródła danych.

credentials True

DataSourceCredentials

Poświadczenia źródła danych.

name True

string

Nazwa źródła danych.

type True

SearchIndexerDataSourceType

Typ źródła danych.

@odata.etag

string

Element ETag źródła danych.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Zasady wykrywania zmian danych dla źródła danych.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Zasady wykrywania usuwania danych dla źródła danych.

description

string

Opis źródła danych.

encryptionKey

SearchResourceEncryptionKey

Opis klucza szyfrowania utworzonego w usłudze Azure Key Vault. Ten klucz służy do zapewnienia dodatkowego poziomu szyfrowania w spoczynku dla definicji źródła danych, gdy chcesz mieć pełną pewność, że nikt, nawet firma Microsoft, nie może odszyfrować definicję źródła danych. Po zaszyfrowaniu definicji źródła danych zawsze pozostanie ona zaszyfrowana. Usługa wyszukiwania zignoruje próby ustawienia tej właściwości na wartość null. Tę właściwość można zmienić w razie potrzeby, jeśli chcesz obrócić klucz szyfrowania; Definicja źródła danych nie będzie miała wpływu. Szyfrowanie za pomocą kluczy zarządzanych przez klienta nie jest dostępne dla bezpłatnych usług wyszukiwania i jest dostępne tylko dla płatnych usług utworzonych w dniu 1 stycznia 2019 r. lub po 1 stycznia 2019 r.

Odpowiedzi

Nazwa Typ Opis
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

Odpowiedź na błąd.

Przykłady

SearchServiceCreateOrUpdateDataSource

Przykładowe żądanie

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

Przykładowa odpowiedź

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

Definicje

Nazwa Opis
AzureActiveDirectoryApplicationCredentials

Poświadczenia zarejestrowanej aplikacji utworzonej dla usługi wyszukiwania używane do uwierzytelnionego dostępu do kluczy szyfrowania przechowywanych w usłudze Azure Key Vault.

DataSourceCredentials

Reprezentuje poświadczenia, których można użyć do nawiązania połączenia ze źródłem danych.

ErrorAdditionalInfo

Dodatkowe informacje o błędzie zarządzania zasobami.

ErrorDetail

Szczegóły błędu.

ErrorResponse

Odpowiedź na błąd

HighWaterMarkChangeDetectionPolicy

Definiuje zasady wykrywania zmian danych, które przechwytują zmiany na podstawie wartości kolumny wysokiego znacznika wody.

SearchIndexerDataContainer

Reprezentuje informacje o jednostce (takiej jak tabela Azure SQL lub kolekcja CosmosDB), które będą indeksowane.

SearchIndexerDataSource

Reprezentuje definicję źródła danych, która może służyć do konfigurowania indeksatora.

SearchIndexerDataSourceType

Definiuje typ źródła danych.

SearchResourceEncryptionKey

Klucz szyfrowania zarządzany przez klienta w usłudze Azure Key Vault. Klucze tworzone i zarządzane mogą służyć do szyfrowania lub odszyfrowywania danych magazynowanych, takich jak indeksy i mapy synonimów.

SoftDeleteColumnDeletionDetectionPolicy

Definiuje zasady wykrywania usuwania danych, które implementują strategię usuwania nietrwałego. Określa, czy element powinien zostać usunięty na podstawie wartości wyznaczonej kolumny "usuwanie nietrwałe".

SqlIntegratedChangeTrackingPolicy

Definiuje zasady wykrywania zmian danych, które przechwytują zmiany przy użyciu funkcji zintegrowanego śledzenia zmian usługi Azure SQL Database.

AzureActiveDirectoryApplicationCredentials

Poświadczenia zarejestrowanej aplikacji utworzonej dla usługi wyszukiwania używane do uwierzytelnionego dostępu do kluczy szyfrowania przechowywanych w usłudze Azure Key Vault.

Nazwa Typ Opis
applicationId

string

Identyfikator aplikacji usługi AAD, któremu udzielono wymaganych uprawnień dostępu do usługi Azure Key Vault, która ma być używana podczas szyfrowania danych magazynowanych. Identyfikator aplikacji nie powinien być mylony z identyfikatorem obiektu aplikacji usługi AAD.

applicationSecret

string

Klucz uwierzytelniania określonej aplikacji usługi AAD.

DataSourceCredentials

Reprezentuje poświadczenia, których można użyć do nawiązania połączenia ze źródłem danych.

Nazwa Typ Opis
connectionString

string

Parametry połączenia dla źródła danych. Ustaw wartość <unchanged> (z nawiasami kwadratowymi), jeśli nie chcesz zaktualizować parametrów połączenia. Ustaw wartość na <redacted>, jeśli chcesz usunąć wartość parametrów połączenia ze źródła danych.

ErrorAdditionalInfo

Dodatkowe informacje o błędzie zarządzania zasobami.

Nazwa Typ Opis
info

object

Dodatkowe informacje.

type

string

Dodatkowy typ informacji.

ErrorDetail

Szczegóły błędu.

Nazwa Typ Opis
additionalInfo

ErrorAdditionalInfo[]

Dodatkowe informacje o błędzie.

code

string

Kod błędu.

details

ErrorDetail[]

Szczegóły błędu.

message

string

Komunikat o błędzie.

target

string

Element docelowy błędu.

ErrorResponse

Odpowiedź na błąd

Nazwa Typ Opis
error

ErrorDetail

Obiekt błędu.

HighWaterMarkChangeDetectionPolicy

Definiuje zasady wykrywania zmian danych, które przechwytują zmiany na podstawie wartości kolumny wysokiego znacznika wody.

Nazwa Typ Opis
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

Fragment identyfikatora URI określający typ zasad wykrywania zmian danych.

highWaterMarkColumnName

string

Nazwa kolumny z wysokim znacznikiem wody.

SearchIndexerDataContainer

Reprezentuje informacje o jednostce (takiej jak tabela Azure SQL lub kolekcja CosmosDB), które będą indeksowane.

Nazwa Typ Opis
name

string

Nazwa tabeli lub widoku (dla źródła danych Usługi Azure SQL) lub kolekcji (dla źródła danych usługi CosmosDB), które zostaną indeksowane.

query

string

Zapytanie stosowane do tego kontenera danych. Składnia i znaczenie tego parametru są specyficzne dla źródła danych. Nieobsługiwane przez źródła danych usługi Azure SQL.

SearchIndexerDataSource

Reprezentuje definicję źródła danych, która może służyć do konfigurowania indeksatora.

Nazwa Typ Opis
@odata.etag

string

Element ETag źródła danych.

container

SearchIndexerDataContainer

Kontener danych dla źródła danych.

credentials

DataSourceCredentials

Poświadczenia źródła danych.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Zasady wykrywania zmian danych dla źródła danych.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Zasady wykrywania usuwania danych dla źródła danych.

description

string

Opis źródła danych.

encryptionKey

SearchResourceEncryptionKey

Opis klucza szyfrowania utworzonego w usłudze Azure Key Vault. Ten klucz służy do zapewnienia dodatkowego poziomu szyfrowania w spoczynku dla definicji źródła danych, gdy chcesz mieć pełną pewność, że nikt, nawet firma Microsoft, nie może odszyfrować definicję źródła danych. Po zaszyfrowaniu definicji źródła danych zawsze pozostanie ona zaszyfrowana. Usługa wyszukiwania zignoruje próby ustawienia tej właściwości na wartość null. Tę właściwość można zmienić w razie potrzeby, jeśli chcesz obrócić klucz szyfrowania; Definicja źródła danych nie będzie miała wpływu. Szyfrowanie za pomocą kluczy zarządzanych przez klienta nie jest dostępne dla bezpłatnych usług wyszukiwania i jest dostępne tylko dla płatnych usług utworzonych w dniu 1 stycznia 2019 r. lub po 1 stycznia 2019 r.

name

string

Nazwa źródła danych.

type

SearchIndexerDataSourceType

Typ źródła danych.

SearchIndexerDataSourceType

Definiuje typ źródła danych.

Nazwa Typ Opis
adlsgen2

string

Wskazuje źródło danych usługi ADLS Gen2.

azureblob

string

Wskazuje źródło danych obiektu blob platformy Azure.

azuresql

string

Wskazuje źródło danych usługi Azure SQL.

azuretable

string

Wskazuje źródło danych tabeli platformy Azure.

cosmosdb

string

Wskazuje źródło danych usługi CosmosDB.

mysql

string

Wskazuje źródło danych MySql.

SearchResourceEncryptionKey

Klucz szyfrowania zarządzany przez klienta w usłudze Azure Key Vault. Klucze tworzone i zarządzane mogą służyć do szyfrowania lub odszyfrowywania danych magazynowanych, takich jak indeksy i mapy synonimów.

Nazwa Typ Opis
accessCredentials

AzureActiveDirectoryApplicationCredentials

Opcjonalne poświadczenia usługi Azure Active Directory używane do uzyskiwania dostępu do usługi Azure Key Vault. Nie jest wymagane, jeśli zamiast tego używasz tożsamości zarządzanej.

keyVaultKeyName

string

Nazwa klucza usługi Azure Key Vault, który ma być używany do szyfrowania danych magazynowanych.

keyVaultKeyVersion

string

Wersja klucza usługi Azure Key Vault, która ma być używana do szyfrowania danych magazynowanych.

keyVaultUri

string

Identyfikator URI usługi Azure Key Vault, nazywany również nazwą DNS, który zawiera klucz używany do szyfrowania danych magazynowanych. Przykładowy identyfikator URI może być https://my-keyvault-name.vault.azure.net.

SoftDeleteColumnDeletionDetectionPolicy

Definiuje zasady wykrywania usuwania danych, które implementują strategię usuwania nietrwałego. Określa, czy element powinien zostać usunięty na podstawie wartości wyznaczonej kolumny "usuwanie nietrwałe".

Nazwa Typ Opis
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Fragment identyfikatora URI określający typ zasad wykrywania usuwania danych.

softDeleteColumnName

string

Nazwa kolumny do użycia do wykrywania usuwania nietrwałego.

softDeleteMarkerValue

string

Wartość znacznika identyfikującą element jako usunięty.

SqlIntegratedChangeTrackingPolicy

Definiuje zasady wykrywania zmian danych, które przechwytują zmiany przy użyciu funkcji zintegrowanego śledzenia zmian usługi Azure SQL Database.

Nazwa Typ Opis
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Fragment identyfikatora URI określający typ zasad wykrywania zmian danych.