Table Storage 기능 요약
Azure Table Storage REST API는 다음 섹션에 설명된 대로 몇 가지 차이점과 함께 OData 프로토콜 사양을 준수합니다.
Table Storage 확장
Table Storage는 다음과 같은 방법으로 의 OData
기능을 확장합니다.
공유 키, 공유 키 라이트 및 Microsoft Entra 권한 부여
Table Storage를 사용하려면 각 요청에 권한이 부여되어야 합니다. 공유 키, 공유 키 라이트 및 Microsoft Entra ID 권한 부여가 지원됩니다. Microsoft Entra ID 권한 부여는 더 안전하며 REST API를 사용하여 Table Storage에 대한 요청에 권장됩니다.
요청 권한 부여에 대한 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
쿼리 페이지 매김에 대한 연속 토큰
Table Storage에 대한 쿼리는 한 번에 최대 1,000개의 항목을 반환할 수 있으며 최대 5초 동안 실행할 수 있습니다. 결과 집합에 1,000개 이상의 항목이 포함되어 있거나 쿼리가 5초 이내에 완료되지 않은 경우 응답에 헤더가 포함됩니다. 이러한 헤더는 결과 집합의 다음 항목에서 쿼리를 다시 시작하기 위해 개발자에게 사용할 연속 토큰을 제공합니다. 쿼리 테이블 작업 또는 쿼리 엔터티 작업에 대해 연속 토큰 헤더를 반환할 수 있습니다.
쿼리 예약 및 처리에 대한 요청에 할당된 총 시간은 쿼리 실행에 필요한 5초를 포함하여 30초입니다.
연속 토큰에 대한 자세한 내용은 쿼리 시간 제한 및 페이지 매김을 참조하세요.
기본 키 시스템 속성
Table Storage의 모든 엔터티에는 속성과 속성의 PartitionKey
두 가지 주요 속성이 RowKey
있습니다. 이러한 속성은 테이블의 기본 키를 형성하고 테이블의 각 엔터티를 고유하게 식별합니다.
두 속성을 사용하려면 문자열 값이 필요합니다. 새 엔터티가 삽입될 때 이러한 속성에 대한 값을 제공하고 엔터티에 대한 업데이트 또는 삭제 작업에 포함하는 것은 개발자의 책임입니다.
이러한 필수 키 속성에 대한 자세한 내용은 Table Storage 데이터 모델 이해를 참조하세요.
타임스탬프 시스템 속성
Table Storage의 모든 엔터티에는 시스템 속성이 있습니다 Timestamp
. 속성은 Timestamp
DateTime
엔터티가 마지막으로 수정된 시간을 기록하기 위해 서버 쪽에서 유지 관리되는 값입니다. Table Storage는 Timestamp
속성을 내부적으로 사용하여 낙관적 동시성을 제공합니다.
Timestamp
값은 단조 증가 값입니다. 즉, 엔터티가 수정될 때마다 해당 엔터티에 대해 Timestamp
값이 증가합니다. 이 속성은 삽입 또는 업데이트 작업에 대해서는 설정되지 않아야 합니다. 값이 무시됩니다.
속성에 Timestamp
대한 자세한 내용은 Table Storage 데이터 모델 이해를 참조하세요.
일괄 처리 작업
Table Storage는 동일한 테이블에 있고 동일한 파티션 그룹에 속하는 엔터티에서 일괄 처리 트랜잭션을 지원합니다. 즉, 동일한 값을 갖습니다 PartitionKey
. 이를 통해 단일 원자성 트랜잭션 내에서 삽입, 업데이트, 병합 및 삭제 작업이 여러 번 지원될 수 있습니다. Table Storage는 OData 프로토콜에서 제공하는 기능의 하위 집합을 지원합니다.
일괄 처리 작업에 대한 자세한 내용은 엔터티 그룹 트랜잭션 수행을 참조하세요.
Table Storage 제한 사항
Table Storage에는 에서 제공하는 OData
기능에 대해 다음과 같은 제한 사항이 있습니다.
Credentials 속성
Table Storage는 DataServiceContext 클래스의 Credentials 속성을 사용하여 요청에 권한을 부여하는 것을 지원하지 않습니다. 대신 요청에 헤더를 추가하여 Authorization
Table Storage에 대한 요청에 권한을 부여해야 합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
속성 형식
에서 지원하는 OData
모든 속성 형식이 지원되는 것은 아닙니다. 지원되는 속성 형식 목록은 Table Storage 데이터 모델 이해를 참조하세요.
링크에 대한 작업
Table Storage는 현재 테이블 간의 링크를 지원하지 않습니다. 링크는 데이터 간의 연결 관계입니다.
선택 속성에 대한 작업
프로젝션 은 엔터티 또는 엔터티에 대한 속성의 하위 집합을 쿼리하는 것을 의미합니다. LINQ(언어 통합 쿼리)에서 쿼리할 때 테이블의 열 또는 속성 하위 집합을 선택하는 것과 비슷합니다.
프로젝션은 응답에서 특성 속성만 반환하도록 지정하여 쿼리에서 반환해야 할 데이터의 양을 줄입니다. 프로젝션은 2011-08-18 버전의 Azure Storage의 일부로 지원됩니다. 자세한 내용은 쿼리 엔터티, Table Storage에 대한 LINQ 쿼리 작성 및 OData: 시스템 쿼리 옵션 선택($select)을 참조하세요.
LINQ 쿼리 연산자
Table Storage는 다음 LINQ 쿼리 연산자를 지원합니다.
From
Where
Take
자세한 내용은 Table Storage에 대해 지원되는 쿼리 연산자를 참조하세요.
LINQ 비교 연산자
LINQ에서 제공하는 비교 연산자의 하위 집합을 사용할 수 있습니다. 자세한 내용은 테이블 및 엔터티 쿼리 및Table Storage에 대한 LINQ 쿼리 작성을 참조하세요.
GetMetadataURI 메서드
DataServiceContext 클래스의 GetMetadataURI 메서드를 사용할 수 있지만 세 가지 고정 스키마 속성 이외의 스키마 정보는 반환하지 않습니다. 이러한 속성에는 PartitionKey
, RowKey
및 Timestamp
가 있습니다.
페이로드 형식
OData
는 JSON 형식의 페이로드 전송을 지원합니다. Table Storage는 OData
데이터 서비스 버전이 3.0으로 설정된 API 버전 2013-08-15 OData
의 JSON 형식을 지원합니다. 이전 버전은 JSON 형식을 지원하지 않습니다.
Atom 페이로드는 2015-12-11 이전의 모든 버전에서 지원됩니다. 버전 2015-12-11 이상은 JSON 페이로드만 지원합니다.
참고
JSON은 권장 페이로드 형식이며 버전 2015-12-11 이상에서 지원되는 유일한 형식입니다.
자세한 내용은 Table Storage 작업에 대한 페이로드 형식 및 OData 데이터 서비스 버전 헤더 설정을 참조하세요.