URL에서 범위 배치

작업은 Put Range From URL URL에서 내용을 읽는 파일의 일부로 커밋할 새 범위를 만듭니다. 이 API는 버전 2019-02-02를 기준으로 사용할 수 있습니다.

프로토콜 가용성

파일 공유 프로토콜 사용 사용 가능
SMB Yes
NFS 아니요

요청

다음과 같이 Put Range From URL 요청을 생성할 수 있습니다. HTTPS를 사용하는 것이 좋습니다. myaccount를 스토리지 계정 이름으로 바꿉니다.

메서드 요청 URI HTTP 버전
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1

URI 매개 변수

매개 변수 Description
timeout (선택 사항) timeout 매개 변수는 초 단위로 표시됩니다. 자세한 내용은 Azure Files 작업에 대한 시간 제한 설정을 참조하세요.

요청 헤더

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

요청 헤더 Description
Authorization 필수 요소. 권한 부여 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여 를 참조하세요.
Date 또는 x-ms-date 필수 요소. 요청에 대한 UTC(협정 세계시)를 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
x-ms-version 모든 권한 있는 요청에 필요합니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Azure Storage 서비스에 대한 버전 관리를 참조하세요. 의 경우 Put Range From URL버전은 2019-02-02 이상이어야 합니다.
x-ms-copy-source:name 필수 요소. 원본 파일의 URL을 지정합니다. 값은 파일을 지정하는 최대 2KiB 길이의 URL일 수 있습니다. 값은 요청 URI에 표시되므로 URL 인코딩해야 합니다. 원본 파일은 공용이거나 공유 액세스 서명을 통해 권한을 부여해야 합니다. 원본 파일이 공용인 경우 작업을 수행하기 위해 권한 부여가 필요하지 않습니다. 다음은 원본 개체 URL의 몇 가지 예입니다.
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile?<sastoken>
x-ms-copy-source-authorization: <scheme> <signature> (선택 사항) 복사 원본에 대한 권한 부여 체계 및 서명을 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
Azure Active Directory에는 스키마 전달자만 지원됩니다.
이 헤더는 버전 2020-10-02 이상에서 지원됩니다.
x-ms-write: { update } 필수 요소. 만 update지정해야 합니다. 를 사용하여 clear호출되면 요청이 실패합니다. 값은 update 요청 본문에 지정된 바이트를 지정된 범위에 씁니다.
Range 또는 x-ms-range 필수 요소. Range 또는 x-ms-range가 필요합니다.

쓸 바이트 범위를 지정합니다. 시작 및 끝 범위를 모두 지정해야 합니다. 이 헤더는 HTTP/1.1 프로토콜 사양에 의해 정의됩니다.

업데이트 작업의 경우 범위의 크기는 최대 4MiB일 수 있습니다.

Azure Files 및 x-ms-range 헤더에 대해 Range 단일 바이트 범위만 허용하며 바이트 범위는 형식bytes=startByte-endByte으로 지정해야 합니다.

Rangex-ms-range가 모두 지정된 경우 서비스에서 x-ms-range의 값이 사용됩니다. 자세한 내용은 Azure Files 작업에 대한 범위 헤더 지정을 참조하세요.
x-ms-source-range 필수 요소. 원본에서 읽을 바이트 범위를 지정합니다. 시작 및 끝 범위를 모두 지정해야 합니다.

Azure Files 및 x-ms-range 헤더에 대해 Range 단일 바이트 범위만 허용하며 바이트 범위는 형식bytes=startByte-endByte으로 지정해야 합니다.

원본 범위의 크기는 최대 4MiB입니다. 원본 범위 크기가 4MiB를 초과하면 Azure Files 상태 코드 413(요청 엔터티가 너무 큼)을 반환합니다. 원본 범위 크기가 범위(대상 범위) 크기와 일치하지 않으면 서비스는 상태 코드 400(잘못된 요청)을 반환합니다.
Content-Length 필수 요소. 요청 본문에 전송 중인 바이트 수를 지정합니다. 이 헤더의 값은 0로 설정되어야 합니다. 길이가 이 아닌 0경우 상태 코드 400(잘못된 요청)으로 인해 작업이 실패합니다.
x-ms-client-request-id (선택 사항) 로깅이 구성될 때 로그에 기록되는 1키비바이트(KiB) 문자 제한을 사용하여 클라이언트에서 생성된 불투명 값을 제공합니다. 이 헤더를 사용하여 클라이언트 쪽 활동과 서버가 수신하는 요청의 상관 관계를 지정하는 것이 좋습니다. 자세한 내용은 Azure Files 모니터링을 참조하세요.
x-ms-source-content-crc64 (선택 사항) URI에서 지정된 범위의 CRC64 해시입니다. 이 해시는 URI에서 데이터를 전송하는 동안 범위의 무결성을 확인하는 데 사용됩니다. 이 헤더를 지정하면 Azure Files 복사 소스에서 도착한 콘텐츠의 해시를 이 헤더 값과 비교합니다.

