你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Data Sources - Create
创建新的数据源。
POST {endpoint}/datasources?api-version=2023-11-01
URI 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
endpoint
|
path | True |
string |
搜索服务的终结点 URL。 |
api-version
|
query | True |
string |
客户端 API 版本。 |
请求头
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
x-ms-client-request-id |
string uuid |
随请求一起发送的跟踪 ID,以帮助调试。 |
请求正文
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
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 日或之后创建的付费服务。 |
响应
名称 | 类型 | 说明 |
---|---|---|
201 Created | ||
Other Status Codes |
错误响应。 |
示例
SearchServiceCreateDataSource
示例请求
POST https://myservice.search.windows.net/datasources?api-version=2023-11-01
{
"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
}
}
}
定义
名称 | 说明 |
---|---|
Azure |
为搜索服务创建的已注册应用程序的凭据,用于对 Azure 密钥保管库中存储的加密密钥进行身份验证访问。 |
Data |
表示可用于连接到数据源的凭据。 |
High |
定义一个数据更改检测策略,该策略根据高使用标记列的值捕获更改。 |
Search |
描述 API 的错误条件。 |
Search |
表示有关实体 (的信息,例如将编制索引的Azure SQL表或 CosmosDB 集合) 。 |
Search |
表示可用于配置索引器的数据源定义。 |
Search |
定义数据源的类型。 |
Search |
Azure 密钥保管库中客户管理的加密密钥。 创建和管理的密钥可用于加密或解密搜索服务上的静态数据,例如索引和同义词映射。 |
Soft |
定义实现软删除策略的数据删除检测策略。 它根据指定的“软删除”列的值确定是否应删除项。 |
Sql |
定义使用 Azure SQL 数据库的集成更改跟踪功能捕获更改的数据更改检测策略。 |
AzureActiveDirectoryApplicationCredentials
为搜索服务创建的已注册应用程序的凭据,用于对 Azure 密钥保管库中存储的加密密钥进行身份验证访问。
名称 | 类型 | 说明 |
---|---|---|
applicationId |
string |
AAD 应用程序 ID,该 ID 已被授予对 Azure 密钥保管库的所需访问权限,该 AZURE 密钥保管库将在加密静态数据时使用。 不应将应用程序 ID 与 AAD 应用程序的对象 ID 混淆。 |
applicationSecret |
string |
指定 AAD 应用程序的身份验证密钥。 |
DataSourceCredentials
表示可用于连接到数据源的凭据。
名称 | 类型 | 说明 |
---|---|---|
connectionString |
string |
数据源的连接字符串。 如果不希望更新连接字符串,则设置为 |
HighWaterMarkChangeDetectionPolicy
定义一个数据更改检测策略,该策略根据高使用标记列的值捕获更改。
名称 | 类型 | 说明 |
---|---|---|
@odata.type |
string:
#Microsoft. |
指定数据更改检测策略类型的 URI 片段。 |
highWaterMarkColumnName |
string |
高水位标记列的名称。 |
SearchError
描述 API 的错误条件。
名称 | 类型 | 说明 |
---|---|---|
code |
string |
服务器定义的一组错误代码中的一个。 |
details |
有关导致此项报告错误的特定错误的详细信息数组。 |
|
message |
string |
错误的用户可读表示形式。 |
SearchIndexerDataContainer
表示有关实体 (的信息,例如将编制索引的Azure SQL表或 CosmosDB 集合) 。
名称 | 类型 | 说明 |
---|---|---|
name |
string |
将编制索引的 CosmosDB 数据源) 的Azure SQL数据源) 或集合 (的表或视图 (的名称。 |
query |
string |
应用于此数据容器的查询。 此参数的语法和含义特定于数据源。 Azure SQL数据源不支持。 |
SearchIndexerDataSource
表示可用于配置索引器的数据源定义。
名称 | 类型 | 说明 |
---|---|---|
@odata.etag |
string |
数据源的 ETag。 |
container |
数据源的数据容器。 |
|
credentials |
数据源的凭据。 |
|
dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
数据源的数据更改检测策略。 |
dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
数据源的数据删除检测策略。 |
description |
string |
数据源的说明。 |
encryptionKey |
在 Azure 密钥保管库 中创建的加密密钥的说明。 当你希望完全保证任何人都(甚至 Microsoft)无法解密数据源定义时,此密钥用于为数据源定义提供额外的静态加密级别。 加密数据源定义后,它将始终保持加密状态。 搜索服务将忽略将此属性设置为 null 的尝试。 如果要轮换加密密钥,可以根据需要更改此属性;数据源定义不受影响。 使用客户管理的密钥加密不适用于免费搜索服务,并且仅适用于 2019 年 1 月 1 日或之后创建的付费服务。 |
|
name |
string |
数据源的名称。 |
type |
数据源的类型。 |
SearchIndexerDataSourceType
定义数据源的类型。
名称 | 类型 | 说明 |
---|---|---|
adlsgen2 |
string |
指示 ADLS Gen2 数据源。 |
azureblob |
string |
指示 Azure Blob 数据源。 |
azuresql |
string |
指示 Azure SQL 数据源。 |
azuretable |
string |
指示 Azure 表数据源。 |
cosmosdb |
string |
指示 CosmosDB 数据源。 |
mysql |
string |
指示 MySql 数据源。 |
SearchResourceEncryptionKey
Azure 密钥保管库中客户管理的加密密钥。 创建和管理的密钥可用于加密或解密搜索服务上的静态数据,例如索引和同义词映射。
名称 | 类型 | 说明 |
---|---|---|
accessCredentials |
用于访问 Azure 密钥保管库的可选 Azure Active Directory 凭据。 如果改用托管标识,则不需要。 |
|
keyVaultKeyName |
string |
用于加密静态数据的 Azure 密钥保管库密钥的名称。 |
keyVaultKeyVersion |
string |
Azure 密钥保管库密钥的版本,用于加密静态数据。 |
keyVaultUri |
string |
Azure 密钥保管库的 URI(也称为 DNS 名称),其中包含用于加密静态数据的密钥。 URI 示例可能是 |
SoftDeleteColumnDeletionDetectionPolicy
定义实现软删除策略的数据删除检测策略。 它根据指定的“软删除”列的值确定是否应删除项。
名称 | 类型 | 说明 |
---|---|---|
@odata.type |
string:
#Microsoft. |
指定数据删除检测策略类型的 URI 片段。 |
softDeleteColumnName |
string |
用于软删除检测的列的名称。 |
softDeleteMarkerValue |
string |
将项标识为已删除的标记值。 |
SqlIntegratedChangeTrackingPolicy
定义使用 Azure SQL 数据库的集成更改跟踪功能捕获更改的数据更改检测策略。
名称 | 类型 | 说明 |
---|---|---|
@odata.type |
string:
#Microsoft. |
指定数据更改检测策略类型的 URI 片段。 |