태그로 Blob 찾기Find Blobs by Tags

Find Blobs by Tags작업은 지정 된 검색 식과 일치 하는 태그가 있는 저장소 계정의 모든 blob을 찾습니다.The Find Blobs by Tags operation finds all blobs in the storage account whose tags match a given search expression.

요청Request

다음과 같이 Find Blobs by Tags 요청을 생성할 수 있습니다.The Find Blobs by Tags request may be constructed as follows. HTTPS를 사용하는 것이 좋습니다.HTTPS is recommended. Myaccount 을 사용자의 저장소 계정 이름으로 바꿉니다.Replace myaccount with the name of your storage account:

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

URI 매개 변수URI parameters

요청 URI에 다음과 같은 추가 매개 변수를 지정할 수 있습니다.The following additional parameters may be specified on the request URI.

매개 변수Parameter DescriptionDescription
expression 필수 요소.Required. 지정 된 식과 일치 하는 태그가 있는 blob만 포함 하도록 결과 집합을 필터링 합니다.Filters the result set to only include blobs whose tags match the specified expression.

이 식을 생성 하는 방법에 대 한 자세한 내용은 설명 부분을 참조 하십시오.See the Remarks for more information on how to construct this expression.
marker 선택 사항입니다.Optional. 다음 작업을 통해 반환 되는 결과 집합의 부분을 식별 하는 문자열 값입니다.A string value that identifies the portion of the result set to be returned with the next operation. 반환 된 결과 집합이 완료 되지 않은 경우 작업은 응답 본문 내에서 표식 값을 반환 합니다.The operation returns a marker value within the response body if the result set returned was not complete. 다음 항목 집합을 요청 하는 후속 호출에서 표식 값을 사용할 수 있습니다.The marker value may then be used in a subsequent call to request the next set of items.

마커 값은 클라이언트에 불투명합니다.The marker value is opaque to the client.
maxresults 선택 사항입니다.Optional. 반환할 최대 blob 수를 지정 합니다.Specifies the maximum number of blobs to return. 요청에서 maxresults를 지정하지 않거나 5,000보다 큰 값을 지정할 경우 서버는 최대 5,000개의 항목을 반환합니다.If the request does not specify maxresults or specifies a value greater than 5,000, the server will return up to 5,000 items.

0 이하로 maxresults를 설정하면 오류 응답 코드 400(잘못된 요청)를 반환합니다.Setting maxresults to a value less than or equal to zero results in error response code 400 (Bad Request).
timeout 선택 사항입니다.Optional. timeout 매개 변수는 초 단위로 표시됩니다.The timeout parameter is expressed in seconds. 자세한 내용은 Blob 서비스 작업에 대 한 시간 제한 설정을 참조 하세요.For more information, see Setting Timeouts for Blob Service Operations.

요청 헤더Request Headers

다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.The following table describes required and optional request headers.

요청 헤더Request Header DescriptionDescription
Authorization 필수 요소.Required. 인증 체계, 계정 이름 및 서명을 지정 합니다.Specifies the authorization scheme, account name, and signature. 자세한 내용은 Azure Storage에 요청 권한 부여를 참조 하세요.For more information, see Authorize requests to Azure Storage.
Date 또는 x-ms-dateDate or x-ms-date 필수 요소.Required. 요청에 대한 UTC(협정 세계시)를 지정합니다.Specifies the Coordinated Universal Time (UTC) for the request. 자세한 내용은 Azure Storage에 요청 권한 부여를 참조 하세요.For more information, see Authorize requests to Azure Storage.
x-ms-version 모든 권한이 부여 된 요청에 필요 합니다. 익명 요청의 경우 선택 사항입니다.Required for all authorized requests, optional for anonymous requests. 이 요청에 사용할 작업의 버전을 지정합니다.Specifies the version of the operation to use for this request. 자세한 내용은 Azure Storage Services에 대 한 버전 관리를 참조 하세요.For more information, see Versioning for the Azure Storage Services.
x-ms-client-request-id 선택 사항입니다.Optional. 저장소 분석 로깅을 사용 하도록 설정한 경우 분석 로그에 기록 되는 1 KiB 문자 제한이 있는 클라이언트 생성 불투명 값을 제공 합니다.Provides a client-generated, opaque value with a 1 KiB character limit that is recorded in the analytics logs when storage analytics logging is enabled. 이 헤더를 사용하면 클라이언트 쪽 작업을 서버에서 받은 요청과 관련시키는 것이 좋습니다.Using this header is highly recommended for correlating client-side activities with requests received by the server. 자세한 내용은 스토리지 분석 로깅Azure 로깅: 로그를 사용 하 여 저장소 요청 추적을 참조 하세요.For more information, see About Storage Analytics Logging and Azure Logging: Using Logs to Track Storage Requests.

