Azure Data Factory 또는 Synapse Analytics를 사용하여 Azure AI 검색 인덱스에 데이터 복사

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

이 문서에서는 Azure Data Factory 또는 Synapse Analytics 파이프라인에서 복사 작업을 사용하여 Azure AI Search 인덱스에 데이터를 복사하는 방법을 간략하게 설명합니다. 이 문서는 복사 작업에 대한 일반적인 개요를 제공하는 복사 작업 개요 문서를 기반으로 합니다.

지원되는 기능

이 Azure AI 검색 커넥터는 다음 기능에 대해 지원됩니다.

지원되는 기능 IR 관리형 프라이빗 엔드포인트
복사 작업(-/싱크) ① ②

① Azure 통합 런타임 ② 자체 호스팅 통합 런타임

지원되는 모든 원본 데이터 저장소에서 Search 인덱스로 데이터를 복사할 수 있습니다. 복사 작업의 원본/싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소 표를 참조하세요.

시작하기

파이프라인에 복사 작업을 수행하려면 다음 도구 또는 SDK 중 하나를 사용하면 됩니다.

UI를 사용하여 Azure Search에 연결된 서비스 만들기

다음 단계를 사용하여 Azure Portal UI에서 Azure Search에 연결된 서비스를 만듭니다.

  1. Azure Data Factory 또는 Synapse 작업 영역에서 관리 탭으로 이동하여 연결된 서비스를 선택하고 새로 만들기를 클릭합니다.

  2. Search를 검색하고 Azure Search 커넥터를 선택합니다.

    Select the Azure Search connector.

  3. 서비스 세부 정보를 구성하고, 연결을 테스트하고, 새로운 연결된 서비스를 만듭니다.

    Configure a linked service to Azure Search.

커넥터 구성 세부 정보

다음 섹션에서는 Azure AI 검색 커넥터와 관련된 Data Factory 엔터티를 정의하는 데 사용되는 속성에 대한 세부 정보를 제공합니다.

연결된 서비스 속성

Azure AI Search 연결된 서비스에 다음 속성이 지원됩니다.

속성 설명 필수
type 형식 속성은 AzureSearch로 설정되어야 합니다.
URL 검색 서비스에 대한 URL입니다.
key 검색 서비스에 대한 관리 키입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하거나, Azure Key Vault에 저장된 비밀을 참조합니다.
connectVia 데이터 저장소에 연결하는 데 사용할 Integration Runtime입니다. Azure Integration Runtime 또는 자체 호스팅 Integration Runtime을 사용할 수 있습니다(데이터 저장소가 프라이빗 네트워크에 있는 경우). 지정하지 않으면 기본 Azure Integration Runtime을 사용합니다. 아니요

Important

클라우드 데이터 저장소에서 검색 인덱스로 데이터를 복사하는 경우 Azure AI Search 연결된 서비스에서 connactVia의 명시적 영역을 통해 Azure Integration Runtime을 참조해야 합니다. 영역을 검색 서비스가 있는 위치로 설정합니다. Azure Integration Runtime에서 자세히 알아봅니다.

예제:

{
    "name": "AzureSearchLinkedService",
    "properties": {
        "type": "AzureSearch",
        "typeProperties": {
            "url": "https://<service>.search.windows.net",
            "key": {
                "type": "SecureString",
                "value": "<AdminKey>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

데이터 세트 속성

데이터 세트 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 데이터 세트 문서를 참조하세요. 이 섹션에서는 Azure AI 검색 데이터 세트에서 지원하는 속성 목록을 제공합니다.

Azure AI 검색에 데이터를 복사하기 위해 다음 속성이 지원됩니다.

속성 설명 필수
type 데이터 세트의 type 속성을 AzureSearchIndex로 설정해야 합니다.
indexName 검색 인덱스의 이름입니다. 서비스가 인덱스를 만들지 않습니다. 인덱스는 Azure AI 검색에 있어야 합니다.

예제:

{
    "name": "AzureSearchIndexDataset",
    "properties": {
        "type": "AzureSearchIndex",
        "typeProperties" : {
            "indexName": "products"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Azure AI Search linked service name>",
            "type": "LinkedServiceReference"
        }
   }
}

복사 작업 속성

작업 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 파이프라인 문서를 참조하세요. 이 섹션에서는 Azure AI 검색 원본에서 지원되는 속성 목록을 제공합니다.

Azure AI 검색을 싱크로 사용

Azure AI Search에 데이터를 복사하려면 복사 작업의 원본 형식을 AzureSearchIndexSink로 설정합니다. 복사 작업 sink 섹션에서 다음 속성이 지원됩니다.

속성 설명 필수
type 복사 작업 원본의 type 속성을 AzureSearchIndexSink로 설정해야 합니다.
writeBehavior 문서가 인덱스에 이미 있는 경우 병합할지 또는 바꿀지를 지정합니다. WriteBehavior 속성을 참조하세요.

허용되는 값은 Merge(기본값) 및 Upload입니다.
아니요
writeBatchSize 버퍼 크기가 writeBatchSize에 도달하면 데이터를 검색 인덱스에 업로드합니다. 자세한 내용은 WriteBatchSize 속성을 참조하세요.

허용되는 값은 정수 1~1,000이고 기본값은 1,000입니다.
아니요
maxConcurrentConnections 작업 실행 중 데이터 저장소에 설정된 동시 연결의 상한입니다. 동시 연결을 제한하려는 경우에만 값을 지정합니다. 아니요

WriteBehavior 속성

데이터를 쓸 때 AzureSearchSink가 삽입됩니다. 즉, 문서를 작성할 때 문서 키가 검색 인덱스가 이미 있는 경우 Azure AI Search는 충돌 예외를 throw하지 않는 대신 기존 문서를 업데이트합니다.

AzureSearchSink는 AzureSearch SDK를 사용하여 다음 두 가지 삽입 동작을 제공합니다.

  • 병합: 새 문서의 모든 열을 기존 문서와 결합합니다. 새 문서에서 null 값을 가진 열의 경우 기존 문서의 값이 유지됩니다.
  • 업로드: 새 문서가 기존 문서를 대체합니다. 새 문서에 지정되지 않은 열의 경우 기본 문서에 null이 아닌 값이 있는지 여부에 상관없이 값이 null로 설정됩니다.

기본 동작은 병합입니다.

writeBatchSize 속성

Azure AI Search Service는 일괄 처리 문서 작성을 지원합니다. 일괄 처리는 1~1,000개의 동작을 포함할 수 있습니다. 하나의 동작에서 하나의 문서를 처리하여 업로드/병합 작업을 수행합니다.

예제:

"activities":[
    {
        "name": "CopyToAzureSearch",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure AI Search output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureSearchIndexSink",
                "writeBehavior": "Merge"
            }
        }
    }
]

데이터 형식 지원

다음 표에서는 Azure AI Search 데이터 형식이 지원되는지 여부를 지정합니다.

Azure AI 검색 데이터 형식 Azure AI 검색 싱크에서 지원됨
문자열 Y
Int32 Y
Int64 Y
두 배 Y
부울 Y
DataTimeOffset Y
문자열 배열 N
GeographyPoint N

현재 다른 데이터 형식(예: ComplexType)은 지원되지 않습니다. Azure AI 검색 지원 데이터 형식의 전체 목록은 지원되는 데이터 형식(Azure AI 검색)을 참조하세요.

복사 작업에서 원본 및 싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소를 참조하세요.