데이터 저장소 만들기

완료됨

Azure Machine Learning에서 ‘데이터 저장소’는 클라우드 데이터 원본에 대한 추상화로, 데이터 원본에 연결하는 데 필요한 정보를 캡슐화하고, 스크립트에서 코딩할 필요가 없도록 이 연결 정보를 안전하게 저장합니다.

데이터 저장소를 이용할 때의 이점:

  • 데이터 스토리지에 대한 사용하기 쉬운 URI를 제공합니다.
  • Azure Machine Learning 내에서 데이터 검색을 용이하게 합니다.
  • 데이터 과학자에게 비밀과 키를 노출하지 않고 연결 정보를 안전하게 저장합니다.

Azure에서 기존 스토리지 계정으로 데이터 저장소를 만들 때 다음 두 가지 인증 방법 중에서 선택할 수 있습니다.

Azure Machine Learning 데이터 저장소가 외부 데이터 원본에 연결하는 데 사용하는 두 가지 인증 방법의 다이어그램

  • 자격 증명 기반: 서비스 주체, 공유 액세스 서명(SAS) 토큰 또는 계정 키를 사용하여 스토리지 계정에 대한 액세스를 인증합니다.
  • ID 기반: Microsoft Entra ID 또는 관리 ID를 사용합니다.

데이터 저장소 유형 이해

Azure Machine Learning에서는 다음을 비롯한 여러 종류의 Azure 데이터 원본에 대한 데이터 저장소 생성을 지원합니다.

  • Azure Blob Storage
  • Azure 파일 공유
  • Azure Data Lake(Gen 2)

기본 제공 데이터 저장소 사용

모든 작업 영역에는 Azure Machine Learning에서 시스템 스토리지로 사용하는 4개의 기본 제공 데이터 저장소(2개는 Azure Storage Blob 컨테이너에 연결, 2개는 Azure Storage 파일 컨테이너에 연결)가 있습니다.

대부분의 기계 학습 프로젝트에서는 사용자 고유의 데이터 원본으로 작업해야 합니다. 예를 들어 기계 학습 솔루션을 기존 애플리케이션 또는 데이터 엔지니어링 파이프라인의 데이터와 통합할 수 있습니다.

데이터 저장소 만들기

데이터 저장소는 작업 영역에 연결되며 스토리지 서비스에 연결 정보를 저장하는 데 사용됩니다. 데이터 저장소를 만들 때 연결 정보를 검색하는 데 사용할 수 있는 이름을 입력합니다.

데이터 저장소를 사용하면 데이터를 읽거나 쓸 때마다 필요한 모든 세부 정보를 제공하지 않고도 스토리지 서비스에 쉽게 연결할 수 있습니다. 또한 사용자가 데이터를 사용하지만 기본 스토리지 서비스에 직접 연결하지 않도록 보호 계층을 만듭니다.

Azure Blob Storage 컨테이너에 대한 데이터 저장소 만들기

그래픽 사용자 인터페이스, Azure CLI(명령줄 인터페이스) 또는 Python SDK(소프트웨어 개발 키트)를 통해 데이터 저장소를 만들 수 있습니다.

연결하려는 스토리지 서비스에 따라 다양한 옵션으로 Azure Machine Learning에서 인증할 수 있습니다.

예를 들어 Azure Blob Storage 컨테이너에 연결할 데이터 저장소를 만들려는 경우 계정 키를 사용할 수 있습니다.

blob_datastore = AzureBlobDatastore(
    			name = "blob_example",
    			description = "Datastore pointing to a blob container",
    			account_name = "mytestblobstore",
    			container_name = "data-container",
    			credentials = AccountKeyConfiguration(
        			account_key="XXXxxxXXXxXXXXxxXXX"
    			),
)
ml_client.create_or_update(blob_datastore)

또는 SAS 토큰을 사용하여 인증을 통해 Azure Blob Storage 컨테이너에 연결하는 데이터 저장소를 만들 수 있습니다.

blob_datastore = AzureBlobDatastore(
name="blob_sas_example",
description="Datastore pointing to a blob container",
account_name="mytestblobstore",
container_name="data-container",
credentials=SasTokenConfiguration(
sas_token="?xx=XXXX-XX-XX&xx=xxxx&xxx=xxx&xx=xxxxxxxxxxx&xx=XXXX-XX-XXXXX:XX:XXX&xx=XXXX-XX-XXXXX:XX:XXX&xxx=xxxxx&xxx=XXxXXXxxxxxXXXXXXXxXxxxXXXXXxxXXXXXxXXXXxXXXxXXxXX"
),
)
ml_client.create_or_update(blob_datastore)