Data Sources - Create

Tworzy nowe źródło danych.

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

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
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.

Treść żądania

Nazwa Wymagane Typ Opis
container True

SearchIndexerDataContainer

Kontener danych dla źródła danych.

credentials True

DataSourceCredentials

Poświadczenia dla ź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 tworzonego w usłudze Azure Key Vault. Ten klucz służy do zapewnienia dodatkowego poziomu szyfrowania magazynowanych 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 1 stycznia 2019 r. lub później.

Odpowiedzi

Nazwa Typ Opis
201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

Odpowiedź na błąd.

Przykłady

SearchServiceCreateDataSource

Sample Request

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

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

HighWaterMarkChangeDetectionPolicy

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

SearchError

Opisuje warunek błędu dla interfejsu API.

SearchIndexerDataContainer

Reprezentuje informacje o jednostce (na przykład Azure SQL tabeli lub kolekcji cosmosDB), które zostaną zindeksowane.

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 w usłudze wyszukiwania, 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 zintegrowanej funkcji Change Tracking 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 dla 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ć parametry połączenia. Ustaw wartość na <redacted> , jeśli chcesz usunąć wartość parametry połączenia ze źródła danych.

HighWaterMarkChangeDetectionPolicy

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

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 górnego znaku wodnego.

SearchError

Opisuje warunek błędu dla interfejsu API.

Nazwa Typ Opis
code

string

Jeden z zdefiniowanych przez serwer zestaw kodów błędów.

details

SearchError[]

Tablica szczegółów dotyczących określonych błędów, które doprowadziły do tego zgłoszonego błędu.

message

string

Czytelna dla człowieka reprezentacja błędu.

SearchIndexerDataContainer

Reprezentuje informacje o jednostce (na przykład Azure SQL tabeli lub kolekcji cosmosDB), które zostaną zindeksowane.

Nazwa Typ Opis
name

string

Nazwa tabeli lub widoku (dla źródła danych Azure SQL) lub kolekcji (dla źródła danych CosmosDB), która zostanie zindeksowana.

query

string

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

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 dla ź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 tworzonego w usłudze Azure Key Vault. Ten klucz służy do zapewnienia dodatkowego poziomu szyfrowania magazynowanych 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 1 stycznia 2019 r. lub później.

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 Azure SQL źródło danych.

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 w usłudze wyszukiwania, 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 Key Vault platformy Azure, który ma być używany do szyfrowania danych magazynowanych.

keyVaultKeyVersion

string

Wersja klucza Key Vault platformy Azure, 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 mieć wartość 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, która ma być używana 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 zintegrowanej funkcji Change Tracking 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.