큐 서비스 속성 설정

작업은 Set Queue Service Properties스토리지 분석 및 CORS(원본 간 리소스 공유) 규칙에 대한 속성을 포함하여 스토리지 계정의 큐 서비스 엔드포인트에 대한 속성을 설정합니다. CORS 규칙에 대한 자세한 내용은 Storage Services에 대한 CORS 지원을 참조하세요.

요청

요청을 다음과 같이 지정할 Set Queue Service Properties 수 있습니다. HTTPS를 사용하는 것이 좋습니다. account-name을 스토리지 계정의 이름으로 바꿉니다.

메서드 요청 URI HTTP 버전
PUT https://account-name.queue.core.windows.net/?restype=service&comp=properties HTTP/1.1

참고

호스트 이름을 URI의 경로 및 쿼리 부분과 구분하려면 URI에 항상 슬래시 문자(/)가 포함되어야 합니다. 이 작업에서는 URI의 경로 부분이 비어 있습니다.

URI 매개 변수

매개 변수 Description
restype=service&comp=properties 필수 요소. Azure Storage 서비스 속성을 설정하려면 두 쿼리 문자열의 조합이 필요합니다.
timeout 선택 사항입니다. timeout 매개 변수는 초 단위로 표시됩니다. 자세한 내용은 큐 서비스 작업에 대한 시간 제한 설정을 참조하세요.

요청 헤더

필수 및 선택적 요청 헤더는 다음 표에 설명되어 있습니다.

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

요청 본문

2012-02-12 및 이전 버전의 경우 요청 본문 형식은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <Metrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Metrics>  
</StorageServiceProperties>  

2013-08-15 및 이후 버전의 경우 요청 본문 형식은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>  
            <AllowedMethods>comma-separated-list-of-HTTP-verb</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-seperated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders> comma-seperated-list-of-request-headers </AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  

버전 2013-08-15를 기준으로 요청 본문에 지정된 하나 이상의 루트 요소를 사용하여 를 호출 Set Queue Service Properties 할 수 있습니다. 루트 요소에는 다음이 포함됩니다.

  • Logging
  • HourMetrics
  • MinuteMetrics
  • 코르스 ()

더 이상 요청의 모든 루트 요소를 지정할 필요가 없습니다. 루트 요소를 생략하면 해당 기능에 대한 서비스의 기존 설정이 유지됩니다. 그러나 지정된 루트 요소를 지정하는 경우 해당 요소에 대한 모든 자식 요소를 지정해야 합니다.

요청 본문의 요소는 다음 표에 설명되어 있습니다.

요소 이름 Description
Logging 버전 2013-08-15 현재 선택 사항입니다. 이전 버전의 경우 필수 사항입니다. 스토리지 분석 로깅 설정을 그룹화합니다.
메트릭 2012-02-12 및 이전 버전의 경우 필수 사항입니다. 버전 2013-08-15 이상에서는 적용되지 않습니다. 스토리지 분석 메트릭 설정을 그룹화합니다. Metrics 설정은 큐에 대한 시간별 집계에서 API로 그룹화된 요청 통계 요약을 제공합니다.
HourMetrics 버전 2013-08-15 이상에 대한 선택 사항입니다. 이전 버전에는 적용되지 않습니다. 스토리지 분석 HourMetrics 설정을 그룹화합니다. HourMetrics 설정은 큐에 대한 시간별 집계에서 API로 그룹화된 요청 통계 요약을 제공합니다.
MinuteMetrics 버전 2013-08-15 이상에 대한 선택 사항입니다. 이전 버전에는 적용되지 않습니다. 스토리지 분석 MinuteMetrics 설정을 그룹화합니다. MinuteMetrics 설정은 큐에 대해 매 분당 요청 통계를 제공합니다. 2013-08-15 이전 버전의 경우 MinuteMetrics 는 응답 본문에 포함되지 않습니다.
버전 로깅, 메트릭, 시간 메트릭 또는 MinuteMetrics 설정을 지정하는 경우 필요합니다. 구성할 Storage Analytics의 버전입니다.
삭제 로깅, 메트릭, 시간 메트릭 또는 MinuteMetrics 설정을 지정하는 경우 필요합니다. 로깅 구성에만 적용됩니다. 모든 삭제 요청을 기록할지 여부를 나타냅니다.
읽기 로깅, 메트릭, 시간 메트릭 또는 MinuteMetrics 설정을 지정하는 경우 필요합니다. 로깅 구성에만 적용됩니다. 모든 읽기 요청을 기록할지 여부를 나타냅니다.
쓰기 로깅, 메트릭, 시간 메트릭 또는 MinuteMetrics 설정을 지정하는 경우 필요합니다. 로깅 구성에만 적용됩니다. 모든 쓰기 요청을 기록할지 여부를 나타냅니다.
Enabled 필수 요소. 큐 서비스에 대해 메트릭이 설정되었는지 여부를 나타냅니다.