요청 본문Request Body

없음None.

응답Response

응답에는 HTTP 상태 코드, 응답 헤더 및 응답 본문이 포함 되어 있습니다.The response includes an HTTP status code, response headers, and response body.

상태 코드Status Code

작업에 성공하면 상태 코드 200(정상)이 반환됩니다.A successful operation returns status code 200 (OK).

상태 코드에 대 한 자세한 내용은 상태 및 오류 코드를 참조 하세요.For information about status codes, see Status and Error Codes.

응답 헤더Response Headers

이 작업의 응답에는 다음과 같은 헤더가 포함됩니다.The response for this operation includes the following headers. 응답에는 추가 표준 HTTP 헤더가 포함될 수도 있습니다.The response may also include additional standard HTTP headers. 모든 표준 헤더는 HTTP/1.1 프로토콜 사양을따릅니다.All standard headers conform to the HTTP/1.1 protocol specification.

응답 헤더Response header DescriptionDescription
Content-Type application/xml
Content-Length 반환 된 XML 문서의 크기 (바이트)입니다.The size of the returned XML document, in bytes
x-ms-request-id 이 헤더는 수행된 요청을 고유하게 식별하며, 이 헤더를 사용해서 요청 문제를 해결할 수 있습니다.This header uniquely identifies the request that was made and can be used for troubleshooting the request. 자세한 내용은 API 작업 문제 해결을 참조 하세요.For more information, see Troubleshooting API Operations.
x-ms-version 요청을 실행하는 데 사용되는 Blob 서비스의 버전을 나타냅니다.Indicates the version of the Blob service used to execute the request.
Date 응답이 시작된 시간을 나타내는 서비스에서 생성된 UTC 날짜/시간 값입니다.A UTC date/time value generated by the service that indicates the time at which the response was initiated.
x-ms-client-request-id 이 헤더를 사용 하 여 요청 및 해당 응답의 문제를 해결할 수 있습니다.This header can be used to troubleshoot requests and corresponding responses. 이 헤더의 값은 요청에 있는 경우 헤더의 값과 같으며 x-ms-client-request-id , 값은 최대 1024 표시 ASCII 문자입니다.The value of this header is equal to the value of the x-ms-client-request-id header if it is present in the request and the value is at most 1024 visible ASCII characters. x-ms-client-request-id요청에 헤더가 없는 경우이 헤더는 응답에 표시 되지 않습니다.If the x-ms-client-request-id header is not present in the request, this header will not be present in the response.

응답 본문Response Body

버전 2020-04-20 이상에서 blob의 일치 태그는 Tags 요소에 캡슐화 됩니다.In version 2020-04-20 and newer, the blob's matching tags are encapsulated within a Tags element. 응답 본문의 형식은 다음과 같습니다.The format of the response body is as follows:

<?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 문서입니다.The response body is a well-formed UTF-8 XML document.

권한 부여Authorization

이 작업은 계정 소유자 및 태그로 blob을 찾을 수 있는 권한이 있는 모든 사용자 (SAS 권한)에 의해 호출 될 수 있습니다 f .This operation can be called by the account owner and by anyone with a Shared Access Signature that has permission to find blobs by tags (the f SAS permission).