참고: 이 CRC64 해시는 파일과 함께 저장되지 않습니다.

두 해시가 일치하지 않으면 오류 코드 400(잘못된 요청)으로 작업이 실패합니다.
x-ms-source-if-match-crc64 (선택 사항) CRC64 체크섬 값입니다. 원본에서 읽은 지정된 범위의 체크섬이 제공된 체크섬과 일치하는 경우에만 이 헤더를 지정하여 작업을 수행합니다.

지정된 조건이 충족되지 않으면 Azure Files 코드 412(사전 조건 실패)상태 반환합니다.
x-ms-source-if-none-match-crc64 (선택 사항) CRC64 체크섬 값입니다. 원본에서 읽은 지정된 범위의 체크섬이 제공된 체크섬과 다른 경우에만 이 헤더를 지정하여 작업을 수행합니다.

지정된 조건이 충족되지 않으면 Azure Files 코드 412(사전 조건 실패)상태 반환합니다.
x-ms-lease-id:<ID> 파일에 활성 임대가 있는 경우 필요합니다. 활성 임대가 있는 파일에서 이 작업을 수행하려면 이 헤더에 유효한 임대 ID를 지정합니다.
x-ms-client-request-id (선택 사항) Azure 스토리지 분석 로깅을 사용하도록 설정할 때 분석 로그에 기록되는 1키비바이트(KiB) 문자 제한으로 클라이언트에서 생성된 불투명 값을 제공합니다. 클라이언트 쪽 활동과 서버에서 수신한 요청의 상관 관계를 지정할 때 이 헤더를 사용하는 것이 좋습니다. 자세한 내용은 Blob Storage 모니터링을 참조하세요.
x-ms-file-last-write-time: { now ¦ preserve } (선택 사항) 버전 2021-06-08 이상. 다음 옵션 중 하나를 지정할 수 있습니다.
  • now: 기본값입니다. 마지막 쓰기 시간 타임스탬프를 요청 시간으로 업데이트.
  • preserve: 기존 마지막 쓰기 타임스탬프를 변경하지 않고 유지합니다.
x-ms-file-request-intent 헤더가 OAuth 토큰을 지정하는 경우 Authorization 필수입니다. 허용되는 값은 입니다 backup. 이 헤더는 헤더를 Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action 사용하여 Authorization 권한이 부여된 ID에 할당된 RBAC 정책에 포함되는 경우 또는 Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action 를 부여하도록 지정합니다. 버전 2022-11-02 이상에 사용할 수 있습니다.
x-ms-allow-trailing-dot: { <Boolean> } (선택 사항) 버전 2022-11-02 이상. 부울 값은 요청 URL에 있는 후행 점을 잘라내야 하는지 여부를 지정합니다. 자세한 내용은 공유, 디렉터리, 파일 및 메타데이터 이름 지정 및 참조를 참조하세요.
x-ms-source-allow-trailing-dot: { <Boolean> } (선택 사항) 버전 2022-11-02 이상. 부울 값은 원본 URL에 있는 후행 점을 잘라내야 하는지 여부를 지정합니다. 이 헤더는 복사 원본이 Azure 파일인 경우에만 지정해야 합니다. 이 헤더는 다른 복사 원본 형식에 대해 지원되지 않습니다. 자세한 내용은 공유, 디렉터리, 파일 및 메타데이터 이름 지정 및 참조를 참조하세요.

요청 본문

요청 본문이 없습니다.

샘플 요청

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/mydir/myfile?comp=range HTTP/1.1  
  
