영업: 1-800-867-1380

범위 배치

업데이트 날짜: 2015년 4월

Put Range 작업은 바이트 범위를 파일에 씁니다.

다음과 같이 Put Range 요청을 생성할 수 있습니다. HTTPS를 사용하는 것이 좋습니다.

 

방법 요청 URI HTTP 버전

PUT

https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=range

HTTP/1.1

다음과 같이 요청 URI에 표시된 경로 구성 요소를 사용자 경로 구성 요소로 바꿉니다.

 

경로 구성 요소 설명

myaccount

저장소 계정 이름입니다.

myshare

파일 공유 이름입니다.

mydirectorypath

선택적 요소입니다. 부모 디렉터리 경로입니다.

myfile

파일 이름입니다.

경로 명명 제한 사항에 대한 자세한 내용은 공유, 디렉터리, 파일 및 메타데이터 이름 지정 및 참조를 참조하세요.

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

 

매개 변수 설명

timeout

선택적 요소입니다. timeout 매개 변수는 초 단위로 표시됩니다. 자세한 내용은 파일 서비스 작업에 대한 시간 제한 설정를 참조하세요.

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

 

요청 헤더 설명

Authorization

필수 사항입니다. 인증 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure 저장소 서비스에 대한 인증를 참조하세요.

Date 또는 x-ms-date

필수 사항입니다. 요청의 UCT(협정 세계시)를 지정합니다. 자세한 내용은 Azure 저장소 서비스에 대한 인증를 참조하세요.

x-ms-version

인증된 모든 요청의 경우 필수입니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Windows Azure에서 Blob, 큐 및 테이블 서비스의 버전 관리를 참조하세요.

Range 또는 x-ms-range

Range 또는 x-ms-range가 필요합니다.

쓸 바이트 범위를 지정합니다. 시작 및 끝 범위를 모두 지정해야 합니다. 이 헤더는 HTTP/1.1 protocol specification에 의해 정의됩니다.

업데이트 작업의 경우 범위는 최대 4MB일 수 있습니다. 지우기 작업의 경우 범위는 파일의 전체 크기 값까지 가능합니다.

파일 서비스는 Rangex-ms-range 헤더의 단일 바이트 범위만 수락하며, 바이트 범위는 다음 형식으로 지정되어야 합니다. bytes=startByte-endByte.

Rangex-ms-range가 모두 지정된 경우 서비스에서 x-ms-range의 값이 사용됩니다. 자세한 내용은 파일 서비스 작업에 대한 범위 헤더 지정을 참조하세요.

Content-Length

필수 사항입니다. 요청 본문에 전송 중인 바이트 수를 지정합니다. x-ms-write 헤더가 clear로 설정되었으면 이 헤더 값을 0으로 설정해야 합니다.

Content-MD5

선택적 요소입니다. 콘텐츠의 MD5 해시입니다. 이 해시는 전송 중 데이터의 무결성을 확인하는 데 사용됩니다. Content-MD5 헤더를 지정하면 파일 서비스가 도착한 콘텐츠의 해시를 전송된 헤더 값과 비교합니다. 두 해시가 일치하지 않으면 작업이 실패하고 오류 코드 400(잘못된 요청)이 표시됩니다.

Content-MD5 헤더가 x-ms-write로 설정된 경우 clear 헤더가 허용되지 않습니다. 요청에 포함된 경우 파일 서비스가 상태 코드 400(잘못된 요청)을 반환합니다.

x-ms-write: {update | clear}

필수 사항입니다. 다음 옵션 중 하나를 지정할 수 있습니다.

  • Update: 요청 본문으로 지정된 바이트를 지정된 범위에 기록합니다. 업데이트를 수행하려면 RangeContent-Length 헤더가 일치해야 합니다.

  • Clear: 지정된 범위를 지우고 해당 범위에 대해 저장소에 사용된 공간을 해제합니다. 범위를 지우려면 Content-Length 헤더를 0으로 설정하고 Range 헤더를 지우려는 범위를 나타내는 값(최대 파일 크기까지)으로 설정합니다.

없음.

Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1

Request Headers:
x-ms-write: update
x-ms-date: Mon, 27 Jan 2014 22:15:50 GMT
x-ms-version: 2014-02-14
x-ms-range: bytes=0-65535
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=
Content-Length: 65536

Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1

Request Headers:
Range: bytes=1024-2048
x-ms-write: clear
x-ms-date: Mon, 27 Jan 2014 23:37:35 GMT
x-ms-version: 2014-02-14
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=

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

작업에 성공하면 상태 코드 201(만들어짐)이 반환됩니다.

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

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

 

응답 헤더 설명

ETag

ETag는 따옴표로 묶인 파일 버전을 나타내는 값을 포함합니다.

Last-Modified

디렉터리가 마지막으로 수정된 날짜와 시간을 반환합니다. 날짜 형식은 RFC 1123을 따릅니다. 자세한 내용은 헤더의 날짜/시간 값 표현을 참조하세요. 공유 또는 해당 속성이나 메타데이터를 수정하는 모든 작업을 수행하면 마지막 수정 시간이 업데이트됩니다. 파일에 대한 작업은 공유의 마지막 수정 시간에 영향을 주지 않습니다.

Content-MD5

이 헤더는 클라이언트가 메시지 콘텐츠 무결성을 확인할 수 있도록 반환됩니다. 이 헤더 값은 파일 서비스에 의해 계산되며, 요청 헤더에 지정된 것과 동일한 값일 필요는 없습니다.

x-ms-request-id

