Data Sources - Create
Membuat sumber data baru.
POST {endpoint}/datasources?api-version=2023-10-01-Preview
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 |
Kontainer data untuk sumber data. |
|
| credentials | True |
Kredensial untuk sumber data. |
|
| name | True |
string |
Nama sumber data. |
| type | True |
Jenis sumber data. |
|
| @odata.etag |
string |
ETag sumber data. |
|
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
Kebijakan deteksi perubahan data untuk sumber data. |
|
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
Kebijakan deteksi penghapusan data untuk sumber data. |
|
| description |
string |
Deskripsi sumber data. |
|
| encryptionKey |
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 Anda, definisi tersebut akan selalu tetap dienkripsi. Layanan pencarian akan mengabaikan upaya untuk mengatur 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. |
||
| identity | SearchIndexerDataIdentity: |
Identitas terkelola eksplisit yang digunakan untuk sumber data ini. Jika tidak ditentukan dan string koneksi adalah identitas terkelola, identitas terkelola yang ditetapkan sistem akan digunakan. Jika tidak ditentukan, nilainya tetap tidak berubah. Jika "tidak ada" ditentukan, nilai properti ini akan dihapus. |
Respons
| Nama | Jenis | Deskripsi |
|---|---|---|
| 201 Created | ||
| Other Status Codes |
Respons kesalahan. |
Contoh
SearchServiceCreateDataSource
Permintaan sampel
POST https://myservice.search.windows.net/datasources?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": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": "<applicationSecret>"
}
}
}
Respon sampel
{
"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 |
|---|---|
|
Azure |
Kredensial aplikasi terdaftar yang dibuat untuk layanan pencarian Anda, digunakan untuk akses terautentikasi ke kunci enkripsi yang disimpan di Azure Key Vault. |
|
Data |
Mewakili kredensial yang dapat digunakan untuk menyambungkan ke sumber data. |
|
High |
Menentukan kebijakan deteksi perubahan data yang menangkap perubahan berdasarkan nilai kolom tanda air tinggi. |
|
Native |
Menentukan kebijakan deteksi penghapusan data yang menggunakan fitur penghapusan sementara asli Azure Blob Storage untuk deteksi penghapusan. |
|
Search |
Menjelaskan kondisi kesalahan untuk API. |
|
Search |
Mewakili informasi tentang entitas (seperti tabel Azure SQL atau koleksi CosmosDB) yang akan diindeks. |
|
Search |
Menghapus properti identitas sumber data. |
|
Search |
Mewakili definisi sumber data, yang dapat digunakan untuk mengonfigurasi pengindeks. |
|
Search |
Menentukan jenis sumber data. |
|
Search |
Menentukan identitas untuk sumber data yang akan digunakan. |
|
Search |
Kunci enkripsi yang dikelola pelanggan di Azure Key Vault. Kunci yang Anda buat dan kelola dapat digunakan untuk mengenkripsi atau mendekripsi data tidak aktif, seperti indeks dan peta sinonim. |
|
Soft |
Menentukan kebijakan deteksi penghapusan data yang menerapkan strategi penghapusan sementara. Ini menentukan apakah item harus dihapus berdasarkan nilai kolom 'penghapusan sementara' yang ditunjuk. |
|
Sql |
Menentukan kebijakan deteksi perubahan data yang menangkap perubahan menggunakan fitur Pelacakan Perubahan Terintegrasi dari 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 Azure Key Vault yang akan digunakan saat mengenkripsi data Anda tidak aktif. ID Aplikasi tidak boleh bingung 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 |
HighWaterMarkChangeDetectionPolicy
Menentukan kebijakan deteksi perubahan data yang menangkap perubahan berdasarkan nilai kolom tanda air tinggi.
| Nama | Jenis | Deskripsi |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Fragmen URI yang menentukan jenis kebijakan deteksi perubahan data. |
| highWaterMarkColumnName |
string |
Nama kolom tanda air tinggi. |
NativeBlobSoftDeleteDeletionDetectionPolicy
Menentukan kebijakan deteksi penghapusan data yang menggunakan fitur penghapusan sementara asli Azure Blob Storage untuk deteksi penghapusan.
| Nama | Jenis | Deskripsi |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Fragmen URI yang menentukan jenis kebijakan deteksi penghapusan data. |
SearchError
Menjelaskan kondisi kesalahan untuk API.
| Nama | Jenis | Deskripsi |
|---|---|---|
| code |
string |
Salah satu sekumpulan kode kesalahan yang ditentukan server. |
| details |
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. Sintaks dan arti parameter ini khusus sumber data. Tidak didukung oleh sumber data Azure SQL. |
SearchIndexerDataNoneIdentity
Menghapus properti identitas sumber data.
| Nama | Jenis | Deskripsi |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Fragmen URI yang menentukan jenis identitas. |
SearchIndexerDataSource
Mewakili definisi sumber data, yang dapat digunakan untuk mengonfigurasi pengindeks.
| Nama | Jenis | Deskripsi |
|---|---|---|
| @odata.etag |
string |
ETag sumber data. |
| container |
Kontainer data untuk sumber data. |
|
| credentials |
Kredensial untuk sumber data. |
|
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
Kebijakan deteksi perubahan data untuk sumber data. |
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
Kebijakan deteksi penghapusan data untuk sumber data. |
| description |
string |
Deskripsi sumber data. |
| encryptionKey |
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 Anda, definisi tersebut akan selalu tetap dienkripsi. Layanan pencarian akan mengabaikan upaya untuk mengatur 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. |
|
| identity | SearchIndexerDataIdentity: |
Identitas terkelola eksplisit yang digunakan untuk sumber data ini. Jika tidak ditentukan dan string koneksi adalah identitas terkelola, identitas terkelola yang ditetapkan sistem akan digunakan. Jika tidak ditentukan, nilainya tetap tidak berubah. Jika "tidak ada" ditentukan, nilai properti ini akan dihapus. |
| name |
string |
Nama sumber data. |
| type |
Jenis sumber data. |
SearchIndexerDataSourceType
Menentukan jenis sumber data.
| Nilai | Deskripsi |
|---|---|
| azuresql |
Menunjukkan sumber data Azure SQL. |
| cosmosdb |
Menunjukkan sumber data CosmosDB. |
| azureblob |
Menunjukkan sumber data Azure Blob. |
| azuretable |
Menunjukkan sumber data Azure Table. |
| mysql |
Menunjukkan sumber data MySql. |
| adlsgen2 |
Menunjukkan sumber data ADLS Gen2. |
SearchIndexerDataUserAssignedIdentity
Menentukan identitas untuk sumber data yang akan digunakan.
| Nama | Jenis | Deskripsi |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Fragmen URI yang menentukan jenis identitas. |
| userAssignedIdentity |
string |
Id sumber daya Azure yang sepenuhnya memenuhi syarat dari identitas terkelola yang ditetapkan pengguna biasanya dalam formulir "/subscriptions/12345678-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" yang seharusnya ditetapkan ke layanan pencarian. |
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, seperti indeks dan peta sinonim.
| Nama | Jenis | Deskripsi |
|---|---|---|
| accessCredentials |
Kredensial Azure Active Directory opsional yang digunakan untuk mengakses Azure Key Vault Anda. Tidak diperlukan jika menggunakan identitas terkelola sebagai gantinya. |
|
| identity | SearchIndexerDataIdentity: |
Identitas terkelola eksplisit yang digunakan untuk kunci enkripsi ini. Jika tidak ditentukan dan properti kredensial akses null, identitas terkelola yang ditetapkan sistem akan digunakan. Pada pembaruan ke sumber daya, jika identitas eksplisit tidak ditentukan, identitas tersebut tetap tidak berubah. Jika "tidak ada" ditentukan, nilai properti ini akan dihapus. |
| 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 mungkin |
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. |
Fragmen URI yang menentukan jenis kebijakan deteksi penghapusan data. |
| softDeleteColumnName |
string |
Nama kolom yang akan 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 dari Azure SQL Database.
| Nama | Jenis | Deskripsi |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Fragmen URI yang menentukan jenis kebijakan deteksi perubahan data. |