컨테이너 만들기Create Container

Create Container 작업은 지정된 계정으로 새 컨테이너를 만듭니다.The Create Container operation creates a new container under the specified account. 동일한 이름의 컨테이너가 이미 있으면 작업이 실패합니다.If the container with the same name already exists, the operation fails.

컨테이너 리소스에는 해당 컨테이너의 메타데이터 및 속성이 포함됩니다.The container resource includes metadata and properties for that container. 컨테이너에 포함된 blob 목록은 포함되지 않습니다.It does not include a list of the blobs contained by the container.

요청Request

다음과 같이 Create Container 요청을 생성할 수 있습니다.The Create Container request may be constructed as follows. HTTPS를 사용하는 것이 좋습니다.HTTPS is recommended. Mycontainer 값은 소문자만 포함할 수 있습니다.Your mycontainer value can only include lower-case characters. Myaccount 을 사용자의 저장소 계정 이름으로 바꿉니다.Replace myaccount with the name of your storage account:

방법Method 요청 URIRequest URI HTTP 버전HTTP Version
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container HTTP/1.1HTTP/1.1

에뮬레이트된 저장소 서비스 요청Emulated Storage Service Request

에뮬레이트된 저장소 서비스에 대해 요청을 수행할 때는 에뮬레이터 호스트 이름 및 Blob 서비스 포트를 127.0.0.1:10000으로 지정하고 뒤에 에뮬레이트된 저장소 계정 이름을 붙입니다.When making a request against the emulated storage service, specify the emulator hostname and Blob service port as 127.0.0.1:10000, followed by the emulated storage account name:

방법Method 요청 URIRequest URI HTTP 버전HTTP Version
PUT http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container HTTP/1.1HTTP/1.1

자세한 내용은 Azure Storage 에뮬레이터를 사용 하 여 개발 및 테스트저장소 에뮬레이터와 Azure Storage 서비스 간의 차이점을 참조 하세요.For more information, see Using the Azure Storage Emulator for Development and Testing and Differences Between the Storage Emulator and Azure Storage Services.

URI 매개 변수URI parameters

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

매개 변수Parameter 설명Description
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 설명Description
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. 요청의 UCT(협정 세계시) 시간을 지정합니다.Specifies the Coordinated Universal Time (UTC) time for the request. 자세한 내용은 Azure Storage에 요청 권한 부여를 참조 하세요.For more information, see Authorize requests to Azure Storage.
x-ms-version 모든 권한이 부여 된 요청에 필요 합니다.Required for all authorized 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-meta-name:value 선택 사항입니다.Optional. 컨테이너를 메타데이터로 연결하기 위한 이름-값 쌍입니다.A name-value pair to associate with the container as metadata.

버전 2009-09-19부터 메타 데이터 이름은 c # 식별자에 대 한 명명 규칙을 따라야 합니다.Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers.
x-ms-blob-public-access 선택 사항입니다.Optional. 컨테이너의 데이터를 공개적으로 액세스할 수 있는지 여부 및 액세스 수준을 지정합니다.Specifies whether data in the container may be accessed publicly and the level of access. 가능한 값은 다음과 같습니다.Possible values include:

- container: 컨테이너 및 blob 데이터에 대 한 전체 공용 읽기 액세스 권한을 지정 합니다.- container: Specifies full public read access for container and blob data. 클라이언트는 익명 요청을 통해 컨테이너 내에서 Blob을 열거할 수 있지만 스토리지 계정 내에서 컨테이너를 열거할 수는 없습니다.Clients can enumerate blobs within the container via anonymous request, but cannot enumerate containers within the storage account.
- blob:Blob에 대 한 공용 읽기 액세스를 지정 합니다.- blob: Specifies public read access for blobs. 이 컨테이너 내의 Blob 데이터는 익명 요청을 통해 읽을 수 있으나 컨테이너 데이터는 읽을 수 없습니다.Blob data within this container can be read via anonymous request, but container data is not available. 클라이언트는 익명 요청을 통해 컨테이너 내의 Blob을 열거할 수 없습니다.Clients cannot enumerate blobs within the container via anonymous request.

이 헤더가 요청에 포함되지 않으면 컨테이너 데이터는 계정 소유자 전용입니다.If this header is not included in the request, container data is private to the account owner.
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 Headers (Encryption scopes)

버전 2019-02-02부터 컨테이너의 기본 암호화 범위를 설정 하는 요청에 다음 헤더를 지정할 수 있습니다.Beginning with version 2019-02-02, the following headers may be specified on the request to set a default encryption scope on the container. 설정 하는 경우이 암호화 범위는 컨테이너에 업로드 된 모든 blob을 암호화 하는 데 자동으로 사용 됩니다.If set, this encryption scope is automatically used to encrypt all blobs uploaded to the container.

