Data Sources - Create Or Update
새 데이터 원본을 만들거나 이미 있는 경우 데이터 원본을 업데이트합니다.
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-07-01
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
data
|
path | True |
string |
만들거나 업데이트할 데이터 원본의 이름입니다. |
endpoint
|
path | True |
string |
검색 서비스의 엔드포인트 URL입니다. |
api-version
|
query | True |
string |
클라이언트 API 버전입니다. |
요청 헤더
Name | 필수 | 형식 | 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 요청의 경우 성공 시 생성/업데이트된 리소스를 반환하도록 서비스에 지시합니다. |
요청 본문
Name | 필수 | 형식 | Description |
---|---|---|---|
container | True |
데이터 원본의 데이터 컨테이너입니다. |
|
credentials | True |
데이터 원본에 대한 자격 증명입니다. |
|
name | True |
string |
데이터 원본의 이름입니다. |
type | True |
데이터 원본의 형식입니다. |
|
@odata.etag |
string |
데이터 원본의 ETag입니다. |
|
dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
데이터 원본에 대한 데이터 변경 검색 정책입니다. |
|
dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
데이터 원본에 대한 데이터 삭제 검색 정책입니다. |
|
description |
string |
데이터 원본에 대한 설명입니다. |
|
encryptionKey |
Azure Key Vault에서 만드는 암호화 키에 대한 설명입니다. 이 키는 Microsoft를 비롯한 누구도 데이터 원본 정의를 해독할 수 없다는 완전한 보증을 원할 때 데이터 원본 정의에 대한 추가 수준의 미사용 암호화를 제공하는 데 사용됩니다. 데이터 원본 정의를 암호화한 후에는 항상 암호화된 상태로 유지됩니다. 검색 서비스는 이 속성을 null로 설정하려는 시도를 무시합니다. 암호화 키를 회전하려는 경우 필요에 따라 이 속성을 변경할 수 있습니다. 데이터 원본 정의는 영향을 받지 않습니다. 고객 관리형 키를 사용한 암호화는 무료 검색 서비스에 사용할 수 없으며 2019년 1월 1일 이후 생성된 유료 서비스에만 사용할 수 있습니다. |
응답
Name | 형식 | Description |
---|---|---|
200 OK | ||
201 Created | ||
Other Status Codes |
오류 응답입니다. |
예제
SearchServiceCreateOrUpdateDataSource
샘플 요청
PUT https://myservice.search.windows.net/datasources('mydatasource')?api-version=2024-07-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": null
}
}
샘플 응답
{
"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": null
}
}
{
"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": null
}
}
정의
Name | Description |
---|---|
Azure |
Azure Key Vault에 저장된 암호화 키에 대한 인증된 액세스에 사용되는 검색 서비스에 대해 생성된 등록된 애플리케이션의 자격 증명입니다. |
Data |
데이터 원본에 연결하는 데 사용할 수 있는 자격 증명을 나타냅니다. |
Error |
리소스 관리 오류 추가 정보입니다. |
Error |
오류 세부 정보입니다. |
Error |
오류 응답 |
High |
높은 워터 마크 열의 값에 따라 변경 내용을 캡처하는 데이터 변경 검색 정책을 정의합니다. |
Search |
인덱싱할 엔터티(예: Azure SQL 테이블 또는 CosmosDB 컬렉션)에 대한 정보를 나타냅니다. |
Search |
인덱서 구성에 사용할 수 있는 데이터 원본 정의를 나타냅니다. |
Search |
데이터 원본의 형식을 정의합니다. |
Search |
Azure Key Vault의 고객 관리형 암호화 키입니다. 만들고 관리하는 키를 사용하여 인덱스 및 동의어 맵과 같은 미사용 데이터를 암호화하거나 암호 해독할 수 있습니다. |
Soft |
일시 삭제 전략을 구현하는 데이터 삭제 검색 정책을 정의합니다. 지정된 '일시 삭제' 열의 값에 따라 항목을 삭제해야 하는지 여부를 결정합니다. |
Sql |
Azure SQL Database의 통합 변경 내용 추적 기능을 사용하여 변경 내용을 캡처하는 데이터 변경 검색 정책을 정의합니다. |
AzureActiveDirectoryApplicationCredentials
Azure Key Vault에 저장된 암호화 키에 대한 인증된 액세스에 사용되는 검색 서비스에 대해 생성된 등록된 애플리케이션의 자격 증명입니다.
Name | 형식 | Description |
---|---|---|
applicationId |
string |
미사용 데이터를 암호화할 때 사용할 Azure Key Vault에 필요한 액세스 권한이 부여된 AAD 애플리케이션 ID입니다. 애플리케이션 ID는 AAD 애플리케이션의 개체 ID와 혼동해서는 안 됩니다. |
applicationSecret |
string |
지정된 AAD 애플리케이션의 인증 키입니다. |
DataSourceCredentials
데이터 원본에 연결하는 데 사용할 수 있는 자격 증명을 나타냅니다.
Name | 형식 | Description |
---|---|---|
connectionString |
string |
데이터 원본에 대한 연결 문자열입니다. 연결 문자열을 업데이트하지 않으려면 |
ErrorAdditionalInfo
리소스 관리 오류 추가 정보입니다.
Name | 형식 | Description |
---|---|---|
info |
object |
추가 정보입니다. |
type |
string |
추가 정보 유형입니다. |
ErrorDetail
오류 세부 정보입니다.
Name | 형식 | Description |
---|---|---|
additionalInfo |
오류 추가 정보입니다. |
|
code |
string |
오류 코드입니다. |
details |
오류 세부 정보입니다. |
|
message |
string |
오류 메시지입니다. |
target |
string |
오류 대상입니다. |
ErrorResponse
오류 응답
Name | 형식 | Description |
---|---|---|
error |
오류 개체입니다. |
HighWaterMarkChangeDetectionPolicy
높은 워터 마크 열의 값에 따라 변경 내용을 캡처하는 데이터 변경 검색 정책을 정의합니다.
Name | 형식 | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
데이터 변경 검색 정책의 유형을 지정하는 URI 조각입니다. |
highWaterMarkColumnName |
string |
상위 워터 마크 열의 이름입니다. |
SearchIndexerDataContainer
인덱싱할 엔터티(예: Azure SQL 테이블 또는 CosmosDB 컬렉션)에 대한 정보를 나타냅니다.
Name | 형식 | Description |
---|---|---|
name |
string |
인덱싱할 테이블 또는 뷰(Azure SQL 데이터 원본의 경우) 또는 컬렉션(CosmosDB 데이터 원본의 경우)의 이름입니다. |
query |
string |
이 데이터 컨테이너에 적용되는 쿼리입니다. 이 매개 변수의 구문과 의미는 데이터 원본에 따라 다릅니다. Azure SQL 데이터 원본에서 지원되지 않습니다. |
SearchIndexerDataSource
인덱서 구성에 사용할 수 있는 데이터 원본 정의를 나타냅니다.
Name | 형식 | Description |
---|---|---|
@odata.etag |
string |
데이터 원본의 ETag입니다. |
container |
데이터 원본의 데이터 컨테이너입니다. |
|
credentials |
데이터 원본에 대한 자격 증명입니다. |
|
dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
데이터 원본에 대한 데이터 변경 검색 정책입니다. |
dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
데이터 원본에 대한 데이터 삭제 검색 정책입니다. |
description |
string |
데이터 원본에 대한 설명입니다. |
encryptionKey |
Azure Key Vault에서 만드는 암호화 키에 대한 설명입니다. 이 키는 Microsoft를 비롯한 누구도 데이터 원본 정의를 해독할 수 없다는 완전한 보증을 원할 때 데이터 원본 정의에 대한 추가 수준의 미사용 암호화를 제공하는 데 사용됩니다. 데이터 원본 정의를 암호화한 후에는 항상 암호화된 상태로 유지됩니다. 검색 서비스는 이 속성을 null로 설정하려는 시도를 무시합니다. 암호화 키를 회전하려는 경우 필요에 따라 이 속성을 변경할 수 있습니다. 데이터 원본 정의는 영향을 받지 않습니다. 고객 관리형 키를 사용한 암호화는 무료 검색 서비스에 사용할 수 없으며 2019년 1월 1일 이후 생성된 유료 서비스에만 사용할 수 있습니다. |
|
name |
string |
데이터 원본의 이름입니다. |
type |
데이터 원본의 형식입니다. |
SearchIndexerDataSourceType
데이터 원본의 형식을 정의합니다.
Name | 형식 | Description |
---|---|---|
adlsgen2 |
string |
ADLS Gen2 데이터 원본을 나타냅니다. |
azureblob |
string |
Azure Blob 데이터 원본을 나타냅니다. |
azuresql |
string |
Azure SQL 데이터 원본을 나타냅니다. |
azuretable |
string |
Azure Table 데이터 원본을 나타냅니다. |
cosmosdb |
string |
CosmosDB 데이터 원본을 나타냅니다. |
mysql |
string |
MySql 데이터 원본을 나타냅니다. |
SearchResourceEncryptionKey
Azure Key Vault의 고객 관리형 암호화 키입니다. 만들고 관리하는 키를 사용하여 인덱스 및 동의어 맵과 같은 미사용 데이터를 암호화하거나 암호 해독할 수 있습니다.
Name | 형식 | Description |
---|---|---|
accessCredentials |
Azure Key Vault에 액세스하는 데 사용되는 선택적 Azure Active Directory 자격 증명입니다. 대신 관리 ID를 사용하는 경우에는 필요하지 않습니다. |
|
keyVaultKeyName |
string |
미사용 데이터를 암호화하는 데 사용할 Azure Key Vault 키의 이름입니다. |
keyVaultKeyVersion |
string |
미사용 데이터를 암호화하는 데 사용할 Azure Key Vault 키의 버전입니다. |
keyVaultUri |
string |
미사용 데이터를 암호화하는 데 사용할 키를 포함하는 DNS 이름이라고도 하는 Azure Key Vault의 URI입니다. 예제 URI는 |
SoftDeleteColumnDeletionDetectionPolicy
일시 삭제 전략을 구현하는 데이터 삭제 검색 정책을 정의합니다. 지정된 '일시 삭제' 열의 값에 따라 항목을 삭제해야 하는지 여부를 결정합니다.
Name | 형식 | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
데이터 삭제 검색 정책의 형식을 지정하는 URI 조각입니다. |
softDeleteColumnName |
string |
일시 삭제 검색에 사용할 열의 이름입니다. |
softDeleteMarkerValue |
string |
항목을 삭제된 것으로 식별하는 표식 값입니다. |
SqlIntegratedChangeTrackingPolicy
Azure SQL Database의 통합 변경 내용 추적 기능을 사용하여 변경 내용을 캡처하는 데이터 변경 검색 정책을 정의합니다.
Name | 형식 | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
데이터 변경 검색 정책의 유형을 지정하는 URI 조각입니다. |