다음을 통해 공유


Azure Storage REST API 참조

이 Microsoft Azure Storage 서비스용 REST API를 사용하면 저장소 에뮬레이터를 통해 개발 환경에서 또는 Azure에서 Blob, Queue, Table 및 File 서비스에 프로그래밍 방식으로 액세스할 수 있습니다.

모든 저장소 서비스는 REST API를 통해 액세스할 수 있습니다. 저장소 서비스는 Azure에서 실행되는 서비스 내에서 액세스하거나 HTTP/HTTPS 요청을 보내고 HTTP/HTTPS 응답을 받을 수 있는 응용 프로그램에서 인터넷을 통해 직접 액세스할 수 있습니다.

중요

Azure 저장소 서비스는 HTTP 및 HTTPS를 모두 지원하지만 HTTPS를 사용하는 것이 좋습니다.

스토리지 계정

저장소 서비스에 대한 모든 액세스는 저장소 계정을 통해 수행됩니다. 저장소 계정은 각각의 기본 서비스에 액세스하기 위한 최상위 네임스페이스이며, 또한 권한 부여의 기초이기도 합니다.

저장소 서비스용 REST API에서 저장소 계정은 하나의 리소스로 사용됩니다.

Blob Service

Blob 서비스는 이진 파일 및 텍스트 파일과 같은 엔터티에 대한 저장소를 제공합니다. Blob 서비스에 대한 REST API는 컨테이너 및 Blob이라는 두 가지 리소스를 노출합니다. 컨테이너는 Blob 집합을 포함하는 폴더와 같습니다. 모든 Blob은 컨테이너에 있어야 합니다. Blob 서비스는 다음 세 가지 유형의 Blob을 정의합니다.

  • 스트리밍용으로 최적화된 블록 Blob 이 유형의 blob는 2009-09-19 이전 버전에서 제공되는 유일한 blob 유형입니다.

  • Blob에서 바이트 범위에 쓰기 기능을 제공하며 무작위 읽기/쓰기 작업용으로 최적화된 페이지 Blob 페이지 Blob는 2009-09-19 이상 버전에서 사용할 수 있습니다. 이러한 파일은 주로 AzureVM을 지원하는 VHD 파일에 사용됩니다.

  • 추가 작업에만 최적화된 추가 Blob입니다. 추가 Blob은 버전 2015-02-21 이상에서만 사용할 수 있습니다.

컨테이너 및 blob는 요청 작업의 헤더로 지정된 이름-값 쌍의 형식으로 사용자가 정의한 메타데이터를 지원합니다.

개발자는 Blob 서비스에서 REST API를 사용하여 파일 시스템과 비슷한 계층적 네임스페이스를 만들 수 있습니다. Blob 이름은 구성 가능한 경로 구분 기호를 사용해서 계층을 인코딩할 수 있습니다. 예를 들어 Blob 이름 MyGroup/MyBlob1MyGroup/MyBlob2는 Blob에 대한 가상 수준의 organization 의미합니다. blob의 열거 작업에서는 파일 시스템과 비슷한 방식으로 가상 계층을 트래버스하도록 지원되므로 그룹 아래에 구성된 blob 집합을 반환할 수 있습니다. 예를 들어 MyGroup/에서 구성된 모든 Blob을 열거할 수 있습니다.

블록 blob는 다음 두 가지 방법 중 하나를 사용해서 만들 수 있습니다. 단일 Blob 배치 작업으로 Blob 을 업로드하거나 블록 배치 작업을 사용하여 블록 집합으로 Blob을 업로드하고 블록 목록 배치 작업을 사용하여 블록을 Blob에 커밋할 수 있습니다.

페이지 Blob은 Blob 배치를 호출하여 최대 크기로 만들어지고 초기화됩니다. 페이지 Blob에 콘텐츠를 쓰려면 페이지 배치 작업을 호출합니다.

Blob 배치를 호출하여 Blob 추가를 만들 수 있습니다. Blob 배치 작업을 사용하여 만든 추가 Blob에는 콘텐츠가 포함되지 않습니다. 추가 Blob에 콘텐츠를 쓰려면 블록 추가 작업을 호출하여 Blob 끝에 블록을 추가합니다. 기존 블록을 업데이트하거나 삭제하는 것은 지원되지 않습니다. 각 블록의 크기는 최대 4MiB까지 다양할 수 있습니다. 추가 Blob의 최대 크기는 195GiB이며 추가 Blob에는 50,000개 이하의 블록이 포함될 수 있습니다.

