Data Sources - Create

Membuat sumber data baru.

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

Parameter URI

Nama Dalam Diperlukan Jenis Deskripsi
endpoint
path True

string

URL titik akhir layanan pencarian.

api-version
query True

string

Versi Api Klien.

Header Permintaan

Nama Diperlukan Jenis Deskripsi
x-ms-client-request-id

string

uuid

ID pelacakan yang dikirim dengan permintaan untuk membantu penelusuran kesalahan.

Isi Permintaan

Nama Diperlukan Jenis Deskripsi
container True

SearchIndexerDataContainer

Kontainer data untuk sumber data.

credentials True

DataSourceCredentials

Kredensial untuk sumber data.

name True

string

Nama sumber data.

type True

SearchIndexerDataSourceType

Jenis sumber data.

@odata.etag

string

ETag sumber data.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Kebijakan deteksi perubahan data untuk sumber data.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Kebijakan deteksi penghapusan data untuk sumber data.

description

string

Deskripsi sumber data.

encryptionKey

SearchResourceEncryptionKey

Deskripsi kunci enkripsi yang Anda buat di Azure Key Vault. Kunci ini digunakan untuk memberikan tingkat enkripsi-saat-istirahat tambahan untuk definisi sumber data Anda ketika Anda menginginkan jaminan penuh bahwa tidak ada, bahkan Microsoft, yang dapat mendekripsi definisi sumber data Anda. Setelah Anda mengenkripsi definisi sumber data, definisi tersebut akan selalu tetap dienkripsi. Layanan pencarian akan mengabaikan upaya untuk menyetel properti ini ke null. Anda dapat mengubah properti ini sesuai kebutuhan jika Anda ingin memutar kunci enkripsi; Definisi sumber data Anda tidak akan terpengaruh. Enkripsi dengan kunci yang dikelola pelanggan tidak tersedia untuk layanan pencarian gratis, dan hanya tersedia untuk layanan berbayar yang dibuat pada atau setelah 1 Januari 2019.

Respons

Nama Jenis Deskripsi
201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

Respons kesalahan.

Contoh

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

Definisi

Nama Deskripsi
AzureActiveDirectoryApplicationCredentials

Kredensial aplikasi terdaftar yang dibuat untuk layanan pencarian Anda, digunakan untuk akses terautentikasi ke kunci enkripsi yang disimpan di Azure Key Vault.

DataSourceCredentials

Mewakili kredensial yang dapat digunakan untuk menyambungkan ke sumber data.

HighWaterMarkChangeDetectionPolicy

Menentukan kebijakan deteksi perubahan data yang menangkap perubahan berdasarkan nilai kolom tanda air tinggi.

SearchError

Menjelaskan kondisi kesalahan untuk API.

SearchIndexerDataContainer

Mewakili informasi tentang entitas (seperti tabel Azure SQL atau koleksi CosmosDB) yang akan diindeks.

SearchIndexerDataSource

Mewakili definisi sumber data, yang dapat digunakan untuk mengonfigurasi pengindeks.

SearchIndexerDataSourceType

Menentukan jenis sumber data.

SearchResourceEncryptionKey

Kunci enkripsi yang dikelola pelanggan di Azure Key Vault. Kunci yang Anda buat dan kelola dapat digunakan untuk mengenkripsi atau mendekripsi data tidak aktif di layanan pencarian Anda, seperti indeks dan peta sinonim.

SoftDeleteColumnDeletionDetectionPolicy

Menentukan kebijakan deteksi penghapusan data yang menerapkan strategi penghapusan sementara. Ini menentukan apakah item harus dihapus berdasarkan nilai kolom 'penghapusan sementara' yang ditunjuk.

SqlIntegratedChangeTrackingPolicy

Menentukan kebijakan deteksi perubahan data yang menangkap perubahan menggunakan fitur Pelacakan Perubahan Terintegrasi Azure SQL Database.

AzureActiveDirectoryApplicationCredentials

Kredensial aplikasi terdaftar yang dibuat untuk layanan pencarian Anda, digunakan untuk akses terautentikasi ke kunci enkripsi yang disimpan di Azure Key Vault.

Nama Jenis Deskripsi
applicationId

string

ID Aplikasi AAD yang diberikan izin akses yang diperlukan ke Key Vault Azure yang akan digunakan saat mengenkripsi data Anda saat tidak aktif. ID Aplikasi tidak boleh dikacaukan dengan ID Objek untuk Aplikasi AAD Anda.

applicationSecret

string

Kunci autentikasi aplikasi AAD yang ditentukan.

DataSourceCredentials

Mewakili kredensial yang dapat digunakan untuk menyambungkan ke sumber data.

Nama Jenis Deskripsi
connectionString

string

string koneksi untuk sumber data. Atur ke <unchanged> (dengan tanda kurung siku) jika Anda tidak ingin string koneksi diperbarui. Atur ke <redacted> jika Anda ingin menghapus nilai string koneksi dari sumber data.

HighWaterMarkChangeDetectionPolicy

Menentukan kebijakan deteksi perubahan data yang menangkap perubahan berdasarkan nilai kolom tanda air tinggi.

Nama Jenis Deskripsi
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

Fragmen URI yang menentukan jenis kebijakan deteksi perubahan data.

