Share via


컨테이너에서 태그별 Blob 찾기

작업은 Find Blobs by Tags in Container 태그가 컨테이너의 검색 식과 일치하는 모든 Blob을 찾습니다.

요청

다음과 같이 요청을 생성할 Find Blobs by Tags in Container 수 있습니다. HTTPS를 사용하는 것이 좋습니다. myaccount를 스토리지 계정의 이름으로 바꾸고 mycontainer를 스토리지 컨테이너의 이름으로 바꿉니다.

GET 메서드 요청 URI HTTP 버전
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=blobs&where=<expression> HTTP/1.1

URI 매개 변수

요청 URI에 다음과 같은 추가 매개 변수를 지정할 수 있습니다.

매개 변수 Description
expression 필수 사항입니다. 태그가 지정된 식과 일치하는 Blob만 포함하도록 결과 집합을 필터링합니다.

이 식을 구성하는 방법에 대한 자세한 내용은 이 문서의 뒷부 분에 있는 설명을 참조하세요.
marker 선택 사항입니다. 다음 작업과 함께 반환될 결과 집합의 부분을 식별하는 문자열 값입니다. 반환된 결과 집합이 완료되지 않은 경우 작업은 응답 본문 내에서 표식 값을 반환합니다. 그런 다음, 후속 호출에서 표식 값을 사용하여 다음 항목 집합을 요청할 수 있습니다.

마커 값은 클라이언트에 불투명합니다.
maxresults 선택 사항입니다. 반환할 최대 Blob 수를 지정합니다. 요청이 5,000보다 큰 값을 지정하거나 지정 maxresults 하지 않으면 서버는 최대 5,000개의 항목을 반환합니다. 반환할 추가 결과가 있는 경우 서비스는 응답 요소에 연속 토큰을 NextMarker 반환합니다. 경우에 따라 서비스는 지정된 것보다 maxresults 적은 결과를 반환하지만 연속 토큰을 반환할 수 있습니다.

0 이하로 maxresults를 설정하면 오류 응답 코드 400(잘못된 요청)를 반환합니다.
timeout 선택 사항입니다. 초 단위로 표시됩니다. 자세한 내용은 Blob Storage 작업에 대한 시간 제한 설정을 참조하세요.

요청 헤더

다음 표에서는 필수 및 선택적 요청 헤더에 대해 설명합니다.

요청 헤더 Description
Authorization 필수 사항입니다. 권한 부여 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
Date 또는 x-ms-date 필수 사항입니다. 요청에 대한 UTC(협정 세계시)를 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
x-ms-version 모든 권한 있는 요청에 필요하지만 익명 요청에는 선택 사항입니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Azure Storage 서비스에 대한 버전 관리를 참조하세요.
x-ms-client-request-id 선택 사항입니다. 로깅이 구성될 때 로그에 기록되는 1키비바이트(KiB) 문자 제한을 사용하여 클라이언트에서 생성된 불투명 값을 제공합니다. 이 헤더를 사용하여 클라이언트 쪽 활동과 서버가 수신하는 요청의 상관 관계를 지정하는 것이 좋습니다.

요청 본문

없음

응답

응답에는 HTTP 상태 코드, 응답 헤더 및 응답 본문이 포함됩니다.

상태 코드

작업에 성공하면 상태 코드 200(정상)이 반환됩니다.

상태 코드에 대한 자세한 내용은 상태 및 오류 코드를 참조하세요.

응답 헤더

이 작업의 응답에는 다음과 같은 헤더가 포함됩니다. 응답에는 추가 표준 HTTP 헤더도 포함될 수 있습니다. 모든 표준 헤더는 HTTP/1.1 프로토콜 사양을 준수합니다.

응답 헤더 Description
Content-Type 을 콘텐츠 형식으로 지정 application/xml 합니다.
Content-Length 반환된 XML 문서의 크기를 바이트 단위로 지정합니다.
x-ms-request-id 만들어진 요청을 고유하게 식별합니다. 이를 사용하여 요청 문제를 해결할 수 있습니다. 자세한 내용은 API 작업 문제 해결을 참조하세요.
x-ms-version 요청을 실행하는 데 사용된 Azure Blob Storage 버전을 나타냅니다.
Date 서비스가 응답을 보낸 시간을 나타내는 UTC 날짜/시간 값입니다.
x-ms-client-request-id 요청 및 해당 응답 문제를 해결하는 데 사용할 수 있습니다. 이 헤더의 값은 헤더의 값 x-ms-client-request-id 과 같으며, 요청에 있고 값이 최대 1,024자 표시 ASCII 문자인 경우 입니다. 헤더가 x-ms-client-request-id 요청에 없는 경우 이 헤더는 응답에 존재하지 않습니다.

응답 본문

응답 본문의 형식은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint=http://myaccount.blob.core.windows.net/>  
  <Where>string-value</Where>  
  <Blobs>  
    <Blob>  
      <Name>blob-name</Name>  
      <ContainerName>container-name</ContainerName>  
      <Tags>
        <TagSet>
          <Tag>
            <Key>matching-tag-name1</Key>
            <Value>matching-tag-value1</Value>
          </Tag>
          <Tag>
            <Key>matching-tag-name2</Key>
            <Value>matching-tag-value2</Value>
          </Tag>
        </TagSet>
      </Tags> 
    </Blob>  
  </Blobs>  
  <NextMarker />  
</EnumerationResults>  