이 헤더는 수행된 요청을 고유하게 식별하며, 이 헤더를 사용해서 요청 문제를 해결할 수 있습니다. 자세한 내용은 API 작업 문제 해결를 참조하세요.

x-ms-version

요청을 실행하는 데 사용되는 파일 서비스의 버전을 나타냅니다.

Date

응답이 시작된 시간을 나타내는 서비스에서 생성된 UTC 날짜/시간 값입니다.

없음.

 
Response Status:
HTTP/1.1 201 Created

Response Headers:
Transfer-Encoding: chunked
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==
Date:Mon, 27 Jan 2014 22:33:35 GMT
ETag: "0x8CB171BA9E94B0B"
Last-Modified: Mon, 27 Jan 2014 12:13:31 GMT
x-ms-version: 2014-02-14
Content-Length: 0
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0

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

Put Range 작업은 바이트 범위를 파일에 씁니다. 이 작업은 기존 파일에서만 호출할 수 있습니다. 새 파일을 만들기 위해 호출할 수 없습니다. 현재 존재하지 않는 파일 이름으로 Put Range를 호출하면 상태 코드 404(찾을 수 없음)가 반환됩니다.

새 파일을 만들려면 파일 만들기을 호출합니다. 파일 크기는 최대 1TB일 수 있습니다.

Put Range 작업을 완료하는 데 허용된 ���간은 MB당 10분입니다. 작업에 평균적으로 MB당 10분 이상의 시간이 소요되면 해당 작업이 시간 초과됩니다.

범위 업데이트 작업

Update 옵션을 사용하여 Put Range를 호출하면 지정된 파일에서 내부 쓰기가 수행됩니다. 업데이트를 수행하면 지정된 범위의 콘텐츠를 덮어씁니다. 업데이트 작업을 위해 Put Range에 제출된 각 범위는 크기가 최대 4MB일 수 있습니다. 4MB보다 큰 범위를 업로드하려고 시도하면 서비스가 상태 코드 413(요청 엔터티 너무 큼)을 반환합니다.

범위 지우기 작업

Clear 옵션을 사용하여 Put Range를 호출하면 지정된 범위가 512바이트로 정렬된 경우 저장소 공간이 확보됩니다. 지워진 범위는 더 이상 파일의 일부로 추적되지 않으면 범위 나열 응답에서 반환되지 않습니다. 지정된 범위가 512바이트로 정렬되지 않은 경우 이 작업은 512바이트로 정렬되지 않은 범위의 시작 또는 끝에 0을 쓰고 512바이트로 정렬된 범위 내의 나머지 공간을 확보합니다.

지워지지 않은 모든 범위가 범위 나열 응답에서 반환됩니다. 예를 들어 아래의 정렬되지 않은 범위 지우기 샘플을 참조하세요.

SMB 클라이언트 바이트 범위 잠금

SMB 프로토콜은 파일 영역에 대한 읽기 및 쓰기 액세스를 관리하도록 바이트 범위 잠금을 허용하지만 Put Range 작업에서는 지정된 x-ms-range 값에 대해 이 기능을 활용하지 않습니다. 대신 Put Range에는 전체 파일에 대한 쓰기 권한이 필요합니다. 또한 SMB 클라이언트에 대해 파일 내의 범위가 잠긴 경우에는 Put Range에 실패합니다. 자세한 내용은 파일 잠금 관리를 참조하세요.

SMB 클라이언트 디렉터리 변경 알림

SMB 프로토콜은 응용 프로그램에서 파일 시스템이 변경된 경우 이를 감지할 수 있는 FindFirstChangeNotification API 함수를 지원합니다. 파일 또는 디렉터리가 추가, 변경, 삭제된 경우 및 파일의 크기, 특성 또는 보안 설명자가 변경된 경우를 감지할 수 있습니다. 이 API를 사용하는 SMB 클라이언트에는 파일 서비스 REST API를 통한 파일 또는 디렉터리 변경 알림이 제공되지 않습니다. 그러나 다른 SMB 클라이언트에서 발생한 변경 내용은 알림을 전파합니다.

정렬되지 않은 범위 지우기 샘플

다음과 같이 파일이 파일 만들기을 통해 만들어지고 단일 범위가 Put Range를 통해 작성되었다고 가정해 보겠습니다.

 
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1

Request Headers:
x-ms-write: updte
x-ms-date: Mon, 27 Jan 2014 22:15:50 GMT
x-ms-version: 2014-02-14
x-ms-range: bytes=0-65536
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=
Content-Length: 65536

파일에서 범위 나열 작업을 수행하면 다음 응답 본문이 반환됩니다.

<?xml version="1.0" ecoding="utf-8"?>
<Ranges>
 <Range>
  <Start>0</Start>
  <End>65536</End>
 </Range>
</Ranges>

이제 정렬되지 않은 범위 지우기 바이트 범위 작업을 수행합니다.

Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1

Request Headers:
Range: bytes=768-2304
x-ms-write: clear
x-ms-date: Mon, 27 Jan 2014 23:37:35 GMT
x-ms-version: 2014-02-14
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=

파일의 후속 범위 나열 작업에서는 다음 응답 본문이 반환됩니다.

<?xml version="1.0" encoding="utf-8"?>
<Ranges>
 <Range>
  <Start>0</Start>
  <End>1024</End>
 </Range>
 <Range>
  <Start>2048</Start>
  <End>65535</End>
 </Range>
</Ranges>

768-1024와 2048-2304의 정렬되지 않은 공간에 0이 기록되었습니다.

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
표시:
© 2015 Microsoft