共用方式為


Data Sources - Create Or Update

建立新的資料來源,或更新資料來源 (如果已存在)。

PUT https:///datasources('{dataSourceName}')?api-version=2025-11-01-preview
PUT https:///datasources('{dataSourceName}')?api-version=2025-11-01-preview&ignoreResetRequirements={ignoreResetRequirements}

URI 參數

名稱 位於 必要 類型 Description
dataSourceName
path True

string

數據源的名稱。

api-version
query True

string

minLength: 1

用於此作業的 API 版本。

ignoreResetRequirements
query

boolean

忽略快取重設需求。

要求標頭

名稱 必要 類型 Description
Accept

Accept

接受標頭。

If-Match

string

定義 If-Match 條件。 只有在伺服器上的 ETag 符合此值時,才會執行作業。

If-None-Match

string

定義 If-None-Match 條件。 只有在伺服器上的 ETag 不符合此值時,才會執行作業。

Prefer True

Prefer

針對 HTTP PUT 要求,指示服務在成功時傳回建立/更新的資源。

x-ms-client-request-id

string (uuid)

要求不透明、全域唯一、用戶端產生的字串標識碼。

要求本文

名稱 必要 類型 Description
container True

SearchIndexerDataContainer

數據源的數據容器。

name True

string

數據源的名稱。

type True

SearchIndexerDataSourceType

數據源的類型。

@odata.etag

string

數據源的 ETag。

credentials.connectionString

string

數據源的連接字串。 如果您不想更新連接字串,請設定為 <unchanged> (帶括弧)。 如果您想要從資料來源移除連接字串值,請設定為 <redacted>

dataChangeDetectionPolicy DataChangeDetectionPolicy:

數據源的數據變更偵測原則。

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

數據源的數據刪除偵測原則。

description

string

數據源的描述。

encryptionKey

SearchResourceEncryptionKey

您在 Azure Key Vault 中建立的加密金鑰描述。 當您想要完全保證沒有人 (甚至 Microsoft) 無法解密您的資料來源定義時,此金鑰可用來為您的資料來源定義提供額外的待用加密層級。 加密數據源定義之後,一律會保持加密狀態。 搜尋服務會忽略嘗試將此屬性設定為 Null。 如果您想要輪替加密金鑰,您可以視需要變更此屬性;您的數據源定義不會受到影響。 使用客戶管理的金鑰加密不適用於免費搜尋服務,而且僅適用於 2019 年 1 月 1 日或之後建立的付費服務。

identity SearchIndexerDataIdentity:

要用於此數據源的明確受控識別。 如果未指定,而且連接字串是受控識別,則會使用系統指派的受控識別。 如果未指定,該值會維持不變。 如果指定了 「none」 ,則會清除此屬性的值。

indexerPermissionOptions

IndexerPermissionOption[]

具有各種型別許可權資料的擷取選項。

回應

名稱 類型 Description
200 OK

SearchIndexerDataSource

要求已成功。

201 Created

SearchIndexerDataSource

要求已成功,因此已建立新的資源。

Other Status Codes

ErrorResponse

未預期的錯誤回應。

安全性

api-key

類型: apiKey
位於: header

OAuth2Auth

類型: oauth2
Flow: implicit
授權 URL: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

範圍

名稱 Description
https://search.azure.com/.default

範例

SearchServiceCreateOrUpdateDataSource

範例要求

PUT https:///datasources('tempdatasource')?api-version=2025-11-01-preview&ignoreResetRequirements=





