Blob 서비스 속성 설정

작업은 Set Blob Service Properties스토리지 분석 속성, CORS(원본 간 리소스 공유) 규칙 및 일시 삭제 설정을 포함하여 스토리지 계정의 Blob Storage 엔드포인트에 대한 속성을 설정합니다.

이 작업을 사용하여 들어오는 모든 요청에 대한 기본 요청 버전을 지정된 버전이 없는 Blob Storage로 설정할 수도 있습니다.

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

요청

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

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

참고

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

URI 매개 변수

URI 매개 변수 설명
restype=service&comp=properties 필수 사항입니다. 저장소 서비스 속성을 설정하려면 두 쿼리 문자열의 조합이 필요합니다.
timeout 선택 사항입니다. 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) 문자 제한을 사용하여 클라이언트에서 생성된 불투명 값을 제공합니다. 이 헤더를 사용하여 클라이언트 쪽 활동과 서버가 수신하는 요청의 상관 관계를 지정하는 것이 좋습니다. 자세한 내용은 Azure Blob 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>  
    <!-- The DefaultServiceVersion element can only be set for Blob Storage, and the request must be made using version 2011-08-18 and later -->  
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>  
</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-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>  
    <!-- The DefaultServiceVersion element can only be set for Blob Storage, and the request must be made using version 2011-08-18 and later -->  
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>  
</StorageServiceProperties>  

버전 2017-07-29 이상에서는 요청 본문의 형식은 다음과 같습니다.

<?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-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>   
</StorageServiceProperties>  

버전 2018-03-28 이상에서는 요청 본문의 형식은 다음과 같습니다.

<?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-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>
    <StaticWebsite>
        <Enabled>true|false</Enabled>
        <IndexDocument>default-name-of-index-page-under-each-directory</IndexDocument>
        <ErrorDocument404Path>absolute-path-of-the-custom-404-page</ErrorDocument404Path>
    </StaticWebsite>
</StorageServiceProperties>  

버전 2019-12-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>  
    <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-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>
    <StaticWebsite>
        <Enabled>true|false</Enabled>
        <IndexDocument>default-name-of-index-page-under-each-directory</IndexDocument>
        <DefaultIndexDocumentPath>absolute-path-of-the-default-index-page</DefaultIndexDocumentPath>
        <ErrorDocument404Path>absolute-path-of-the-custom-404-page</ErrorDocument404Path>
    </StaticWebsite>
</StorageServiceProperties>  

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

  • Logging
  • HourMetrics
  • MinuteMetrics
  • 코르스 ()
  • DefaultServiceVersion
  • DeleteRetentionPolicy: 버전 2017-07-29 이상
  • StaticWebsite: 버전 2018-03-28 이상

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

다음 표에서는 요청 본문의 요소에 대해 설명합니다.

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

읽기 액세스 지리적 중복 복제가 설정되어 있는 경우 기본 및 보조 메트릭이 모두 수집됩니다. 읽기 액세스 지역 중복 복제를 사용하도록 설정하지 않으면 기본 메트릭만 수집됩니다.
IncludeAPIs 메트릭이 설정된 경우에만 필수 사항입니다. 메트릭 구성에만 적용됩니다. 호출된 API 작업에 대해 메트릭이 요약 통계를 생성할지 여부를 나타냅니다.
RetentionPolicy/Enabled 필수 사항입니다. 저장소 서비스에 대해 보존 정책이 설정되었는지 여부를 나타냅니다.
RetentionPolicy/Days 보존 정책이 설정된 경우에만 필수입니다. 메트릭 또는 로깅 데이터를 보존할 일 수를 나타냅니다. 이 값보다 오래된 모든 데이터가 삭제됩니다. 지정할 수 있는 최소값은 1이고 최대값은 365(1년)입니다.
RetentionPolicy/AllowPermanentDelete 선택 사항, 버전 2020-02-10 이상. 스토리지 계정에서 영구 삭제를 사용하도록 설정할 수 있습니다. 기본값은 false.
DefaultServiceVersion 선택 사항입니다. DefaultServiceVersion을 설정하려면 버전 2011-08-18 이상을 사용하여 를 호출 Set Blob Service Properties 합니다. DefaultServiceVersion 은 들어오는 요청의 버전이 지정되지 않은 경우 Blob Storage에 대한 요청에 사용할 기본 버전을 나타냅니다. 가능한 값에는 버전 2008-10-27 이상이 포함됩니다. 해당 버전에 대한 자세한 내용은 Azure Storage 서비스 버전 관리를 참조하세요.

Blob Storage에만 적용됩니다.
코르스 () 선택 사항입니다. Cors 요소는 버전 2013-08-15 이상에서 지원됩니다. 모든 CORS 규칙을 그룹화합니다.