또한 권한이 있는 RBAC 사용자는 Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action 이 작업을 수행할 수 있습니다.In addition, RBAC users with the Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action permission can perform this operation.

설명Remarks

Find Blobs by Tags작업은 REST API 버전 2019-12-12 이상에서 지원 됩니다.The Find Blobs by Tags operation is supported in REST API version 2019-12-12 and later.

에서 사용 하는 보조 인덱스는 Find Blobs by Tags 궁극적으로 일치 합니다.The secondary index used by Find Blobs by Tags is eventually consistent. 많은 blob 태그 업데이트가 Set Blob Tags 작업에 즉시 표시 되지 않습니다 Find Blobs by Tags .Updates to blob tags via Set Blob Tags many not be immediately visible to Find Blobs by Tags operations.

검색 식 생성Constructing a Search Expression

whereURI 매개 변수는 지정 된 식과 일치 하는 태그가 있는 저장소 계정에서 blob을 찾습니다.The where URI parameter finds blobs in the storage account whose tags match a given expression. true결과 집합에서 blob을 반환 하려면 식이로 계산 되어야 합니다.The expression must evaluate to true for a blob to be returned in the result set.

저장소 서비스는 쿼리 매개 변수 값에 대 한 ANSI SQL WHERE 절 문법의 하위 집합을 지원 합니다 where=<expression> .The storage service supports a subset of the ANSI SQL WHERE clause grammar for the value of the where=<expression> query parameter. 다음과 같은 연산자가 지원됩니다.The following operators are supported:

연산자Operator DescriptionDescription 예제Example
= 같음Equal &where=Status = 'In Progress'
> 보다 큼Greater than &where=LastModified > '2018-06-18 20:51:26Z'
>= 크거나 같음Greater than or equal &where=Priority >= '05'
< 보다 작음Less than &where=Age < '032'
<= 작거나 같음Less than or equal &where=Reviewer <= 'Smith'
AND 논리적 andLogical and &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'
@container 컨테이너 지정Specify a container &where=@container='mycontainer' AND Name = 'C'

참고: where uri 매개 변수 값은 공백과 연산자를 포함 하 여 적절 한 uri로 인코딩해야 합니다.Note: the value of the where URI parameter must be properly URI encoded (including spaces and operators). 위의 예제에서는 가독성을 위해이를 생략 합니다.The examples above omit this for readability.

모든 태그 값은 문자열 이며, 지원 되는 이진 관계형 연산자는 태그 값의 사전적 정렬을 사용 합니다.All tag values are strings, and the supported binary relational operators use a lexicographic sorting of the tag values. 숫자와 날짜를 포함 하 여 문자열이 아닌 데이터 형식을 지원 하려면 적절 한 안쪽 여백 및 정렬 가능한 형식을 사용 해야 합니다.To support non-string data types, including numbers and dates, appropriate padding and sortable formatting must be employed. 태그 값은 작은따옴표로 묶어야 합니다.Tag values must be enclosed in single quotes.

태그 이름이 일반 SQL 식별자 인 경우 이스케이프 없이 표시 될 수 있습니다. 특수 문자를 포함 하는 경우 큰따옴표로 구분 해야 합니다 (예: "TagName" = ' TagValue ').If tag names are regular SQL identifiers, they may be present without escaping; if they contain any special characters, they must be delimited with double quotes (e.g. "TagName" = 'TagValue'). 항상 태그 이름을 큰따옴표로 묶는 것이 좋습니다.It is recommended to always enclose tag names in double quotes.

저장소 서비스는 잘못 된 식이 포함 된 모든 요청을 거부 합니다 (오류 코드 400 (잘못 된 요청)).The storage service will reject any request that contains an invalid expression with error code 400 (Bad Request).

참고 항목See also

Blob 인덱스를 사용하여 Azure Blob Storage에서 데이터 관리 및 찾기Manage and find data on Azure Blob Storage with Blob Index
Azure Storage에 대 한 요청 권한 부여Authorize requests to Azure Storage
상태 및 오류 코드Status and Error Codes
Blob 서비스 오류 코드Blob Service Error Codes