응답 본문은 잘 구성된 UTF-8 XML 문서입니다.

권한 부여

Azure Storage에서 데이터 액세스 작업을 호출할 때 권한 부여가 필요합니다. 아래에 설명된 대로 작업에 권한을 Find Blobs by Tags in Container 부여할 수 있습니다.

중요

Microsoft는 관리 ID와 함께 Microsoft Entra ID 사용하여 Azure Storage에 대한 요청에 권한을 부여하는 것이 좋습니다. Microsoft Entra ID 공유 키 권한 부여에 비해 뛰어난 보안 및 사용 편의성을 제공합니다.

Azure Storage는 Microsoft Entra ID 사용하여 Blob 데이터에 대한 요청에 권한을 부여할 수 있도록 지원합니다. Microsoft Entra ID 사용하면 Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 보안 주체에 권한을 부여할 수 있습니다. 보안 주체는 사용자, 그룹, 애플리케이션 서비스 주체 또는 Azure 관리 ID일 수 있습니다. 보안 주체는 OAuth 2.0 토큰을 반환하기 위해 Microsoft Entra ID 인증됩니다. 그런 다음 토큰을 사용하여 Blob service에 대한 요청을 승인할 수 있습니다.

Microsoft Entra ID 사용하여 권한 부여에 대한 자세한 내용은 Microsoft Entra ID 사용하여 Blob에 대한 액세스 권한 부여를 참조하세요.

사용 권한

아래에는 Microsoft Entra 사용자, 그룹, 관리 ID 또는 서비스 주체가 작업을 호출 Find Blobs by Tags in Container 하는 데 필요한 RBAC 작업과 이 작업을 포함하는 최소 권한의 기본 제공 Azure RBAC 역할이 나와 있습니다.

Azure RBAC를 사용하여 역할을 할당하는 방법에 대한 자세한 내용은 Blob 데이터에 액세스하기 위해 Azure 역할 할당을 참조하세요.

설명

Find Blobs by Tags in Container 작업은 REST API 버전 2021-04-10 이상에서 지원됩니다.

Find Blobs by Tags in Container 사용하는 보조 인덱스는 결국 일치합니다. 를 통한 Set Blob Tags Blob 태그에 대한 업데이트 작업에 즉시 표시되지 Find Blobs by Tags in Container 않을 수 있습니다.

검색 식 생성

URI 매개 변수는 where 스토리지 계정 및 해당 태그가 식과 일치하는 컨테이너에서 Blob을 찾습니다. 결과 집합에서 true Blob이 반환되려면 식이 로 계산되어야 합니다.

스토리지 서비스는 쿼리 매개 변수 값에 대한 ANSI SQL WHERE 절 문법의 하위 집합을 where=<expression> 지원합니다. 스토리지 서비스는 다음 연산자를 지원합니다.

연산자 Description 예제
= 같음 &where=Status = 'In Progress'
> 보다 큼 &where=LastModified > '2018-06-18 20:51:26Z'
>= 크거나 같음 &where=Priority >= '05'
< 보다 작음 &where=Age < '032'
<= 작거나 같음 &where=Reviewer <= 'Smith'
AND 논리적 AND &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'

참고

URI 매개 변수의 where 값은 URI로 올바르게 인코딩되어야 합니다(공백 및 연산자 포함). 앞의 예제에서는 가독성을 위해 이를 생략합니다. @container 는 컨테이너가 URI의 일부인 경우 지원되지 않습니다.

모든 태그 값은 문자열입니다. 지원되는 이진 관계형 연산자는 태그 값의 사전 정렬을 사용합니다. 숫자 및 날짜를 포함하여 문자열이 아닌 데이터 형식을 지원하려면 적절한 패딩과 정렬 가능한 서식을 사용해야 합니다. 태그 값은 작은따옴표로 묶어야 합니다.

태그 이름이 일반 SQL 식별자인 경우 이스케이프 없이 존재할 수 있습니다. 특수 문자가 포함된 경우 큰따옴표(예 "TagName" = TagValue: )로 구분해야 합니다. 태그 이름을 항상 큰따옴표로 묶는 것이 좋습니다.

스토리지 서비스는 오류 코드 400(잘못된 요청)이 있는 잘못된 식을 포함하는 요청을 거부합니다.

결제

가격 책정 요청은 Blob Storage REST API를 통해 직접 또는 Azure Storage 클라이언트 라이브러리에서 Blob Storage API를 사용하는 클라이언트에서 시작됩니다. 이러한 요청은 트랜잭션당 요금을 발생합니다. 트랜잭션 유형은 계정 청구 방식에 영향을 줍니다. 예를 들어 읽기 트랜잭션은 쓰기 트랜잭션이 아닌 다른 청구 범주에 발생합니다. 다음 표에서는 스토리지 계정 유형에 따라 요청에 대한 Find Blobs by Tags in Container 청구 범주를 보여 줍니다.

작업 Storage 계정 유형 청구 범주
컨테이너에서 태그로 Blob 찾기 프리미엄 블록 Blob
표준 범용 v2
표준 범용 v1
컨테이너 작업 나열 및 Create

지정된 청구 범주의 가격 책정에 대한 자세한 내용은 가격 책정 Azure Blob Storage 참조하세요.

추가 정보

Blob 인덱스 태그를 사용하여 Azure Blob Storage 데이터 관리 및 찾기
Azure Storage에 대한 요청 권한 부여
상태 및 오류 코드
Blob Storage 오류 코드