이 요소 그룹을 생략해도 기존 CORS 설정은 덮어쓰지 않습니다.
CorsRule 선택 사항입니다. Blob Storage에 대한 CORS 규칙을 지정합니다. 요청에 최대 5 개의 CorsRule 요소를 포함할 수 있습니다. 요청 본문 에 CorsRule 요소가 포함되지 않으면 모든 CORS 규칙이 삭제되고 Blob Storage에 대해 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의 경우 허용되는 메서드는 DELETE, GET, HEAD, MERGE, PATCH, POST, OPTIONS 및 PUT입니다.
DeleteRetentionPolicy 선택 사항입니다. DeleteRetentionPolicy를 설정하려면 버전 2017-07-29 이상을 사용하여 를 호출 Set Blob Service Properties 합니다. 일시 삭제 설정을 그룹화합니다. Blob Storage에만 적용됩니다.
DeleteRetentionPolicy/Enabled 필수 사항입니다. 삭제된 Blob 또는 스냅샷 보존되는지 또는 삭제 작업으로 즉시 제거되는지 여부를 나타냅니다.
DeleteRetentionPolicy/Days DeleteRetentionPolicy/Enabled가 true인 경우에만 필요합니다. 삭제된 Blob을 보존할 일 수를 나타냅니다. 이 값보다 오래된 모든 데이터는 영구적으로 삭제됩니다. 지정할 수 있는 최소값은 입니다 1. 가장 큰 값은 입니다 365.
StaticWebsite 선택 사항입니다. StaticWebsite 속성을 설정하려면 버전 2018-03-28 이상을 사용하여 를 호출 Set Blob Service Properties 합니다. Blob Storage에만 적용됩니다.
StaticWebsite/Enabled 필수 사항입니다. 지정된 계정에 대해 정적 웹 사이트 지원을 사용할 수 있는지 여부를 나타냅니다.
StaticWebsite/IndexDocument 선택 사항입니다. Azure Storage가 웹 사이트의 루트 또는 하위 폴더(예 index.html: )에 대한 요청에 대해 제공하는 웹 페이지입니다. 이 값은 대/소문자를 구분합니다.
StaticWebsite/DefaultIndexDocumentPath 선택 사항입니다. Azure Storage가 기존 파일에 해당하지 않는 요청에 대해 제공하는 웹 페이지의 절대 경로입니다. 페이지의 콘텐츠는 와 함께 HTTP 200 OK 반환됩니다(예: index.html). 요소는 와 StaticWebsite/IndexDocument함께 사용할 수 없습니다. 이 값은 대/소문자를 구분합니다.
StaticWebsite/ErrorDocument404Path 선택 사항입니다. Azure Storage가 기존 파일에 해당하지 않는 요청에 대해 제공하는 웹 페이지의 절대 경로입니다. 페이지의 콘텐츠는 와 함께 HTTP 404 Not Found 반환됩니다(예: error/404.html). 각 정적 웹 사이트에서는 단일 사용자 지정 404 페이지만 지원됩니다. 이 값은 대/소문자를 구분합니다.

응답

응답에는 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 Storage에서 데이터 액세스 작업을 호출할 때 권한 부여가 필요합니다. 아래에 설명된 대로 작업에 권한을 부여할 Set Blob Service Properties 수 있습니다.

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

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

사용 권한

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

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

설명

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

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

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

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

  • 허용되는 헤더와 표시되는 헤더는 다음 헤더 중 하나일 수 있습니다.

    • 리터럴 헤더 x-ms-meta-processed와 같은 정확한 헤더 이름을 입력합니다. 요청에 대해 최대 64개의 리터럴 헤더를 지정할 수 있습니다.

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

  • AllowedMethods 요소에 지정된 메서드(또는 HTTP 동사)는 Azure Storage API에서 지원하는 메서드를 준수해야 합니다. 지원되는 메서드는 DELETE, GET, HEAD, MERGE, PATCH, POST, OPTIONS 및 PUT입니다.

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

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

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

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

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

결제

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

작업 Storage 계정 유형 청구 범주
Blob 서비스 속성 설정 프리미엄 블록 Blob
표준 범용 v2
기타 작업
Blob 서비스 속성 설정 표준 범용 v1 쓰기 작업

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

샘플 요청 및 응답

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

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

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

x-ms-version: 2018-03-28
x-ms-date: Tue, 12 Sep 2018 23:38:35 GMT 
Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.blob.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>1.0</Version>  
        <Enabled>true</Enabled>  
        <IncludeAPIs>true</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</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>
    <DeleteRetentionPolicy>
        <Enabled>true</Enabled>
        <Days>5</Days>
    </DeleteRetentionPolicy>  
    <StaticWebsite>  
        <Enabled>true</Enabled>  
        <IndexDocument>index.html</IndexDocument>  
        <ErrorDocument404Path>error/404.html</ErrorDocument404Path>  
    </StaticWebsite>  
    <DefaultServiceVersion>2018-03-28</DefaultServiceVersion>  
</StorageServiceProperties>  

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

HTTP/1.1 202 Accepted
Transfer-Encoding: chunked
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30 
x-ms-version: 2018-03-28
Date: Tue, 12 Sep 2018 23:38:35 GMT
  

추가 정보

스토리지 분석
Azure Storage 서비스에 대한 CORS 지원
CORS HTTP 사양