다음을 통해 공유


앱이 Blob Storage 데이터 리소스와 상호 작용하는 방법 이해

Azure Blob Storage 데이터 리소스를 사용하는 애플리케이션을 빌드할 때 코드는 주로 스토리지 계정, 컨테이너 및 Blob의 세 가지 리소스 유형과 상호 작용합니다. 이 문서에서는 이러한 리소스 종류에 대해 설명하고 서로 어떻게 관련되는지 보여 줍니다. 또한 애플리케이션 코드가 Azure Blob Storage 클라이언트 라이브러리를 사용하여 이러한 다양한 리소스와 상호 작용하는 방법을 보여 줍니다.

Blob Storage 리소스 종류

Azure Blob Storage 클라이언트 라이브러리를 사용하면 스토리지 서비스의 세 가지 유형의 리소스와 상호 작용할 수 있습니다.

다음 다이어그램에서는 이러한 리소스 간의 관계를 보여줍니다.

Diagram showing the relationship between a storage account, containers, and blobs

Storage 계정

스토리지 계정은 데이터에 대해 Azure에서 고유의 네임스페이스를 제공합니다. Azure Storage 계정에 저장한 모든 개체는 고유 계정 이름을 포함하는 주소를 갖습니다. 계정 이름과 Blob Storage 엔드포인트의 조합은 스토리지 계정에 있는 개체의 기본 주소를 구성합니다.

예를 들어 스토리지 계정의 이름이 sampleaccount일 경우 Blob Storage의 기본 엔드포인트는 다음과 같습니다.

https://sampleaccount.blob.core.windows.net

스토리지 계정의 유형을 자세히 알아보려면 Azure Storage 계정 개요를 참조하세요.

컨테이너

컨테이너는 파일 시스템의 디렉터리와 비슷한 BLOB 세트를 구성합니다. 한 스토리지 계정에 포함될 수 있는 컨테이너 수에 제한이 없으며, 컨테이너에 저장될 수 있는 Blob 수에도 제한이 없습니다.

컨테이너의 URI는 다음과 유사합니다.

https://sampleaccount.blob.core.windows.net/sample-container

컨테이너 이름 지정에 대한 자세한 내용은 컨테이너, Blob, 메타데이터 이름 지정 및 참조를 참조하세요.

Blob

Azure Storage는 다음 세 가지 유형의 Blob을 지원합니다.

  • 블록 Blob은 텍스트 및 이진 데이터를 저장합니다. 블록 Blob은 개별적으로 관리할 수 있는 데이터 블록으로 구성됩니다. 블록 Blob은 최대 약 190.7TiB를 저장할 수 있습니다.
  • 추가 Blob은 블록 Blob과 같이 블록으로 구성되지만 추가 작업에 최적화되어 있습니다. 추가 Blob은 가상 머신의 데이터 로깅 같은 시나리오에 적합합니다.
  • 페이지 Blob은 최대 8TiB 크기의 임의 액세스 파일을 저장합니다. 페이지 Blob에 대한 자세한 내용은 Azure 페이지 Blob 개요를 참조하세요.

다양한 유형의 Blob에 대한 자세한 내용은 블록 Blob, 추가 Blob 및 페이지 Blob 이해를 참조하세요.

Blob의 URI는 다음과 유사합니다.

https://sampleaccount.blob.core.windows.net/sample-container/sample-blob

Blob 명명에 대한 자세한 내용은 컨테이너, Blob 및 메타데이터 명명 및 참조를 참조하세요.

Azure SDK를 사용하여 데이터 리소스 작업

Azure SDK에는 Azure REST API를 기반으로 빌드되는 라이브러리가 포함되어 있으므로 익숙한 프로그래밍 언어 패러다임을 통해 REST API 작업과 상호 작용할 수 있습니다. SDK는 애플리케이션과 Azure 리소스 간의 상호 작용을 간소화하도록 설계되었습니다.

Azure Blob Storage 클라이언트 라이브러리에서 각 리소스 종류는 하나 이상의 연결된 클래스로 표시됩니다. 이러한 클래스는 Azure Storage 리소스를 사용하는 작업을 제공합니다.

다음 표에서는 간단한 설명과 함께 기본 클래스를 나열합니다.

클래스 설명
BlobServiceClient 스토리지 계정을 나타내며 계정 속성을 검색 및 구성하고 스토리지 계정에서 Blob 컨테이너를 사용하는 작업을 제공합니다.
BlobContainerClient 특정 Blob 컨테이너를 나타내며 컨테이너 및 컨테이너 내 Blob을 사용하는 작업을 제공합니다.
BlobClient 특정 Blob을 나타내며 스냅샷 업로드, 다운로드, 삭제 및 만들기 작업을 포함하여 Blob을 사용하는 일반적인 작업을 제공합니다.
AppendBlobClient 추가 Blob을 나타내며 추가 Blob과 관련된 작업(예: 로그 데이터 추가)을 제공합니다.
BlockBlobClient 블록 Blob을 나타내며 블록 Blob과 관련된 작업(예: 데이터 블록 스테이징 및 커밋)을 제공합니다.

다음 패키지에는 Blob Storage 데이터 리소스를 사용하는 데 사용되는 클래스가 포함되어 있습니다.

  • Azure.Storage.Blobs: 서비스, 컨테이너 및 Blob에서 작업하는 데 사용할 수 있는 기본 클래스(클라이언트 개체)가 포함되어 있습니다.
  • Azure.Storage.Blobs.Specialized: Blob 형식과 관련된 작업을 수행하는 데 사용할 수 있는 클래스(예: 블록 Blob)를 포함합니다.
  • Azure.Storage.Blobs.Models: 기타 모든 유틸리티 클래스, 구조체 및 열거형 형식입니다.

다음 단계

SDK를 사용하여 Azure 리소스를 사용하는 것은 클라이언트 인스턴스 만들기부터 시작합니다. 클라이언트 개체 만들기 및 관리에 대한 자세한 내용은 데이터 리소스와 상호 작용하는 클라이언트 개체 만들기 및 관리를 참조하세요.