Data Sources - Create
새 데이터 원본을 만듭니다.
POST {endpoint}/datasources?api-version=2023-10-01-Preview
URI 매개 변수
| Name | In(다음 안에) | 필수 | 형식 | Description |
|---|---|---|---|---|
|
endpoint
|
path | True |
string |
검색 서비스의 엔드포인트 URL입니다. |
|
api-version
|
query | True |
string |
클라이언트 API 버전입니다. |
요청 헤더
| Name | 필수 | 형식 | Description |
|---|---|---|---|
| x-ms-client-request-id |
string (uuid) |
디버깅에 도움이 되도록 요청과 함께 전송된 추적 ID입니다. |
요청 본문
| 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일 이후 생성된 유료 서비스에만 사용할 수 있습니다. |
||
| identity | SearchIndexerDataIdentity: |
이 데이터 원본에 사용할 명시적 관리 ID입니다. 지정하지 않고 연결 문자열이 관리 ID인 경우 시스템 할당 관리 ID가 사용됩니다. 지정하지 않으면 값이 변경되지 않은 상태로 유지됩니다. "none"을 지정하면 이 속성의 값이 지워집니다. |
응답
| Name | 형식 | Description |
|---|---|---|
| 201 Created | ||
| Other Status Codes |
오류 응답입니다. |
예제
SearchServiceCreateDataSource
샘플 요청
POST https://myservice.search.windows.net/datasources?api-version=2023-10-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
}
}
}
정의
| Name | Description |
|---|---|
|
Azure |
Azure Key Vault에 저장된 암호화 키에 대한 인증된 액세스에 사용되는 검색 서비스에 대해 생성된 등록된 애플리케이션의 자격 증명입니다. |
|
Data |
데이터 원본에 연결하는 데 사용할 수 있는 자격 증명을 나타냅니다. |
|
High |
높은 워터 마크 열의 값에 따라 변경 내용을 캡처하는 데이터 변경 검색 정책을 정의합니다. |
|
Native |
삭제 검색을 위해 Azure Blob Storage의 네이티브 일시 삭제 기능을 활용하는 데이터 삭제 검색 정책을 정의합니다. |
|
Search |
API에 대한 오류 조건을 설명합니다. |
|
Search |
인덱싱할 엔터티(예: Azure SQL 테이블 또는 CosmosDB 컬렉션)에 대한 정보를 나타냅니다. |
|
Search |
데이터 원본의 ID 속성을 지웁니다. |
|
Search |
인덱서 구성에 사용할 수 있는 데이터 원본 정의를 나타냅니다. |
|
Search |
데이터 원본의 형식을 정의합니다. |
|
Search |
사용할 데이터 원본의 ID를 지정합니다. |
|
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 |
데이터 원본에 대한 연결 문자열입니다. 연결 문자열을 업데이트하지 않으려면 |
HighWaterMarkChangeDetectionPolicy
높은 워터 마크 열의 값에 따라 변경 내용을 캡처하는 데이터 변경 검색 정책을 정의합니다.
| Name | 형식 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
데이터 변경 검색 정책의 유형을 지정하는 URI 조각입니다. |
| highWaterMarkColumnName |
string |
상위 워터 마크 열의 이름입니다. |
NativeBlobSoftDeleteDeletionDetectionPolicy
삭제 검색을 위해 Azure Blob Storage의 네이티브 일시 삭제 기능을 활용하는 데이터 삭제 검색 정책을 정의합니다.
| Name | 형식 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
데이터 삭제 검색 정책의 형식을 지정하는 URI 조각입니다. |
SearchError
API에 대한 오류 조건을 설명합니다.
| Name | 형식 | Description |
|---|---|---|
| code |
string |
서버에서 정의한 오류 코드 집합 중 하나입니다. |
| details |
이 보고된 오류로 이어진 특정 오류에 대한 세부 정보 배열입니다. |
|
| message |
string |
사람이 읽을 수 있는 오류 표현입니다. |
SearchIndexerDataContainer
인덱싱할 엔터티(예: Azure SQL 테이블 또는 CosmosDB 컬렉션)에 대한 정보를 나타냅니다.
| Name | 형식 | Description |
|---|---|---|
| name |
string |
인덱싱할 테이블 또는 뷰(Azure SQL 데이터 원본의 경우) 또는 컬렉션(CosmosDB 데이터 원본의 경우)의 이름입니다. |
| query |
string |
이 데이터 컨테이너에 적용되는 쿼리입니다. 이 매개 변수의 구문과 의미는 데이터 원본에 따라 다릅니다. Azure SQL 데이터 원본에서 지원되지 않습니다. |
SearchIndexerDataNoneIdentity
데이터 원본의 ID 속성을 지웁니다.
| Name | 형식 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
ID 유형을 지정하는 URI 조각입니다. |
SearchIndexerDataSource
인덱서 구성에 사용할 수 있는 데이터 원본 정의를 나타냅니다.
| Name | 형식 | Description |
|---|---|---|
| @odata.etag |
string |
데이터 원본의 ETag입니다. |
| container |
데이터 원본의 데이터 컨테이너입니다. |
|
| credentials |
데이터 원본에 대한 자격 증명입니다. |
|
| dataChangeDetectionPolicy | DataChangeDetectionPolicy: |
데이터 원본에 대한 데이터 변경 검색 정책입니다. |
| dataDeletionDetectionPolicy | DataDeletionDetectionPolicy: |
데이터 원본에 대한 데이터 삭제 검색 정책입니다. |
| description |
string |
데이터 원본에 대한 설명입니다. |
| encryptionKey |
Azure Key Vault에서 만드는 암호화 키에 대한 설명입니다. 이 키는 Microsoft를 비롯한 누구도 데이터 원본 정의를 해독할 수 없다는 완전한 보증을 원할 때 데이터 원본 정의에 대한 추가 수준의 미사용 암호화를 제공하는 데 사용됩니다. 데이터 원본 정의를 암호화한 후에는 항상 암호화된 상태로 유지됩니다. 검색 서비스는 이 속성을 null로 설정하려는 시도를 무시합니다. 암호화 키를 회전하려는 경우 필요에 따라 이 속성을 변경할 수 있습니다. 데이터 원본 정의는 영향을 받지 않습니다. 고객 관리형 키를 사용한 암호화는 무료 검색 서비스에 사용할 수 없으며 2019년 1월 1일 이후 생성된 유료 서비스에만 사용할 수 있습니다. |
|
| identity | SearchIndexerDataIdentity: |
이 데이터 원본에 사용할 명시적 관리 ID입니다. 지정하지 않고 연결 문자열이 관리 ID인 경우 시스템 할당 관리 ID가 사용됩니다. 지정하지 않으면 값이 변경되지 않은 상태로 유지됩니다. "none"을 지정하면 이 속성의 값이 지워집니다. |
| name |
string |
데이터 원본의 이름입니다. |
| type |
데이터 원본의 형식입니다. |
SearchIndexerDataSourceType
데이터 원본의 형식을 정의합니다.
| 값 | Description |
|---|---|
| azuresql |
Azure SQL 데이터 원본을 나타냅니다. |
| cosmosdb |
CosmosDB 데이터 원본을 나타냅니다. |
| azureblob |
Azure Blob 데이터 원본을 나타냅니다. |
| azuretable |
Azure Table 데이터 원본을 나타냅니다. |
| mysql |
MySql 데이터 원본을 나타냅니다. |
| adlsgen2 |
ADLS Gen2 데이터 원본을 나타냅니다. |
SearchIndexerDataUserAssignedIdentity
사용할 데이터 원본의 ID를 지정합니다.
| Name | 형식 | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
ID 유형을 지정하는 URI 조각입니다. |
| userAssignedIdentity |
string |
일반적으로 검색 서비스에 할당되어야 하는 "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" 형식으로 사용자 할당 관리 ID의 정규화된 Azure 리소스 ID입니다. |
SearchResourceEncryptionKey
Azure Key Vault의 고객 관리형 암호화 키입니다. 만들고 관리하는 키를 사용하여 인덱스 및 동의어 맵과 같은 미사용 데이터를 암호화하거나 암호 해독할 수 있습니다.
| Name | 형식 | Description |
|---|---|---|
| accessCredentials |
Azure Key Vault에 액세스하는 데 사용되는 선택적 Azure Active Directory 자격 증명입니다. 대신 관리 ID를 사용하는 경우에는 필요하지 않습니다. |
|
| identity | SearchIndexerDataIdentity: |
이 암호화 키에 사용할 명시적 관리 ID입니다. 지정하지 않고 액세스 자격 증명 속성이 null이면 시스템 할당 관리 ID가 사용됩니다. 리소스 업데이트 시 명시적 ID가 지정되지 않은 경우 변경되지 않은 상태로 유지됩니다. "none"을 지정하면 이 속성의 값이 지워집니다. |
| 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 조각입니다. |