{
  "name": "tempdatasource",
  "description": "My Azure Adls Gen2 data source with ACLs.",
  "type": "adlsgen2",
  "credentials": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
  },
  "container": {
    "name": "adls-gen2-doc-extraction-acl",
    "query": "folder_has_final_acl"
  },
  "identity": {
    "@odata.type": "#Microsoft.Azure.Search.DataNoneIdentity"
  },
  "indexerPermissionOptions": [
    "userIds",
    "groupIds",
    "rbacScope"
  ],
  "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 Adls Gen2 data source with ACLs.",
  "type": "adlsgen2",
  "indexerPermissionOptions": [
    "userIds",
    "groupIds",
    "rbacScope"
  ],
  "credentials": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
  },
  "container": {
    "name": "adls-gen2-doc-extraction-acl",
    "query": "folder_has_final_acl"
  },
  "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"
  }
}
{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "tempdatasource",
  "description": "My Azure Adls Gen2 data source with ACLs.",
  "type": "adlsgen2",
  "indexerPermissionOptions": [
    "userIds",
    "groupIds",
    "rbacScope"
  ],
  "credentials": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
  },
  "container": {
    "name": "adls-gen2-doc-extraction-acl",
    "query": "folder_has_final_acl"
  },
  "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

接受標頭。

ErrorAdditionalInfo

資源管理錯誤其他資訊。

ErrorDetail

錯誤詳細數據。

ErrorResponse

所有 Azure Resource Manager API 的常見錯誤回應,以傳回失敗作業的錯誤詳細數據。 (這也遵循 OData 錯誤回應格式。)。

HighWaterMarkChangeDetectionPolicy

定義數據變更偵測原則,根據高水位線數據行的值擷取變更。

IndexerPermissionOption

具有各種類型許可資料的選項,以編製索引。

NativeBlobSoftDeleteDeletionDetectionPolicy

定義使用 Azure Blob 記憶體原生虛刪除功能進行刪除偵測的數據刪除偵測原則。

Prefer

針對 HTTP PUT 要求,指示服務在成功時傳回建立/更新的資源。

SearchIndexerDataContainer

表示將編製索引之實體的相關信息(例如 Azure SQL 數據表或 CosmosDB 集合)。

SearchIndexerDataNoneIdentity

清除資料源的識別屬性。

SearchIndexerDataSource

表示數據源定義,可用來設定索引器。

SearchIndexerDataSourceType

定義資料來源的類型。

SearchIndexerDataUserAssignedIdentity

指定要使用之數據源的身分識別。

SearchResourceEncryptionKey

Azure Key Vault 中客戶管理的加密密鑰。 您建立和管理的金鑰可用來加密或解密靜態資料,例如索引和同義字對映。

SoftDeleteColumnDeletionDetectionPolicy

定義實作虛刪除策略的數據刪除偵測原則。 它會根據指定之「虛刪除」數據行的值,判斷是否應該刪除專案。

SqlIntegratedChangeTrackingPolicy

定義數據變更偵測原則,以使用 Azure SQL Database 的整合式變更追蹤功能來擷取變更。

Accept

接受標頭。

Description
application/json;odata.metadata=minimal

ErrorAdditionalInfo

資源管理錯誤其他資訊。

名稱 類型 Description
info

附加資訊。

type

string

其他資訊類型。

ErrorDetail

錯誤詳細數據。

名稱 類型 Description
additionalInfo

ErrorAdditionalInfo[]

錯誤附加資訊。

code

string

錯誤碼。

details

ErrorDetail[]

錯誤詳細數據。

message

string

錯誤訊息。

target

string

錯誤目標。

ErrorResponse

所有 Azure Resource Manager API 的常見錯誤回應,以傳回失敗作業的錯誤詳細數據。 (這也遵循 OData 錯誤回應格式。)。

名稱 類型 Description
error

ErrorDetail

錯誤物件。

HighWaterMarkChangeDetectionPolicy

定義數據變更偵測原則,根據高水位線數據行的值擷取變更。

名稱 類型 Description
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

衍生型別的歧視性。

highWaterMarkColumnName

string

高臨界值欄的名稱。

IndexerPermissionOption

具有各種類型許可資料的選項,以編製索引。

Description
userIds

索引子,將 ACL userId 從資料來源擷取至索引。

groupIds