읽기 액세스 지리적 중복 복제가 설정되어 있는 경우 기본 및 보조 메트릭이 모두 수집됩니다. 읽기 액세스 지역 중복 복제를 사용하도록 설정하지 않으면 기본 메트릭만 수집됩니다.
IncludeAPIs 메트릭이 설정된 경우에만 필수 사항입니다. 메트릭 구성에만 적용됩니다. 호출된 API 작업에 대해 메트릭이 요약 통계를 생성할지 여부를 나타냅니다.
RetentionPolicy/Enabled 필수 요소. 저장소 서비스에 대해 보존 정책이 설정되었는지 여부를 나타냅니다.
RetentionPolicy/Days 보존 정책이 설정된 경우에만 필수입니다. 메트릭 또는 로깅 데이터를 보존할 일 수를 나타냅니다. 이 값보다 오래된 모든 데이터가 삭제됩니다. 지정할 수 있는 최소값은 이며 1최대값은 (1년)입니다 365 .
Cors 선택 사항입니다. Cors 요소는 버전 2013-08-15 이상에서 지원됩니다. 모든 CORS 규칙을 그룹화합니다.

이 요소 그룹을 생략하면 기존 CORS 설정을 덮어쓰지 않습니다.
CorsRule 선택 사항입니다. 큐 서비스에 대한 CORS 규칙을 지정합니다. 요청에 최대 5 개의 CorsRule 요소를 포함할 수 있습니다. 요청 본문에 CorsRule 요소가 포함되지 않으면 모든 CORS 규칙이 삭제되고 큐 서비스에 대해 CORS가 비활성화됩니다.
AllowedOrigins CorsRule 요소가 있는 경우 필요합니다. CORS를 통해 허용되는 원본 도메인의 쉼표로 구분된 목록 또는 모든 도메인을 허용할 경우 "*"입니다. 원본 도메인에는 도메인의 모든 하위 도메인에 대한 CORS를 통한 요청을 허용하는 와일드카드 문자가 하위 도메인에 포함될 수도 있습니다. 64개의 원본 도메인으로 제한됩니다. 허용되는 각 원본은 최대 256자만 포함할 수 있습니다.
ExposedHeaders CorsRule 요소가 있는 경우 필수입니다. CORS 클라이언트에 노출할 응답 헤더의 쉼표로 구분된 목록입니다. 64개의 정의된 헤더 및 2개의 접두사 헤더로 제한됩니다. 각 헤더는 최대 256자를 포함할 수 있습니다.
MaxAgeInSeconds CorsRule 요소가 있는 경우 필수입니다. 클라이언트/브라우저가 실행 전 응답을 캐시해야 하는 시간(초)입니다.
AllowedHeaders CorsRule 요소가 있는 경우 필요합니다. 크로스-원본 요청에 포함될 수 있는 헤더의 쉼표로 구분된 목록입니다. 64개의 정의된 헤더 및 2개의 접두사 헤더로 제한됩니다. 각 헤더는 최대 256자를 포함할 수 있습니다.
AllowedMethods CorsRule 요소가 있는 경우 필요합니다. 원본에서 실행할 수 있도록 허용되는 HTTP 메서드의 쉼표로 구분된 목록입니다. Azure Storage의 경우 허용되는 메서드는 , , GET, HEADMERGE, POST, OPTIONS또는 PUT입니다DELETE.

응답

응답에는 HTTP 상태 코드 및 응답 헤더 집합이 포함되어 있습니다.

상태 코드

작업에 성공하면 상태 코드 202(수락됨)가 반환됩니다.

응답 헤더

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

응답 헤더 Description
x-ms-request-id 서비스에 대해 만들어진 요청을 고유하게 식별합니다.
x-ms-version 응답에 사용된 작업의 버전을 지정합니다. 자세한 내용은 Azure Storage 서비스에 대한 버전 관리를 참조하세요.
x-ms-client-request-id 요청 및 해당 응답 문제를 해결하는 데 사용할 수 있습니다. 이 헤더의 값 x-ms-client-request-id 은 요청에 있고 값에 표시되는 ASCII 문자가 1,024자 이하인 경우 헤더 값과 같습니다. 헤더가 x-ms-client-request-id 요청에 없으면 응답에 표시되지 않습니다.

