Data Sources - Create Or Update
建立新的資料來源,或更新資料來源 (如果已存在)。
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2025-09-01
URI 參數
| 名稱 | 位於 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
data
|
path | True |
string |
要建立或更新的資料來源名稱。 |
|
endpoint
|
path | True |
string |
搜尋服務的端點 URL。 |
|
api-version
|
query | True |
string |
用戶端 API 版本。 |
要求標頭
| 名稱 | 必要 | 類型 | Description |
|---|---|---|---|
| x-ms-client-request-id |
string (uuid) |
隨請求一起傳送的追蹤 ID,以協助偵錯。 |
|
| If-Match |
string |
定義 If-Match 條件。 只有在伺服器上的 ETag 符合此值時,才會執行作業。 |
|
| If-None-Match |
string |
定義 If-None-Match 條件。 只有在伺服器上的 ETag 不符合此值時,才會執行作業。 |
|
| Prefer | True |
string |
針對 HTTP PUT 要求,指示服務在成功時傳回建立/更新的資源。 |
要求本文
| 名稱 | 必要 | 類型 | Description |
|---|---|---|---|
| container | True |
資料來源的資料容器。 |
|
| credentials | True |
資料來源的認證。 |
|
| name | True |
string |
資料來源的名稱。 |
| type | True |
資料來源的類型。 |
|
| @odata.etag |
string |
數據源的 ETag。 |
|
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
資料來源的資料變更偵測原則。 |
|
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
資料來源的資料刪除偵測原則。 |
|
| description |
string |
資料來源的說明。 |
|
| encryptionKey |
您在 Azure 金鑰保存庫中建立的加密金鑰描述。 當您想要完全保證沒有人 (甚至 Microsoft) 無法解密您的資料來源定義時,此金鑰可用來為您的資料來源定義提供額外的待用加密層級。 加密資料來源定義之後,它將一律保持加密狀態。 搜尋服務會忽略嘗試將此屬性設定為 Null。 如果您想要輪替加密金鑰,您可以視需要變更此屬性;您的資料來源定義不會受到影響。 使用客戶管理的金鑰進行加密不適用於免費搜尋服務,且僅適用於 2019 年 1 月 1 日或之後建立的付費服務。 |
回應
| 名稱 | 類型 | Description |
|---|---|---|
| 200 OK | ||
| 201 Created | ||
| Other Status Codes |
錯誤回應。 |
範例
SearchServiceCreateOrUpdateDataSource
範例要求
PUT https://stableexampleservice.search.windows.net/datasources('tempdatasource')?api-version=2025-09-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"
},
"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"
}
}
{
"@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"
}
}
定義
| 名稱 | Description |
|---|---|
|
Azure |
針對搜尋服務建立之已註冊應用程式認證,用於對儲存在 Azure 金鑰保存庫中的加密金鑰進行驗證存取。 |
|
Data |
代表可用來連線至資料來源的認證。 |
|
Error |
資源管理錯誤其他資訊。 |
|
Error |
錯誤詳細數據。 |
|
Error |
錯誤回應 |
|
High |
定義資料變更偵測原則,以根據高臨界值資料行的值來擷取變更。 |
|
Search |
代表將編製索引之實體 (例如 Azure SQL 資料表或 CosmosDB 集合) 的相關資訊。 |
|
Search |
代表資料來源定義,可用來設定索引子。 |
|
Search |
定義資料來源的類型。 |
|
Search |
Azure Key Vault 中的客戶管理加密金鑰。 您建立和管理的金鑰可用來加密或解密靜態資料,例如索引和同義字對映。 |
|
Soft |
定義實作軟刪除策略的資料刪除偵測原則。 它會根據指定的「虛刪除」資料行的值來決定是否應該刪除專案。 |
|
Sql |
定義資料變更偵測原則,以使用 Azure SQL 資料庫的整合式變更追蹤功能來擷取變更。 |
AzureActiveDirectoryApplicationCredentials
針對搜尋服務建立之已註冊應用程式認證,用於對儲存在 Azure 金鑰保存庫中的加密金鑰進行驗證存取。
| 名稱 | 類型 | Description |
|---|---|---|
| applicationId |
string |
已授與 Azure 金鑰保存庫所需存取權限的 AAD 應用程式識別碼,可在加密待用資料時使用。 應用程式識別碼不應與 AAD 應用程式的物件識別碼混淆。 |
| applicationSecret |
string |
指定 AAD 應用程式的驗證金鑰。 |
DataSourceCredentials
代表可用來連線至資料來源的認證。
| 名稱 | 類型 | Description |
|---|---|---|
| connectionString |
string |
資料來源的連接字串。 針對 Azure SQL、Azure Blob、ADLS Gen 2 和 Azure 資料表,如果使用受控識別,這將是連接字串或資源識別碼。 針對 CosmosDB,這會是格式化的連接字串,指定受控識別的 ApiKind 或資源識別碼。 針對 Onelake 檔案,連接字串會是工作區 GUID 或工作區 FQDN;Onelake 僅支援受控識別連線。 如果您不想更新連接字串,請設定為 |
ErrorAdditionalInfo
資源管理錯誤其他資訊。
| 名稱 | 類型 | Description |
|---|---|---|
| info |
object |
其他資訊。 |
| type |
string |
其他信息類型。 |
ErrorDetail
錯誤詳細數據。
| 名稱 | 類型 | Description |
|---|---|---|
| additionalInfo |
錯誤其他資訊。 |
|
| code |
string |
錯誤碼。 |
| details |
錯誤詳細數據。 |
|
| message |
string |
錯誤訊息。 |
| target |
string |
錯誤目標。 |
ErrorResponse
錯誤回應
| 名稱 | 類型 | Description |
|---|---|---|
| error |
error 物件。 |
HighWaterMarkChangeDetectionPolicy
定義資料變更偵測原則,以根據高臨界值資料行的值來擷取變更。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
指定資料變更偵測原則類型的 URI 片段。 |
| highWaterMarkColumnName |
string |
高臨界值欄的名稱。 |
SearchIndexerDataContainer
代表將編製索引之實體 (例如 Azure SQL 資料表或 CosmosDB 集合) 的相關資訊。
| 名稱 | 類型 | Description |
|---|---|---|
| name |
string |
將編製索引的資料表或檢視 (適用於 Azure SQL 資料來源)、集合 (適用於 CosmosDB 資料來源)、容器 (適用於 Azure Blob 和 ADLS Gen 2 資料來源)、Azure 資料表 (適用於 Azure 資料表資料來源) 或 Lakehouse (適用於 Onelake 資料來源) 的名稱。 |
| query |
string |
套用至此資料容器的查詢。 針對 CosmosDB 資料來源查詢,可以平面化和篩選資料。 針對 Azure Blob 和 ADLS Gen 2 查詢,可以依資料夾進行篩選。 針對 Azure 資料表查詢,可以依資料列資料進行篩選。 對於 Onelake,查詢可以按文件夾或快捷方式進行過濾。 Azure SQL 資料來源不支援。 |
SearchIndexerDataSource
代表資料來源定義,可用來設定索引子。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.etag |
string |
數據源的 ETag。 |
| container |
資料來源的資料容器。 |
|
| credentials |
資料來源的認證。 |
|
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
資料來源的資料變更偵測原則。 |
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
資料來源的資料刪除偵測原則。 |
| description |
string |
資料來源的說明。 |
| encryptionKey |
您在 Azure 金鑰保存庫中建立的加密金鑰描述。 當您想要完全保證沒有人 (甚至 Microsoft) 無法解密您的資料來源定義時,此金鑰可用來為您的資料來源定義提供額外的待用加密層級。 加密資料來源定義之後,它將一律保持加密狀態。 搜尋服務會忽略嘗試將此屬性設定為 Null。 如果您想要輪替加密金鑰,您可以視需要變更此屬性;您的資料來源定義不會受到影響。 使用客戶管理的金鑰進行加密不適用於免費搜尋服務,且僅適用於 2019 年 1 月 1 日或之後建立的付費服務。 |
|
| name |
string |
資料來源的名稱。 |
| type |
資料來源的類型。 |
SearchIndexerDataSourceType
定義資料來源的類型。
| 值 | Description |
|---|---|
| azuresql |
Azure SQL 資料來源的定義,其認證可以是標準 SQL 連接字串或 SQL 資源的 ResourceId。 容器屬性是指要索引的表格或視圖。 此資料來源不支援查詢參數。 |
| cosmosdb |
CosmosDB 資料來源的定義,其認證可以是格式化的連接字串,其中包含金鑰型連線的 AccountEndpoint、AccountKey 和 Database 詳細數據,或無金鑰連線的 ResourceID 和 ApiKind 詳細數據。 容器屬性是指要編製索引的 cosmosdb 集合,而選擇性查詢屬性則是指集合上的 SQL 查詢。 |
| azureblob |
Azure Blob 資料來源的定義,其認證可以是儲存體連接字串或儲存體帳戶的 ResourceId。 容器屬性是指要編製索引的 Blob 容器,而選擇性查詢屬性是指容器中的特定子資料夾。 |
| azuretable |
Azure 資料表資料來源的定義,其認證可以是資料表連接字串或儲存體帳戶的 ResourceId。 容器屬性是指要編製索引的 Blob 容器,而選擇性查詢屬性可用來篩選資料列。 |
| mysql |
Azure SQL 資料來源的定義,其認證可以是標準 ADO.NET 格式的 SQL 連接字串或 SQL 資源的 ResourceId。 容器屬性是指要索引的表格或視圖。 此資料來源不支援查詢參數。 |
| adlsgen2 |
Azure ADLS Gen 2 資料來源的定義,其認證可以是儲存體連接字串或儲存體帳戶的 ResourceId。 容器屬性是指要編製索引的 Blob 容器,而選擇性查詢屬性是指容器中的特定子資料夾。 |
| onelake |
Microsoft Fabric Onelake 資料來源的定義,其認證可以是 Fabric 工作區 GUID 或工作區 FQDN。 容器屬性是指湖屋 GUID,而選擇性查詢屬性是指湖屋中的資料夾或快捷方式。 |
SearchResourceEncryptionKey
Azure Key Vault 中的客戶管理加密金鑰。 您建立和管理的金鑰可用來加密或解密靜態資料,例如索引和同義字對映。
| 名稱 | 類型 | Description |
|---|---|---|
| accessCredentials |
用來存取 Azure 金鑰保存庫的選擇性 Azure Active Directory 認證。 如果改用受控識別,則不需要。 |
|
| keyVaultKeyName |
string |
要用來加密待用資料的 Azure 金鑰保存庫名稱。 |
| keyVaultKeyVersion |
string |
要用來加密待用資料的 Azure 金鑰版本。 |
| keyVaultUri |
string |
Azure 金鑰保存庫的 URI,也稱為 DNS 名稱,其中包含要用來加密待用資料的金鑰。 範例 URI 可能是 |
SoftDeleteColumnDeletionDetectionPolicy
定義實作軟刪除策略的資料刪除偵測原則。 它會根據指定的「虛刪除」資料行的值來決定是否應該刪除專案。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
指定資料刪除偵測原則類型的 URI 片段。 |
| softDeleteColumnName |
string |
用於軟刪除偵測的資料行名稱。 |
| softDeleteMarkerValue |
string |
將項目識別為已刪除的標記值。 |
SqlIntegratedChangeTrackingPolicy
定義資料變更偵測原則,以使用 Azure SQL 資料庫的整合式變更追蹤功能來擷取變更。
| 名稱 | 類型 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
指定資料變更偵測原則類型的 URI 片段。 |