Request Headers:  
x-ms-page-write: update  
x-ms-copy-source: http://myaccount2.file.core.windows.net/myshare2/mydirectory2/myfile2?sv=2018-11-09&sp=r&sr=s&se=2018-08-22T09%3A59%3A28.2185790Z&sig=Qn6QEET3Gn%2FhCEVcXuwG7ssatIYiYRM5pNIy4Q3N0cQ%3D 
x-ms-date: Fri, 22 Aug 2018 01:15:50 GMT  
x-ms-version: 2019-02-02 
x-ms-range: bytes=100-1023  
x-ms-source-range: bytes=200-1123  
x-ms-source-content-crc64: 3bedb8b3730fc205 
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  
Content-Length: 0 

응답

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

상태 코드

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

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

응답 헤더

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

응답 헤더 Description
ETag 조건부로 작업을 수행하는 데 사용할 수 있는 값을 포함합니다. 값은 따옴표로 묶입니다.
Last-Modified 파일이 마지막으로 수정된 날짜 및 시간입니다. 날짜 형식은 RFC 1123을 따릅니다. 자세한 내용은 헤더의 날짜/시간 값 표현을 참조하세요.

파일의 메타데이터 또는 속성에 대한 업데이트를 포함하여 파일에 대한 쓰기 작업은 파일의 마지막 수정 시간을 변경합니다. 
x-ms-request-id 만들어진 요청을 고유하게 식별하고 이를 사용하여 요청 문제를 해결할 수 있습니다. 자세한 내용은 API 작업 문제 해결을 참조하세요.
x-ms-version 요청을 실행하는 데 사용된 FileREST API 버전을 나타냅니다.
Date 서비스에서 생성된 UTC 날짜/시간 값으로, 응답이 시작된 시간을 나타냅니다.
x-ms-content-crc64 클라이언트가 메시지 콘텐츠 무결성을 검사 수 있도록 반환됩니다. 이 헤더의 값은 Azure Files 의해 계산됩니다. 반드시 요청 헤더에 지정된 값과 동일하지는 않습니다.
x-ms-client-request-id 요청 및 해당 응답 문제를 해결하는 데 사용할 수 있습니다. 이 헤더의 값 x-ms-client-request-id 은 요청에 있고 값에 표시되는 ASCII 문자가 1,024자 이하인 경우 헤더 값과 같습니다. 헤더가 x-ms-client-request-id 요청에 없으면 응답에 표시되지 않습니다.
x-ms-file-last-write-time 버전 2021-06-08 이상. ISO 8601 형식(예 2017-05-10T17:52:33.9551861Z: )으로 된 파일의 마지막 쓰기 시간입니다.

샘플 응답

Response Status:  
HTTP/1.1 201 Created  

Response Headers:
Date: Sun, 22 Aug 2020 01:33:35 GMT  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: Wed, 22 Aug 2020 01:13:31 GMT  
x-ms-version: 2019-02-02
x-ms-content-crc64: 3bedb8b3730fc205 
Content-Length: 0  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

권한 부여

이 작업은 계정 소유자와 이 파일 또는 Azure 파일 공유에 쓸 수 있는 권한이 있는 공유 액세스 서명이 있는 모든 사용자가 호출할 수 있습니다.

설명

작업은 Put Range From URL 파일에 데이터 범위를 씁니다. 대상의 존재하지 않는 파일에서 API가 호출되면 API는 HTTP 상태 코드 404(찾을 수 없음)를 반환합니다.

버전 2020-10-02 이상에서는 복사 작업의 원본에 대해 Azure Active Directory 권한 부여가 지원됩니다.

새 파일을 만들려면 Create File을 호출합니다.

Put Range From URL 작업은 지정된 범위가 파일에 기록된 경우에만 success 201(Created)을 반환합니다.

파일 읽기 작업
Put Range From URL 는 를 사용하여 Get File 원본에서 데이터 및 메타데이터, 특성 및 ACL을 읽습니다.

파일 업데이트 작업
"update" 옵션을 사용하여 를 호출 Put Range From URL 하면 지정된 파일에 대한 현재 위치 쓰기가 수행됩니다. 지정된 파일의 모든 콘텐츠는 업데이트로 덮어씁니다.  

업데이트 작업에 대한 작업의 범위 크기 Put Range From URL 는 최대 4MiB일 수 있습니다. 4MiB보다 큰 범위를 업로드하려고 하면 Azure Files 상태 코드 413(RequestEntityTooLarge)을 반환합니다.