요청 헤더Request header 설명Description
x-ms-default-encryption-scope 필수 요소.Required. 컨테이너에서 기본값으로 설정할 암호화 범위입니다.The encryption scope to set as the default on the container.
x-ms-deny-encryption-scope-override 필수 요소.Required. true 또는 falsetrue or false. 인 경우 true 모든 blob 업로드가 다른 암호화 범위를 지정 하는 것을 방지 합니다.If true, prevents any blob upload from specifying a different encryption scope.

요청 본문Request Body

없음None.

샘플 요청Sample Request

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container HTTP/1.1  
  
Request Headers:  
x-ms-version: 2011-08-18  
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT  
x-ms-meta-Name: StorageSample  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

응답Response

응답에는 HTTP 상태 코드 및 응답 헤더 집합이 포함되어 있습니다.The response includes an HTTP status code and a set of response headers.

상태 코드Status Code

작업에 성공하면 상태 코드 201(만들어짐)이 반환됩니다.A successful operation returns status code 201 (Created).

상태 코드에 대 한 자세한 내용은 상태 및 오류 코드를 참조 하세요.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
ETag 컨테이너에 대한 ETag입니다.The ETag for the container. 요청 버전이 2011-08-18 이상이면 ETag 값이 따옴표로 표시됩니다.If the request version is 2011-08-18 or newer, the ETag value will be in quotes.
Last-Modified 컨테이너가 마지막으로 수정된 날짜 및 시간을 반환합니다.Returns the date and time the container was last modified. 날짜 형식은 RFC 1123을 따릅니다.The date format follows RFC 1123. 자세한 내용은 헤더의 날짜-시간 값 표현을 참조 하십시오.For more information, see Representation of Date-Time Values in Headers.

컨테이너 또는 해당 속성이나 메타데이터를 수정하는 모든 작업을 수행하면 마지막 수정 시간이 업데이트됩니다.Any operation that modifies the container or its properties or metadata updates the last modified time. blob에 대한 작업은 컨테이너의 마지막 수정 시간에 영향을 주지 않습니다.Operations on blobs do not affect the last modified time of the container.
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. 이 헤더는 2009-09-19 버전 이상에 대해 수행된 요청에 대해 반환됩니다.This header is returned for requests made against version 2009-09-19 and later.
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

없음None.

샘플 응답Sample Response

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Sun, 25 Sep 2011 23:00:12 GMT  
ETag: “0x8CB14C3E29B7E82”  
Last-Modified: Sun, 25 Sep 2011 23:00:06 GMT  
x-ms-version: 2011-08-18  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  

권한 부여Authorization

계정 소유자만 이 작업을 호출할 수 있습니다.Only the account owner may call this operation.

설명Remarks

컨테이너는 저장소 계정 아래에 즉시 생성됩니다.Containers are created immediately beneath the storage account. 컨테이너를 서로 중첩할 수는 없습니다.It's not possible to nest one container beneath another.

선택적으로 저장소 계정에 대한 기본 또는 루트 컨테이너를 만들 수 있습니다.You can optionally create a default or root container for your storage account. 루트 컨테이너는 blob 리소스를 요청하는 URL로부터 유추할 수 있습니다.The root container may be inferred from a URL requesting a blob resource. 루트 컨테이너를 사용하면 컨테이너 이름을 참조하지 않고 저장소 계정 계층의 최상위로부터 blob를 참조할 수 있습니다.The root container makes it possible to reference a blob from the top level of the storage account hierarchy, without referencing the container name.

저장소 계정에 루트 컨테이너를 추가하려면 $root라는 컨테이너를 만듭니다.To add the root container to your storage account, create a container named $root. 요청을 다음과 같이 생성합니다.Construct the request as follows:

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/$root?restype=container HTTP/1.1  
  
Request Headers:  
x-ms-version: 2011-08-18  
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT  
x-ms-meta-Name: StorageSample  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

요청에 하나 이상의 메타데이터 헤더를 포함하여 생성 시 컨테이너에 대한 메타데이터를 지정할 수 있습니다.You can specify metadata for a container at the time it is created by including one or more metadata headers on the request. 메타데이터 헤더 형식은 x-ms-meta-name:value입니다.The format for the metadata header is x-ms-meta-name:value.

Create Container를 호출할 때 동일한 이름의 컨테이너를 삭제하는 중이면, 서버가 컨테이너를 삭제 중임을 나타내는 추가 오류 정보와 함께 상태 코드 409(충돌)를 반환합니다.If a container by the same name is being deleted when Create Container is called, the server will return status code 409 (Conflict), with additional error information indicating that the container is being deleted.

참조See also

Azure Storage에 대 한 요청 권한 부여 Authorize requests to Azure Storage
상태 및 오류 코드 Status and Error Codes
Blob 서비스 오류 코드 Blob Service Error Codes
컨테이너, Blob 및 메타 데이터 이름 지정 및 참조 Naming and Referencing Containers, Blobs, and Metadata
Blob 리소스에 대 한 속성 및 메타 데이터 설정 및 검색 Setting and Retrieving Properties and Metadata for Blob Resources
컨테이너 ACL 설정Set Container ACL