Data Sources - Create Or Update
새 데이터 원본을 만들거나 데이터 원본이 이미 있는 경우 업데이트합니다.
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2025-09-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://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"
}
}
정의
| 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 |
데이터 원본에 대한 연결 문자열입니다. Azure SQL, Azure Blob, ADLS Gen 2 및 Azure Table의 경우 관리 ID를 사용하는 경우 연결 문자열 또는 리소스 ID가 됩니다. CosmosDB의 경우 관리 ID에 대한 ApiKind 또는 리소스 ID를 지정하는 형식이 지정된 연결 문자열입니다. Onelake 파일의 경우 연결 문자열은 작업 영역 guid 또는 작업 영역 FQDN입니다. Onelake는 관리 ID 연결만 지원합니다. 연결 문자열을 업데이트하지 않으려면 (대괄호 포함)으로 |
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 데이터 원본의 경우), 컨테이너(Azure Blob 및 ADLS Gen 2 데이터 원본의 경우), Azure 테이블(Azure 테이블 데이터 원본의 경우) 또는 레이크하우스(Onelake 데이터 원본의 경우)의 이름입니다. |
| query |
string |
이 데이터 컨테이너에 적용되는 쿼리입니다. CosmosDB의 경우 데이터 원본 쿼리는 데이터를 평면화하고 필터링할 수 있습니다. Azure Blob 및 ADLS Gen 2 쿼리의 경우 폴더별로 필터링할 수 있습니다. Azure 테이블의 경우 쿼리는 행 데이터별로 필터링할 수 있습니다. Onelake의 경우 쿼리는 폴더 또는 바로 가기별로 필터링할 수 있습니다. 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
데이터 원본의 형식을 정의합니다.
| 값 | Description |
|---|---|
| azuresql |
자격 증명이 표준 SQL 연결 문자열 또는 SQL 리소스의 ResourceId일 수 있는 Azure SQL 데이터 원본의 정의입니다. 컨테이너 속성은 인덱싱할 테이블 또는 뷰를 참조합니다. 쿼리 매개 변수는 이 데이터 원본에 대해 지원되지 않습니다. |
| cosmosdb |
자격 증명이 키 기반 연결의 경우 AccountEndpoint, AccountKey 및 Database에 대한 세부 정보를 포함하는 서식이 지정된 연결 문자열이거나 키 없는 연결의 경우 ResourceID 및 ApiKind에 대한 세부 정보가 포함될 수 있는 CosmosDB 데이터 원본의 정의입니다. 컨테이너 속성은 인덱싱할 cosmosdb 컬렉션을 참조하고 선택적 쿼리 속성은 컬렉션에 대한 SQL 쿼리를 참조합니다. |
| azureblob |
자격 증명이 스토리지 연결 문자열 또는 스토리지 계정의 ResourceId일 수 있는 Azure Blob 데이터 원본의 정의입니다. 컨테이너 속성은 인덱싱할 Blob 컨테이너를 참조하고 선택적 쿼리 속성은 컨테이너의 특정 하위 폴더를 참조합니다. |
| azuretable |
자격 증명이 테이블 연결 문자열 또는 스토리지 계정의 ResourceId일 수 있는 Azure 테이블 데이터 원본의 정의입니다. 컨테이너 속성은 인덱싱할 Blob 컨테이너를 참조하며 선택적 쿼리 속성을 사용하여 행을 필터링할 수 있습니다. |
| mysql |
자격 증명이 표준 ADO.NET 형식의 SQL 연결 문자열 또는 SQL 리소스의 ResourceId일 수 있는 Azure SQL 데이터 원본의 정의입니다. 컨테이너 속성은 인덱싱할 테이블 또는 뷰를 참조합니다. 쿼리 매개 변수는 이 데이터 원본에 대해 지원되지 않습니다. |
| adlsgen2 |
자격 증명이 스토리지 연결 문자열 또는 스토리지 계정의 ResourceId일 수 있는 Azure ADLS Gen 2 데이터 원본의 정의입니다. 컨테이너 속성은 인덱싱할 Blob 컨테이너를 참조하고 선택적 쿼리 속성은 컨테이너의 특정 하위 폴더를 참조합니다. |
| onelake |
자격 증명이 Fabric 작업 영역 GUID 또는 작업 영역 FQDN일 수 있는 Microsoft Fabric Onelake 데이터 원본의 정의입니다. 컨테이너 속성은 레이크하우스 GUID를 참조하고 선택적 쿼리 속성은 레이크하우스의 폴더 또는 바로 가기를 참조합니다. |
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 |
미사용 데이터를 암호화하는 데 사용할 키를 포함하는 Azure Key Vault의 URI(DNS 이름이라고도 함)입니다. URI |
SoftDeleteColumnDeletionDetectionPolicy
소프트 삭제 전략을 구현하는 데이터 삭제 검색 정책을 정의합니다. 지정된 '일시 삭제' 열의 값에 따라 항목을 삭제해야 하는지 여부를 결정합니다.
| Name | 형식 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
데이터 삭제 탐지 정책의 유형을 지정하는 URI 조각입니다. |
| softDeleteColumnName |
string |
소프트 삭제 검색에 사용할 열의 이름입니다. |
| softDeleteMarkerValue |
string |
항목을 삭제된 것으로 식별하는 표식 값입니다. |
SqlIntegratedChangeTrackingPolicy
Azure SQL Database의 통합 변경 내용 추적 기능을 사용하여 변경 내용을 캡처하는 데이터 변경 검색 정책을 정의합니다.
| Name | 형식 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
데이터 변경 감지 정책의 유형을 지정하는 URI 조각입니다. |