Blob에는 동시성 제어 및 효율적인 업로드에 도움이 될 수 있는 조건부 업데이트 작업이 지원됩니다.

Blob 가져오기 작업을 호출하여 Blob을 읽을 수 있습니다. 클라이언트는 전체 blob를 읽거나 임의 바이트 범위를 읽을 수 있습니다.

Blob Service API 참조는 Blob Service REST API를 참조하세요.

큐 서비스

큐 서비스는 서비스 내부 및 서비스 사이에 안정적이고 지속적인 메시징을 제공합니다. 큐 서비스에 대한 REST API는 큐와 메시지라는 두 개의 리소스를 노출합니다.

큐는 요청 작업에서 헤더로 지정된 이름-값 쌍의 형식으로 사용자가 정의한 메타데이터를 지원합니다.

각 저장소 계정에는 계정 내에서 고유하게 이름이 지정된 메시지 큐가 무제한으로 포함될 수 있습니다. 각 메시지 큐에는 메시지가 무제한으로 포함될 수 있습니다. 메시지의 최대 크기는 버전 2011-08-18의 경우 64KiB, 이전 버전의 경우 8KiB로 제한됩니다.

메시지를 큐에서 읽을 때는 소비자가 메시지를 처리한 후 삭제할 것으로 예상됩니다. 메시지를 읽은 후에는 지정된 기간 동안 다른 소비자에게 표시되지 않도록 설정됩니다. 해당 간격이 만료되었을 때 메시지가 아직 삭제되지 않았으면 다른 소비자가 메시지를 처리할 수 있도록 메시지가 다시 표시됩니다.

큐 서비스에 대한 자세한 내용은 Queue Service REST API를 참조하세요.

테이블 서비스

테이블 서비스는 테이블 형식의 구조적인 저장소를 제공합니다. Table Service는 OData 프로토콜을 구현하는 REST API를 지원합니다.

스토리지 계정 내에서 개발자는 테이블을 만들 수 있습니다. 테이블에는 데이터가 엔터티로 저장됩니다. 엔터티는 행과 비슷하게 명명된 속성과 해당 값으로 구성된 컬렉션입니다. 테이블은 저장소 노드에서 부하 분산을 지원하기 위해 분할으로 분할됩니다. 각 테이블에는 첫 번째 속성으로, 엔터티가 속하는 파티션을 지정하는 파티션 키가 포함됩니다. 두 번째 속성은 특정 파티션 내의 엔터티를 식별하는 행 키입니다. 파티션 키와 행 키의 조합으로 테이블 내의 각 엔터티를 고유하게 식별하는 기본 키가 생성됩니다.

테이블 서비스는 어떠한 스키마도 적용하지 않습니다. 개발자는 클라이언트 쪽에서 스키마를 구현하고 적용하도록 선택할 수 있습니다. Table Service에 대한 자세한 내용은 Table Service REST API를 참조하세요.

파일 서비스

SMB(서버 메시지 블록) 프로토콜은 현재 온-프레미스에서 사용되는 기본 파일 공유 프로토콜입니다. 고객은 Microsoft Azure 파일 서비스를 통해 SMB 클라이언트 응용 프로그램을 다시 작성하지 않고도 Azure의 클라우드 IaaS(Infrastructure as a Service) SMB 확장성과 가용성을 활용할 수 있습니다.

Azure 파일 서비스는 대개 설치, 구성 및 작동이 복잡하고 비용이 많이 드는 기존의 DAS(직접 연결된 저장소) 및 SAN(저장 영역 네트워크) 솔루션 대신 매우 효율적으로 사용할 수 있습니다.

Azure 파일 서비스 공유에 저장된 파일은 SMB 프로토콜을 통해 액세스할 수 있으며 REST API를 통해 액세스할 수도 있습니다. 파일 서비스는 스토리지 계정, 공유, 디렉터리 및 파일의 네 가지 리소스를 제공합니다. 공유는 파일 집합을 구성하는 방법을 제공하며, 클라우드에서 호스트되는 SMB 파일 공유로 탑재할 수도 있습니다.

추가 정보

Blob Service REST API큐 서비스 REST APITable Service REST API파일 서비스 REST API