Data Sources - Create
建立新的資料來源。
POST {endpoint}/datasources?api-version=2026-04-01
URI 參數
| 名稱 | 位於 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
搜尋服務的端點 URL。 |
|
api-version
|
query | True |
string minLength: 1 |
用於此作業的 API 版本。 |
要求標頭
| 名稱 | 必要 | 類型 | Description |
|---|---|---|---|
| Accept |
接受標頭。 |
||
| x-ms-client-request-id |
string (uuid) |
一個不透明、全域唯一、由客戶端產生的請求字串識別碼。 |
要求本文
| 名稱 | 必要 | 類型 | Description |
|---|---|---|---|
| container | True |
數據源的數據容器。 |
|
| name | True |
string |
數據源的名稱。 |
| type | True |
數據源的類型。 |
|
| @odata.etag |
string |
數據源的 ETag。 |
|
| credentials.connectionString |
string |
數據源的連接字串。 如果您不想更新連接字串,請設定為 |
|
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
數據源的數據變更偵測原則。 |
|
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
數據源的數據刪除偵測原則。 |
|
| description |
string |
數據源的描述。 |
|
| encryptionKey |
您在 Azure Key Vault 中建立的加密金鑰描述。 當您想要完全保證沒有人 (甚至 Microsoft) 無法解密您的資料來源定義時,此金鑰可用來為您的資料來源定義提供額外的待用加密層級。 加密數據源定義之後,一律會保持加密狀態。 搜尋服務會忽略嘗試將此屬性設定為 Null。 如果您想要輪替加密金鑰,您可以視需要變更此屬性;您的數據源定義不會受到影響。 使用客戶管理的金鑰加密不適用於免費搜尋服務,而且僅適用於 2019 年 1 月 1 日或之後建立的付費服務。 |
||
| identity | SearchIndexerDataIdentity: |
要用於此數據源的明確受控識別。 如果未指定,而且連接字串是受控識別,則會使用系統指派的受控識別。 如果未指定,該值會維持不變。 如果指定了 「none」 ,則會清除此屬性的值。 |
回應
| 名稱 | 類型 | Description |
|---|---|---|
| 201 Created |
要求已成功,因此已建立新的資源。 |
|
| Other Status Codes |
未預期的錯誤回應。 |
安全性
api-key
類型:
apiKey
位於:
header
OAuth2Auth
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
範圍
| 名稱 | Description |
|---|---|
| https://search.azure.com/.default |
範例
SearchServiceCreateDataSource
範例要求
POST https://exampleservice.search.windows.net/datasources?api-version=2026-04-01
{
"name": "tempdatasource",
"description": "My Azure Blob data source.",
"type": "azureblob",
"credentials": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
},
"container": {
"name": "doc-extraction-skillset",
"query": "E2E_Dsat"
},
"identity": {
"@odata.type": "#Microsoft.Azure.Search.DataNoneIdentity"
},
"dataChangeDetectionPolicy": {
"highWaterMarkColumnName": "metadata_storage_last_modified",
"@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
},
"dataDeletionDetectionPolicy": {
"softDeleteColumnName": "isDeleted",
"softDeleteMarkerValue": "true",
"@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
},
"@odata.etag": "0x1234568AE7E58A1"
}
範例回覆
{
"@odata.etag": "0x1234568AE7E58A1",
"name": "tempdatasource",
"description": "My Azure Blob data source.",
"type": "azureblob",
"credentials": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
},
"container": {
"name": "doc-extraction-skillset",
"query": "E2E_Dsat"
},
"dataChangeDetectionPolicy": {
"@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName": "metadata_storage_last_modified"
},
"dataDeletionDetectionPolicy": {
"@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
"softDeleteColumnName": "isDeleted",
"softDeleteMarkerValue": "true"
},
"identity": {
"@odata.type": "#Microsoft.Azure.Search.DataNoneIdentity"
}
}
定義
| 名稱 | Description |
|---|---|
| Accept |
接受標頭。 |
|
Error |
資源管理錯誤附加資訊。 |
|
Error |
錯誤詳細資料。 |
|
Error |
所有 Azure Resource Manager API 的常見錯誤回應,用於回傳失敗操作的錯誤細節。 (這也遵循 OData 錯誤回應格式。)。 |
|
High |
定義數據變更偵測原則,根據高水位線數據行的值擷取變更。 |
|
Native |
定義使用 Azure Blob 記憶體原生虛刪除功能進行刪除偵測的數據刪除偵測原則。 |
|
Search |
表示將編製索引之實體的相關信息(例如 Azure SQL 數據表或 CosmosDB 集合)。 |
|
Search |
清除資料源的識別屬性。 |
|
Search |
表示數據源定義,可用來設定索引器。 |
|
Search |
定義資料來源的類型。 |
|
Search |
指定要使用之數據源的身分識別。 |
|
Search |
Azure Key Vault 中客戶管理的加密密鑰。 您建立和管理的金鑰可用來加密或解密靜態資料,例如索引和同義字對映。 |
|
Soft |
定義實作虛刪除策略的數據刪除偵測原則。 它會根據指定之「虛刪除」數據行的值,判斷是否應該刪除專案。 |
|
Sql |
定義數據變更偵測原則,以使用 Azure SQL Database 的整合式變更追蹤功能來擷取變更。 |
Accept
接受標頭。
| 值 | Description |
|---|---|
| application/json;odata.metadata=minimal |
ErrorAdditionalInfo
資源管理錯誤附加資訊。
| 名稱 | 類型 | Description |
|---|---|---|
| info |
附加資訊。 |
|
| type |
string |
其他資訊類型。 |
ErrorDetail
錯誤詳細資料。
| 名稱 | 類型 | Description |
|---|---|---|
| additionalInfo |
錯誤附加資訊。 |
|
| code |
string |
錯誤碼。 |
| details |
錯誤詳情 |
|
| message |
string |
錯誤訊息。 |
| target |
string |
錯誤目標。 |
ErrorResponse
所有 Azure Resource Manager API 的常見錯誤回應,用於回傳失敗操作的錯誤細節。 (這也遵循 OData 錯誤回應格式。)。
| 名稱 | 類型 | Description |
|---|---|---|
| error |
錯誤物件。 |
HighWaterMarkChangeDetectionPolicy
定義數據變更偵測原則,根據高水位線數據行的值擷取變更。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
衍生型別的歧視性。 |
| highWaterMarkColumnName |
string |
高水印數據行的名稱。 |
NativeBlobSoftDeleteDeletionDetectionPolicy
定義使用 Azure Blob 記憶體原生虛刪除功能進行刪除偵測的數據刪除偵測原則。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
衍生型別的歧視性。 |
SearchIndexerDataContainer
表示將編製索引之實體的相關信息(例如 Azure SQL 數據表或 CosmosDB 集合)。
| 名稱 | 類型 | Description |
|---|---|---|
| name |
string |
將編製索引的資料表或檢視 (適用於 Azure SQL 資料來源) 或集合 (適用於 CosmosDB 資料來源) 的名稱。 |
| query |
string |
套用至此數據容器的查詢。 此參數的語法和意義是數據源特定的。 Azure SQL 數據源不支援。 |
SearchIndexerDataNoneIdentity
清除資料源的識別屬性。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
指定身分類型的 URI 片段。 |
SearchIndexerDataSource
表示數據源定義,可用來設定索引器。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.etag |
string |
數據源的 ETag。 |
| container |
數據源的數據容器。 |
|
| credentials.connectionString |
string |
數據源的連接字串。 如果您不想更新連接字串,請設定為 |
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
數據源的數據變更偵測原則。 |
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
數據源的數據刪除偵測原則。 |
| description |
string |
數據源的描述。 |
| encryptionKey |
您在 Azure Key Vault 中建立的加密金鑰描述。 當您想要完全保證沒有人 (甚至 Microsoft) 無法解密您的資料來源定義時,此金鑰可用來為您的資料來源定義提供額外的待用加密層級。 加密數據源定義之後,一律會保持加密狀態。 搜尋服務會忽略嘗試將此屬性設定為 Null。 如果您想要輪替加密金鑰,您可以視需要變更此屬性;您的數據源定義不會受到影響。 使用客戶管理的金鑰加密不適用於免費搜尋服務,而且僅適用於 2019 年 1 月 1 日或之後建立的付費服務。 |
|
| identity | SearchIndexerDataIdentity: |
要用於此數據源的明確受控識別。 如果未指定,而且連接字串是受控識別,則會使用系統指派的受控識別。 如果未指定,該值會維持不變。 如果指定了 「none」 ,則會清除此屬性的值。 |
| name |
string |
數據源的名稱。 |
| type |
數據源的類型。 |
SearchIndexerDataSourceType
定義資料來源的類型。
| 值 | Description |
|---|---|
| azuresql |
指出 Azure SQL 資料來源。 |
| cosmosdb |
指出 CosmosDB 資料來源。 |
| azureblob |
指出 Azure Blob 資料來源。 |
| azuretable |
指出 Azure 資料表資料來源。 |
| mysql |
指出 MySQL 資料來源。 |
| adlsgen2 |
指出 ADLS Gen2 資料來源。 |
| onelake |
指出 Microsoft Fabric OneLake 資料來源。 |
| sharepoint |
指出 SharePoint 資料來源。 |
SearchIndexerDataUserAssignedIdentity
指定要使用之數據源的身分識別。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
指定身分類型的 URI 片段。 |
| userAssignedIdentity |
string |
使用者指派受控識別的完整 Azure 資源標識符,通常格式為 “/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId”。 |
SearchResourceEncryptionKey
Azure Key Vault 中客戶管理的加密密鑰。 您建立和管理的金鑰可用來加密或解密靜態資料,例如索引和同義字對映。
| 名稱 | 類型 | Description |
|---|---|---|
| accessCredentials.applicationId |
string |
AAD 應用程式識別碼,已將待用數據加密時要使用的 Azure Key Vault 所需訪問許可權授與。 應用程式標識碼不應與 AAD 應用程式的物件標識元混淆。 |
| accessCredentials.applicationSecret |
string |
指定 AAD 應用程式的驗證金鑰。 |
| identity | SearchIndexerDataIdentity: |
要用於此加密金鑰的明確受控識別。 如果未指定,且存取認證屬性為 Null,則會使用系統指派的受控識別。 更新資源時,如果未指定明確識別,則會維持不變。 如果指定了 「none」 ,則會清除此屬性的值。 |
| keyVaultKeyName |
string |
要用來加密待用數據的 Azure Key Vault 金鑰名稱。 |
| keyVaultKeyVersion |
string |
要用來加密待用數據的 Azure Key Vault 金鑰版本。 |
| keyVaultUri |
string |
Azure Key Vault 的 URI,也稱為 DNS 名稱,其中包含用來加密待用數據的密鑰。 範例 URI 可能會 |
SoftDeleteColumnDeletionDetectionPolicy
定義實作虛刪除策略的數據刪除偵測原則。 它會根據指定之「虛刪除」數據行的值,判斷是否應該刪除專案。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
衍生型別的歧視性。 |
| softDeleteColumnName |
string |
要用於虛刪除偵測的數據行名稱。 |
| softDeleteMarkerValue |
string |
將項目識別為已刪除的標記值。 |
SqlIntegratedChangeTrackingPolicy
定義數據變更偵測原則,以使用 Azure SQL Database 的整合式變更追蹤功能來擷取變更。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
衍生型別的歧視性。 |