索引子,將ACL groupId從資料來源擷取至索引。

rbacScope

索引子,可將 Azure RBAC 範圍從資料來源內嵌至索引。

NativeBlobSoftDeleteDeletionDetectionPolicy

定義使用 Azure Blob 記憶體原生虛刪除功能進行刪除偵測的數據刪除偵測原則。

名稱 類型 Description
@odata.type string:

#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy

衍生型別的歧視性。

Prefer

針對 HTTP PUT 要求,指示服務在成功時傳回建立/更新的資源。

Description
return=representation

SearchIndexerDataContainer

表示將編製索引之實體的相關信息(例如 Azure SQL 數據表或 CosmosDB 集合)。

名稱 類型 Description
name

string

將編製索引的資料表或檢視 (適用於 Azure SQL 資料來源) 或集合 (適用於 CosmosDB 資料來源) 的名稱。

query

string

套用至此數據容器的查詢。 此參數的語法和意義是數據源特定的。 Azure SQL 數據源不支援。

SearchIndexerDataNoneIdentity

清除資料源的識別屬性。

名稱 類型 Description
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

指定身分類型的 URI 片段。

SearchIndexerDataSource

表示數據源定義,可用來設定索引器。

名稱 類型 Description
@odata.etag

string

數據源的 ETag。

container

SearchIndexerDataContainer

數據源的數據容器。

credentials.connectionString

string

數據源的連接字串。 如果您不想更新連接字串,請設定為 <unchanged> (帶括弧)。 如果您想要從資料來源移除連接字串值,請設定為 <redacted>

dataChangeDetectionPolicy DataChangeDetectionPolicy:

數據源的數據變更偵測原則。

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

數據源的數據刪除偵測原則。

description

string

數據源的描述。

encryptionKey

SearchResourceEncryptionKey

您在 Azure Key Vault 中建立的加密金鑰描述。 當您想要完全保證沒有人 (甚至 Microsoft) 無法解密您的資料來源定義時,此金鑰可用來為您的資料來源定義提供額外的待用加密層級。 加密數據源定義之後,一律會保持加密狀態。 搜尋服務會忽略嘗試將此屬性設定為 Null。 如果您想要輪替加密金鑰,您可以視需要變更此屬性;您的數據源定義不會受到影響。 使用客戶管理的金鑰加密不適用於免費搜尋服務,而且僅適用於 2019 年 1 月 1 日或之後建立的付費服務。

identity SearchIndexerDataIdentity:

要用於此數據源的明確受控識別。 如果未指定,而且連接字串是受控識別,則會使用系統指派的受控識別。 如果未指定,該值會維持不變。 如果指定了 「none」 ,則會清除此屬性的值。

indexerPermissionOptions

IndexerPermissionOption[]

具有各種型別許可權資料的擷取選項。

name

string

數據源的名稱。

subType

string

特定類型的資料來源,以防資源能夠使用不同的模式。 例如,某些 'cosmosDb' 帳戶的 'MongoDb'。

type

SearchIndexerDataSourceType

數據源的類型。

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

指定身分類型的 URI 片段。

userAssignedIdentity

string

使用者指派受控識別的完整 Azure 資源識別碼,通常採用「/subscriptions/12345678-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 可能會 https://my-keyvault-name.vault.azure.net

SoftDeleteColumnDeletionDetectionPolicy

定義實作虛刪除策略的數據刪除偵測原則。 它會根據指定之「虛刪除」數據行的值,判斷是否應該刪除專案。

名稱 類型 Description
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

衍生型別的歧視性。

softDeleteColumnName

string

用於軟刪除偵測的資料行名稱。

softDeleteMarkerValue

string

將項目識別為已刪除的標記值。

SqlIntegratedChangeTrackingPolicy

定義數據變更偵測原則,以使用 Azure SQL Database 的整合式變更追蹤功能來擷取變更。

名稱 類型 Description
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

衍生型別的歧視性。