Bagikan melalui


Data Sources - Create Or Update

Membuat sumber data baru atau memperbarui sumber data jika sudah ada.

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-05-01-preview
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-05-01-preview&ignoreResetRequirements={ignoreResetRequirements}

Parameter URI

Nama Dalam Diperlukan Jenis Deskripsi
dataSourceName
path True

string

Nama sumber data yang akan dibuat atau diperbarui.

endpoint
path True

string

URL titik akhir layanan pencarian.

api-version
query True

string

Versi Api Klien.

ignoreResetRequirements
query

boolean

Mengabaikan persyaratan reset cache.

Header Permintaan

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

string

uuid

ID pelacakan yang dikirim dengan permintaan untuk membantu penelusuran kesalahan.

If-Match

string

Menentukan kondisi If-Match. Operasi akan dilakukan hanya jika ETag pada server cocok dengan nilai ini.

If-None-Match

string

Menentukan kondisi If-None-Match. Operasi akan dilakukan hanya jika ETag pada server tidak cocok dengan nilai ini.

Prefer True

string

Untuk permintaan HTTP PUT, menginstruksikan layanan untuk mengembalikan sumber daya yang dibuat/diperbarui saat berhasil.

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:

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.

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
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

Respons kesalahan.

Contoh

SearchServiceCreateOrUpdateDataSource

Permintaan sampel

PUT https://myservice.search.windows.net/datasources('mydatasource')?api-version=2024-05-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
  }
}

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

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.

ErrorAdditionalInfo

Info tambahan kesalahan manajemen sumber daya.

ErrorDetail

Detail kesalahan.

ErrorResponse

Respons kesalahan

HighWaterMarkChangeDetectionPolicy

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

NativeBlobSoftDeleteDeletionDetectionPolicy

Menentukan kebijakan deteksi penghapusan data yang menggunakan fitur penghapusan sementara asli Azure Blob Storage untuk deteksi penghapusan.

SearchIndexerDataContainer

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

SearchIndexerDataNoneIdentity

Menghapus properti identitas sumber data.

SearchIndexerDataSource

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

SearchIndexerDataSourceType

Menentukan jenis sumber data.

SearchIndexerDataUserAssignedIdentity

Menentukan identitas untuk sumber data yang akan digunakan.

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.

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.

ErrorAdditionalInfo

Info tambahan kesalahan manajemen sumber daya.

Nama Jenis Deskripsi
info

object

Info tambahan.

type

string

Jenis info tambahan.

ErrorDetail

Detail kesalahan.

Nama Jenis Deskripsi
additionalInfo

ErrorAdditionalInfo[]

Info tambahan kesalahan.

code

string

Kode kesalahan.

details

ErrorDetail[]

Detail kesalahan.

message

string

Pesan kesalahan.

target

string

Target kesalahan.

ErrorResponse

Respons kesalahan

Nama Jenis Deskripsi
error

ErrorDetail

Objek kesalahan.

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.

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.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy

Fragmen URI yang menentukan jenis kebijakan deteksi penghapusan data.

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.

SearchIndexerDataNoneIdentity

Menghapus properti identitas sumber data.

Nama Jenis Deskripsi
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

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

SearchIndexerDataContainer

Kontainer data untuk sumber data.

credentials

DataSourceCredentials

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

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.

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

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.

onelake

string

Menunjukkan sumber data Microsoft Fabric OneLake.

SearchIndexerDataUserAssignedIdentity

Menentukan identitas untuk sumber data yang akan digunakan.

Nama Jenis Deskripsi
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

Fragmen URI yang menentukan jenis identitas.

userAssignedIdentity

string

Id sumber daya Azure yang sepenuhnya memenuhi syarat dari identitas terkelola yang ditetapkan pengguna biasanya dalam bentuk "/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

AzureActiveDirectoryApplicationCredentials

Kredensial Azure Active Directory opsional yang digunakan untuk mengakses Key Vault Azure 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. Saat diperbarui 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 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.