응답 본문

없음

권한 부여

계정 소유자만 이 작업을 호출할 수 있습니다.

설명

Azure 저장소의 CORS 규칙에는 다음과 같은 제한 사항이 적용됩니다.

  • 최대 5개의 규칙을 저장할 수 있습니다.

  • 요청에 대한 모든 CORS 규칙 설정의 최대 크기(XML 태그 제외)는 2KiB를 초과하면 안 됩니다.

  • 허용되는 헤더, 표시되는 헤더 또는 허용되는 원본의 길이는 256자를 초과할 수 없습니다.

  • 허용되는 헤더 및 노출된 헤더는 다음 중 하나일 수 있습니다.

    • 정확한 헤더 이름이 제공된 리터럴 헤더(예: x-ms-meta-processed). 요청에 대해 최대 64개의 리터럴 헤더를 지정할 수 있습니다.

    • 헤더 접두사가 제공된 접두사 헤더(예: x-ms-meta-data*). 이러한 방식으로 접두사를 지정하면 지정된 접두사로 시작하는 헤더를 허용하거나 노출합니다. 요청에 대해 최대 2개의 접두사 헤더를 지정할 수 있습니다.

  • 요소에 AllowedMethods 지정된 메서드(또는 HTTP 동사)는 Azure Storage 서비스 API에서 지원하는 메서드를 준수해야 합니다. 지원되는 메서드는 , , GET, , , 및 입니다DELETEPUT. OPTIONSPOSTMERGEHEAD

요청에 CORS 규칙 지정은 선택 사항입니다. 요청 본문에서 Cors 요소를 지정하지 않고 를 호출 Set Queue Service Properties 하면 기존 CORS 규칙이 유지됩니다.

CORS를 사용하지 않도록 설정하려면 내부 CORS 규칙이 없는 빈 CORS 규칙 설정(즉,*</Cors>)을 사용하여 를 호출 Set Queue Service Properties 합니다. 이 호출은 기존 규칙을 삭제하고 큐 서비스에 대해 CORS를 사용하지 않도록 설정합니다.

CorsRule 요소가 지정된 경우 모든 CORS 규칙 요소가 필요합니다. 요소가 누락된 경우 오류 코드 400(Bad Request)으로 인해 요청이 실패합니다.

버전 2013-08-15를 기준으로 XML 설정 요소는 선택 사항이므로 업데이트된 요소만 포함하는 XML을 전송하여 특정 요소를 업데이트할 수 있습니다. 다른 설정은 영향을 받지 않습니다.

CORS 규칙 및 평가 논리에 대한 자세한 내용은 Azure Storage 서비스에 대한 CORS 지원을 참조하세요.

샘플 요청 및 응답

다음 샘플 URI는 myaccount라는 가상의 스토리지 계정에 대한 큐 서비스 속성을 변경하도록 요청합니다.

PUT https://myaccount.queue.core.windows.net/?restype=service&comp=properties HTTP/1.1  

이 요청은 다음 헤더와 함께 전송되었습니다.

x-ms-version: 2013-08-15  
x-ms-date: Wed, 23 Oct 2013 04:28:19 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.queue.core.windows.net  

이 요청은 다음 XML 본문과 함께 전송되었습니다.

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>1.0</Version>  
        <Delete>true</Delete>  
        <Read>false</Read>  
        <Write>true</Write>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>1.0</Version>  
        <Enabled>true</Enabled>  
        <IncludeAPIs>false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins> http://www.fabrikam.com,http://www.contoso.com</AllowedOrigins>  
            <AllowedMethods>GET,PUT</AllowedMethods>  
            <MaxAgeInSeconds>500</MaxAgeInSeconds>  
            <ExposedHeaders>x-ms-meta-data*,x-ms-meta-customheader</ExposedHeaders>  
            <AllowedHeaders>x-ms-meta-target*,x-ms-meta-customheader</AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  
  

요청이 전송된 후에는 다음과 같은 응답이 반환됩니다.

HTTP/1.1 202 Accepted  
Connection: Keep-Alive  
Transfer-Encoding: chunked  
Date: Wed, 23 Oct 2013 04:28:20 GMT  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2013-08-15  
  

추가 정보

Azure Storage 서비스에 대한 CORS 지원
CORS HTTP 사양