highWaterMarkColumnName

string

Nama kolom tanda air tinggi.

SearchError

Menjelaskan kondisi kesalahan untuk API.

Nama Jenis Deskripsi
code

string

Salah satu set kode kesalahan yang ditentukan server.

details

SearchError[]

Array detail tentang kesalahan tertentu yang menyebabkan kesalahan yang dilaporkan ini.

message

string

Representasi kesalahan yang dapat dibaca manusia.

SearchIndexerDataContainer

Mewakili informasi tentang entitas (seperti tabel Azure SQL atau koleksi CosmosDB) yang akan diindeks.

Nama Jenis Deskripsi
name

string

Nama tabel atau tampilan (untuk sumber data Azure SQL) atau koleksi (untuk sumber data CosmosDB) yang akan diindeks.

query

string

Kueri yang diterapkan ke kontainer data ini. Sintaksis dan arti parameter ini khusus sumber data. Tidak didukung oleh sumber data Azure SQL.

SearchIndexerDataSource

Mewakili definisi sumber data, yang dapat digunakan untuk mengonfigurasi pengindeks.

Nama Jenis Deskripsi
@odata.etag

string

ETag sumber data.

container

SearchIndexerDataContainer

Kontainer data untuk sumber data.

credentials

DataSourceCredentials

Kredensial untuk sumber data.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Kebijakan deteksi perubahan data untuk sumber data.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Kebijakan deteksi penghapusan data untuk sumber data.

description

string

Deskripsi sumber data.

encryptionKey

SearchResourceEncryptionKey

Deskripsi kunci enkripsi yang Anda buat di Azure Key Vault. Kunci ini digunakan untuk memberikan tingkat enkripsi-saat-istirahat tambahan untuk definisi sumber data Anda ketika Anda menginginkan jaminan penuh bahwa tidak ada, bahkan Microsoft, yang dapat mendekripsi definisi sumber data Anda. Setelah Anda mengenkripsi definisi sumber data, definisi tersebut akan selalu tetap dienkripsi. Layanan pencarian akan mengabaikan upaya untuk menyetel properti ini ke null. Anda dapat mengubah properti ini sesuai kebutuhan jika Anda ingin memutar kunci enkripsi; Definisi sumber data Anda tidak akan terpengaruh. Enkripsi dengan kunci yang dikelola pelanggan tidak tersedia untuk layanan pencarian gratis, dan hanya tersedia untuk layanan berbayar yang dibuat pada atau setelah 1 Januari 2019.

name

string

Nama sumber data.

type

SearchIndexerDataSourceType

Jenis sumber data.

SearchIndexerDataSourceType

Menentukan jenis sumber data.

Nama Jenis Deskripsi
adlsgen2

string

Menunjukkan sumber data ADLS Gen2.

azureblob

string

Menunjukkan sumber data Azure Blob.

azuresql

string

Menunjukkan sumber data Azure SQL.

azuretable

string

Menunjukkan sumber data Azure Table.

cosmosdb

string

Menunjukkan sumber data CosmosDB.

mysql

string

Menunjukkan sumber data MySql.

SearchResourceEncryptionKey

Kunci enkripsi yang dikelola pelanggan di Azure Key Vault. Kunci yang Anda buat dan kelola dapat digunakan untuk mengenkripsi atau mendekripsi data tidak aktif di layanan pencarian Anda, seperti indeks dan peta sinonim.

Nama Jenis Deskripsi
accessCredentials

AzureActiveDirectoryApplicationCredentials

Kredensial Azure Active Directory opsional yang digunakan untuk mengakses Key Vault Azure Anda. Tidak diperlukan jika menggunakan identitas terkelola sebagai gantinya.

keyVaultKeyName

string

Nama kunci Azure Key Vault Anda yang akan digunakan untuk mengenkripsi data Anda saat tidak aktif.

keyVaultKeyVersion

string

Versi kunci Azure Key Vault Anda yang akan digunakan untuk mengenkripsi data Anda saat tidak aktif.

keyVaultUri

string

URI Azure Key Vault Anda, juga disebut sebagai nama DNS, yang berisi kunci yang akan digunakan untuk mengenkripsi data Anda saat tidak aktif. Contoh URI adalah https://my-keyvault-name.vault.azure.net.

SoftDeleteColumnDeletionDetectionPolicy

Menentukan kebijakan deteksi penghapusan data yang menerapkan strategi penghapusan sementara. Ini menentukan apakah item harus dihapus berdasarkan nilai kolom 'penghapusan sementara' yang ditunjuk.

Nama Jenis Deskripsi
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Fragmen URI yang menentukan jenis kebijakan deteksi penghapusan data.

softDeleteColumnName

string

Nama kolom yang digunakan untuk deteksi penghapusan sementara.

softDeleteMarkerValue

string

Nilai penanda yang mengidentifikasi item sebagai dihapus.

SqlIntegratedChangeTrackingPolicy

Menentukan kebijakan deteksi perubahan data yang menangkap perubahan menggunakan fitur Pelacakan Perubahan Terintegrasi Azure SQL Database.

Nama Jenis Deskripsi
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Fragmen URI yang menentukan jenis kebijakan deteksi perubahan data.