파일 만들기
Create File
작업은 새 파일을 만들거나 파일을 대체합니다.
Create File
호출할 때는 파일만 초기화합니다. 파일에 콘텐츠를 추가하려면 Put Range
작업을 호출합니다.
프로토콜 가용성
파일 공유 프로토콜 사용 | 이용할 수 있는 |
---|---|
SMB | |
NFS | 없음 |
요청
다음을 수행하여 Create File
요청을 생성할 수 있습니다. HTTPS를 사용하는 것이 좋습니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
PUT |
https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile |
HTTP/1.1 |
다음 표에 설명된 대로 요청 URI에 표시된 경로 구성 요소를 사용자 고유의 경로 구성 요소로 바꿉니다.
경로 구성 요소 | 묘사 |
---|---|
myaccount |
스토리지 계정의 이름입니다. |
myshare |
파일 공유의 이름입니다. |
mydirectorypath |
선택적. 파일을 만들 디렉터리의 경로입니다. 디렉터리 경로를 생략하면 지정된 공유 내에 파일이 만들어집니다. 디렉터리를 지정한 경우 파일을 만들려면 먼저 공유 내에 이미 있어야 합니다. |
myfile |
만들 파일의 이름입니다. |
경로 명명 제한에 대한 자세한 내용은 이름 및 참조 공유, 디렉터리, 파일 및 메타데이터참조하세요.
URI 매개 변수
요청 URI에 다음 추가 매개 변수를 지정할 수 있습니다.
매개 변수 | 묘사 |
---|---|
timeout |
선택적.
timeout 매개 변수는 초 단위로 표현됩니다. 자세한 내용은 파일 서비스 작업대한 시간 제한 설정 |
요청 헤더
필수 및 선택적 요청 헤더는 다음 표에 설명되어 있습니다.
요청 헤더 | 묘사 |
---|---|
Authorization |
필수. 권한 부여 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure Storage대한 요청 권한 부여를 참조하세요. |
Date 또는 x-ms-date |
필수. 요청에 대한 UTC(협정 세계시) 시간을 지정합니다. 자세한 내용은 Azure Storage대한 요청 권한 부여를 참조하세요. |
x-ms-version |
모든 권한 있는 요청에 필요합니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Azure Storage 서비스대한 |
Content-Length |
선택적. 있는 경우 0이어야 합니다. |
x-ms-content-length: byte value |
필수. 이 헤더는 파일의 최대 크기(최대 4TiB)를 지정합니다. |
Content-Type 또는 x-ms-content-type |
선택적. 파일의 MIME 콘텐츠 형식입니다. 기본 형식은 application/octet-stream . |
Content-Encoding 또는 x-ms-content-encoding |
선택적. 파일에 적용된 콘텐츠 인코딩을 지정합니다. 이 값은 파일 리소스에서 파일 가져오기 작업이 수행될 때 클라이언트에 반환되며 이를 사용하여 파일 콘텐츠를 디코딩할 수 있습니다. |
Content-Language 또는 x-ms-content-language |
선택적. 이 리소스에서 사용되는 자연어를 지정합니다. |
Cache-Control 또는 x-ms-cache-control |
선택적. Azure Files는 이 값을 저장하지만 사용하거나 수정하지 않습니다. |
x-ms-content-md5 |
선택적. 파일의 MD5 해시를 설정합니다. |
x-ms-content-disposition |
선택적. 파일의 Content-Disposition 헤더를 설정합니다. |
x-ms-type: file |
필수. 이 헤더를 file 설정합니다. |
x-ms-meta-name:value |
선택적. 파일과 메타데이터로 연결된 이름-값 쌍입니다. 메타데이터 이름은 참고: Azure Files를 통해 지정된 파일 메타데이터는 SMB(서버 메시지 블록) 클라이언트에서 액세스할 수 없습니다. |
x-ms-file-permission: { inherit ¦ <SDDL> ¦ <binary> } |
2019-02-02~2021-04-10 버전에서는 x-ms-file-permission-key 지정되지 않은 경우 이 헤더가 필요합니다. 버전 2021-06-08을 기준으로 두 헤더는 모두 선택 사항입니다. 이 권한은 SDDL(보안 설명자 정의 언어) 또는 base64로 인코딩된 이진 보안 설명자 형식(버전 2024-11-04 이상)에 지정된 파일의 보안 설명자입니다.
x-ms-file-permission-format 헤더에 사용할 형식을 지정할 수 있습니다. 사용 권한 크기가 8kibibytes(KiB) 이하인 경우 이 헤더를 사용할 수 있습니다. 그렇지 않으면 x-ms-file-permission-key 사용할 수 있습니다. 헤더를 지정하는 경우 소유자, 그룹 및 DACL(임의 액세스 제어 목록)있어야 합니다. 부모 디렉터리에서 상속할 inherit 값을 전달할 수 있습니다. |
x-ms-file-permission-format: { sddl ¦ binary } |
선택적. 버전 2024-11-04 이상.
x-ms-file-permission 전달된 값이 SDDL인지 아니면 이진 형식인지를 지정합니다.
x-ms-file-permission-key
inherit 설정되면 이 헤더를 설정하면 안 됩니다.
x-ms-file-permission-key
inherit 이외의 값으로 설정되고 이 헤더가 설정되지 않은 경우 sddl 기본값이 사용됩니다. |
x-ms-file-permission-key: <PermissionKey> |
2019-02-02~2021-04-10 버전에서는 x-ms-file-permission 지정되지 않은 경우 이 헤더가 필요합니다. 버전 2021-06-08을 기준으로 두 헤더는 모두 선택 사항입니다. 두 헤더를 모두 지정하지 않으면 x-ms-file-permission 헤더에 inherit 기본값이 사용됩니다.Create Permission API를 호출하여 키를 만들 수 있습니다. |
x-ms-file-attributes |
필수: 버전 2019-02-02~ 2021-04-10 선택 사항: 버전 2021-06-08 이상. 이 헤더에는 파일에 설정할 파일 시스템 특성이 포함됩니다. 자세한 내용은 사용 가능한 특성None . |
x-ms-file-creation-time: { now ¦ <DateTime> } |
필수: 버전 2019-02-02~ 2021-04-10 선택 사항: 버전 2021-06-08 이상. 파일에 대한 UTC(협정 세계시) 생성 시간 속성입니다.
now 값을 사용하여 요청 시간을 나타낼 수 있습니다. 기본값은 now . |
x-ms-file-last-write-time: { now ¦ <DateTime> } |
필수: 버전 2019-02-02~ 2021-04-10 선택 사항: 버전 2021-06-08 이상. 파일에 대한 UTC(협정 세계시) 마지막 쓰기 속성입니다.
now 값을 사용하여 요청 시간을 나타낼 수 있습니다. 기본값은 now . |
x-ms-lease-id: <ID> |
파일에 활성 임대가 있는 경우 필요합니다. 버전 2019-02-02 이상에서 사용할 수 있습니다. |
x-ms-client-request-id |
선택적. 로깅이 구성될 때 로그에 기록되는 1kibibyte(KiB) 문자 제한으로 클라이언트에서 생성된 불투명 값을 제공합니다. 이 헤더를 사용하여 클라이언트 쪽 활동과 서버가 수신하는 요청의 상관 관계를 지정하는 것이 좋습니다. 자세한 내용은 Azure Files모니터링을 참조하세요. |
x-ms-file-change-time: { now ¦ <DateTime> } |
선택적. 버전 2021-06-08 이상. ISO 8601 형식으로 파일에 대한 UTC(협정 세계시) 변경 시간 속성입니다.
now 값을 사용하여 요청 시간을 나타낼 수 있습니다. 기본값은 now . |
x-ms-file-request-intent |
Authorization 헤더가 OAuth 토큰을 지정하는 경우 필수입니다. 허용되는 값은 backup . 이 헤더는 Authorization 헤더를 사용하여 권한이 부여된 ID에 할당된 RBAC 정책에 포함된 경우 Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action 또는 Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action 부여하도록 지정합니다. 버전 2022-11-02 이상에서 사용할 수 있습니다. |
x-ms-allow-trailing-dot: { <Boolean> } |
선택적. 버전 2022-11-02 이상. 부울 값은 요청 URL에 있는 후행 점이 잘려야 하는지 여부를 지정합니다. 자세한 내용은 공유, 디렉터리, 파일 및 메타데이터 |
요청 본문
없음.
샘플 요청
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile HTTP/1.1
Request Headers:
x-ms-version: 2020-02-10
x-ms-date: Mon, 27 Jan 2014 22:41:55 GMT
Content-Type: text/plain; charset=UTF-8
x-ms-content-length: 1024
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
응답
응답에는 HTTP 상태 코드와 응답 헤더 집합이 포함됩니다.
상태 코드
작업이 성공하면 상태 코드 201(생성됨)이 반환됩니다.
상태 코드에 대한 자세한 내용은 상태 및 오류 코드참조하세요.
응답 헤더
이 작업에 대한 응답에는 다음 표에 설명된 헤더가 포함됩니다. 응답에는 추가 표준 HTTP 헤더도 포함될 수 있습니다. 모든 표준 헤더는 HTTP/1.1 프로토콜 사양준수합니다.
응답 헤더 | 묘사 |
---|---|
ETag |
ETag에는 파일의 버전을 나타내는 값이 포함되어 있습니다. 값은 따옴표로 묶입니다. |
Last-Modified |
파일이 마지막으로 수정된 날짜와 시간을 반환합니다. 날짜 형식은 RFC 1123을 따릅니다. 자세한 내용은 헤더날짜/시간 값을 나타냅니다. 디렉터리 또는 해당 속성을 수정하는 모든 작업은 마지막으로 수정된 시간을 업데이트합니다. 파일에 대한 작업은 디렉터리의 마지막으로 수정된 시간에 영향을 주지 않습니다. |
x-ms-request-id |
요청의 문제를 해결하는 데 사용할 수 있고 만들어진 요청을 고유하게 식별합니다. 자세한 내용은 API 작업 문제 해결을 참조하세요. |
x-ms-version |
요청을 실행하는 데 사용되는 Azure Files 버전을 나타냅니다. |
Date |
서비스에서 생성되는 UTC 날짜/시간 값으로, 응답이 시작된 시간을 나타냅니다. |
x-ms-request-server-encrypted: true/false |
버전 2017-04-17 이상. 지정된 알고리즘을 사용하여 요청 내용을 성공적으로 암호화한 경우 이 헤더의 값이 true 설정됩니다. 암호화에 실패하면 값이 false . |
x-ms-file-permission-key |
파일 권한의 키입니다. |
x-ms-file-attributes |
파일의 파일 시스템 특성입니다. 자세한 내용은 사용 가능한 특성 |
x-ms-file-creation-time |
파일의 생성 시간 속성을 나타내는 UTC 날짜/시간 값입니다. |
x-ms-file-last-write-time |
파일의 마지막 쓰기 시간 속성을 나타내는 UTC 날짜/시간 값입니다. |
x-ms-file-change-time |
파일의 변경 시간 속성을 나타내는 UTC 날짜/시간입니다. |
x-ms-file-file-id |
파일의 파일 ID입니다. |
x-ms-file-parent-id |
파일의 부모 파일 ID입니다. |
x-ms-client-request-id |
요청 및 해당 응답의 문제를 해결하는 데 사용됩니다. 이 헤더의 값은 요청에 있고 값에 표시되는 ASCII 문자가 1,024자 이하인 경우 x-ms-client-request-id 헤더의 값과 같습니다.
x-ms-client-request-id 헤더가 요청에 없으면 응답에 표시되지 않습니다. |
응답 본문
없음.
샘플 응답
Response Status:
HTTP/1.1 201 Created
Response Headers:
Transfer-Encoding: chunked
Date: Mon, 27 Jan 2014 23:00:12 GMT
ETag: "0x8CB14C3E29B7E82"
Last-Modified: Mon, 27 Jan 2014 23:00:06 GMT
x-ms-version: 2014-02-14
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0
권한 부여
계정 소유자만 이 작업을 호출할 수 있습니다.
파일 시스템 특성
속성 | Win32 파일 특성 | 정의 |
---|---|---|
ReadOnly | FILE_ATTRIBUTE_READONLY | 읽기 전용인 파일입니다. 애플리케이션은 파일을 읽을 수 있지만 파일을 쓰거나 삭제할 수는 없습니다. |
숨겨진 | FILE_ATTRIBUTE_HIDDEN | 파일이 숨겨져 있습니다. 일반 디렉터리 목록에는 포함되지 않습니다. |
체계 | FILE_ATTRIBUTE_SYSTEM | 운영 체제에서 일부 또는 단독으로 사용하는 파일입니다. |
없음 | FILE_ATTRIBUTE_NORMAL | 다른 특성이 설정되지 않은 파일입니다. 이 특성은 단독으로 사용하는 경우에만 유효합니다. |
보관 | FILE_ATTRIBUTE_ARCHIVE | 보관 파일인 파일입니다. 애플리케이션은 일반적으로 이 특성을 사용하여 백업 또는 제거를 위해 파일을 표시합니다. |
일시적인 | FILE_ATTRIBUTE_TEMPORARY | 임시 스토리지에 사용되는 파일입니다. |
오프 라인 | FILE_ATTRIBUTE_OFFLINE | 파일의 데이터는 즉시 사용할 수 없습니다. 이 파일 시스템 특성은 Windows와의 호환성을 제공하기 위해 주로 제공됩니다. Azure Files는 오프라인 스토리지 옵션을 지원하지 않습니다. |
NotContentIndexed | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED | 파일은 콘텐츠 인덱싱 서비스에서 인덱싱할 수 없습니다. |
NoScrubData | FILE_ATTRIBUTE_NO_SCRUB_DATA | 백그라운드 데이터 무결성 스캐너에서 읽을 |
발언
새 파일을 만들려면 먼저 Create File
호출하고 최대 크기(최대 4TiB)를 지정하여 초기화합니다. 이 작업을 수행하는 경우 요청 본문에 콘텐츠를 포함하지 마세요. 파일을 만든 후 Put Range
호출하여 파일에 콘텐츠를 추가하거나 수정합니다.
Set File Properties
호출하여 파일의 크기를 변경할 수 있습니다.
공유 또는 부모 디렉터리가 없으면 상태 코드 412(사전 조건 실패)로 작업이 실패합니다.
메모
파일 속성 cache-control
, content-type
, content-md5
, content-encoding
및 content-language
SMB 클라이언트에서 사용할 수 있는 파일 시스템 속성과는 별개입니다. SMB 클라이언트는 이러한 속성 값을 읽거나 쓰거나 수정할 수 없습니다.
파일을 만들려면 기존 파일에 활성 임대가 있는 경우 클라이언트는 요청에 유효한 임대 ID를 지정해야 합니다. 클라이언트가 임대 ID를 지정하지 않거나 잘못된 임대 ID를 지정하는 경우 Azure Files는 상태 코드 412(사전 조건 실패)를 반환합니다. 클라이언트가 임대 ID를 지정하지만 파일에 활성 임대가 없는 경우 Azure Files는 이 인스턴스에서 상태 코드 412(사전 조건 실패)도 반환합니다. 클라이언트가 아직 존재하지 않는 파일에 임대 ID를 지정하는 경우 Azure Files는 버전 2019-02-02 이상에 대해 수행된 요청에 대해 상태 코드 412(사전 조건 실패)를 반환합니다.
활성 임대가 있는 기존 파일을 Create File
작업으로 덮어쓰는 경우 임대는 릴리스될 때까지 업데이트된 파일에 유지됩니다.
공유의 읽기 전용 복사본인 공유 스냅샷에서는 Create File
지원되지 않습니다. 공유 스냅샷에서 이 작업을 수행하려고 하면 상태 코드 400(InvalidQueryParameterValue)이 실패합니다.
참고 항목
Azure Files 대한