Data Sources - Create
建立新的數據源。
POST {endpoint}/datasources?api-version=2024-05-01-preview
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
endpoint
|
path | True |
string |
搜尋服務的端點 URL。 |
api-version
|
query | True |
string |
用戶端 API 版本。 |
要求標頭
名稱 | 必要 | 類型 | Description |
---|---|---|---|
x-ms-client-request-id |
string uuid |
使用要求傳送的追蹤標識碼,以協助偵錯。 |
要求本文
名稱 | 必要 | 類型 | 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 日或之後建立的付費服務。 |
||
identity | SearchIndexerDataIdentity: |
要用於此數據源的明確受控識別。 如果未指定,且 連接字串 是受控識別,則會使用系統指派的受控識別。 如果未指定,該值會保持不變。 如果指定了 「none」 則會清除此屬性的值。 |
回應
名稱 | 類型 | Description |
---|---|---|
201 Created | ||
Other Status Codes |
錯誤回應。 |
範例
SearchServiceCreateDataSource
範例要求
POST https://myservice.search.windows.net/datasources?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": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": "<applicationSecret>"
}
}
}
範例回覆
{
"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
}
}
}
定義
名稱 | Description |
---|---|
Azure |
為搜尋服務建立之已註冊應用程式的認證,用於驗證 Azure 金鑰保存庫 中所儲存加密金鑰的存取權。 |
Data |
表示可以用來連接到資料來源的認證。 |
Error |
資源管理錯誤其他資訊。 |
Error |
錯誤詳細數據。 |
Error |
錯誤回應 |
High |
定義數據變更偵測原則,根據高水位標記數據行的值來擷取變更。 |
Native |
定義使用 Azure Blob 儲存體 原生虛刪除功能進行刪除偵測的數據刪除偵測原則。 |
Search |
表示將編製索引之實體 (的相關信息,例如 Azure SQL 數據表或 CosmosDB 集合) 。 |
Search |
清除資料源的識別屬性。 |
Search |
表示數據源定義,可用來設定索引器。 |
Search |
定義數據源的類型。 |
Search |
指定要使用之數據源的身分識別。 |
Search |
Azure 金鑰保存庫 中客戶管理的加密密鑰。 您建立和管理的金鑰可用來加密或解密待用數據,例如索引和同義字對應。 |
Soft |
定義實作虛刪除策略的數據刪除偵測原則。 它會根據指定的「虛刪除」數據行值來判斷是否應該刪除專案。 |
Sql |
定義使用 Azure SQL Database 整合式 變更追蹤 功能來擷取變更的數據變更偵測原則。 |
AzureActiveDirectoryApplicationCredentials
為搜尋服務建立之已註冊應用程式的認證,用於驗證 Azure 金鑰保存庫 中所儲存加密金鑰的存取權。
名稱 | 類型 | Description |
---|---|---|
applicationId |
string |
AAD 應用程式識別碼,已授與 Azure 金鑰保存庫 所需的訪問許可權,用於加密待用數據時使用。 應用程式標識碼不應與 AAD 應用程式的物件標識元混淆。 |
applicationSecret |
string |
指定 AAD 應用程式的驗證金鑰。 |
DataSourceCredentials
表示可以用來連接到資料來源的認證。
名稱 | 類型 | Description |
---|---|---|
connectionString |
string |
數據源的 連接字串。 如果您不想更新 連接字串,請設定為 |
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 |
高水印數據行的名稱。 |
NativeBlobSoftDeleteDeletionDetectionPolicy
定義使用 Azure Blob 儲存體 原生虛刪除功能進行刪除偵測的數據刪除偵測原則。
名稱 | 類型 | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
指定數據刪除偵測原則類型的 URI 片段。 |
SearchIndexerDataContainer
表示將編製索引之實體 (的相關信息,例如 Azure SQL 數據表或 CosmosDB 集合) 。
名稱 | 類型 | Description |
---|---|---|
name |
string |
將編製索引之 CosmosDB 數據源的數據表或檢視表 (Azure SQL 名稱) 或集合) (。 |
query |
string |
套用至此數據容器的查詢。 此參數的語法和意義是數據源特定的。 Azure SQL 數據源不支援。 |
SearchIndexerDataNoneIdentity
清除資料源的識別屬性。
名稱 | 類型 | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
指定身分識別類型的 URI 片段。 |
SearchIndexerDataSource
表示數據源定義,可用來設定索引器。
名稱 | 類型 | Description |
---|---|---|
@odata.etag |
string |
數據源的 ETag。 |
container |
數據源的數據容器。 |
|
credentials |
數據源的認證。 |
|
dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
數據源的數據變更偵測原則。 |
dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
數據源的數據刪除偵測原則。 |
description |
string |
數據源的描述。 |
encryptionKey |
您在 Azure 金鑰保存庫 中建立的加密金鑰描述。 當您想要完整保證,即使 Microsoft 也無法解密數據源定義時,此密鑰可用來為您的數據源定義提供額外的待用加密層級。 一旦您加密數據源定義之後,它一律會保持加密狀態。 搜尋服務會忽略將此屬性設定為 Null 的嘗試。 如果您想要輪替加密金鑰,您可以視需要變更此屬性;您的數據源定義不會受到影響。 使用客戶管理的金鑰加密不適用於免費搜尋服務,而且僅適用於在 2019 年 1 月 1 日或之後建立的付費服務。 |
|
identity | SearchIndexerDataIdentity: |
要用於此數據源的明確受控識別。 如果未指定,且 連接字串 是受控識別,則會使用系統指派的受控識別。 如果未指定,該值會保持不變。 如果指定了 「none」 則會清除此屬性的值。 |
name |
string |
資料來源的名稱。 |
type |
數據源的類型。 |
SearchIndexerDataSourceType
定義數據源的類型。
名稱 | 類型 | Description |
---|---|---|
adlsgen2 |
string |
表示 ADLS Gen2 數據源。 |
azureblob |
string |
表示 Azure Blob 數據源。 |
azuresql |
string |
指出 Azure SQL 資料來源。 |
azuretable |
string |
表示 Azure 數據表數據源。 |
cosmosdb |
string |
表示 CosmosDB 數據源。 |
mysql |
string |
表示 MySql 數據源。 |
onelake |
string |
指出 Microsoft Fabric OneLake 數據源。 |
SearchIndexerDataUserAssignedIdentity
指定要使用之數據源的身分識別。
名稱 | 類型 | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
指定身分識別類型的 URI 片段。 |
userAssignedIdentity |
string |
使用者指派受控識別的完整 Azure 資源標識符,通常格式為 “/subscriptions/12345678-1234-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId”,應該已指派給搜尋服務。 |
SearchResourceEncryptionKey
Azure 金鑰保存庫 中客戶管理的加密密鑰。 您建立和管理的金鑰可用來加密或解密待用數據,例如索引和同義字對應。
名稱 | 類型 | Description |
---|---|---|
accessCredentials |
用來存取 Azure 金鑰保存庫 的選擇性 Azure Active Directory 認證。 若改用受控識別,則不需要。 |
|
identity | SearchIndexerDataIdentity: |
要用於此加密金鑰的明確受控識別。 如果未指定,且存取認證屬性為 Null,則會使用系統指派的受控識別。 更新資源時,如果未指定明確的身分識別,則會維持不變。 如果指定了 「none」 則會清除此屬性的值。 |
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 Database 整合式 變更追蹤 功能來擷取變更的數據變更偵測原則。
名稱 | 類型 | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
指定數據變更偵測原則類型的 URI 片段。 |