SALES: 1-800-867-1380
Create File
Collapse the table of content
Expand the table of content

Create File


Updated: June 29, 2016

The Create File operation creates a new file or replaces a file. Note that calling Create File only initializes the file. To add content to a file, call the Put Range operation.

The Create File request may be constructed as follows. HTTPS is recommended.


Request URI

HTTP Version



Replace the path components shown in the request URI with your own, as follows:

Path Component



The name of your storage account.


The name of your file share.


Optional. The path to the directory where the file is to be created. If the directory path is omitted, the file will be created within the specified share.

If specified, the directory must already exist within the share before the file can be created.


The name of the file to create.

For details on path naming restrictions, see Naming and Referencing Shares, Directories, Files, and Metadata.

The following additional parameters may be specified on the request URI.




Optional. The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for File Service Operations.

The following table describes required and optional request headers.

Request Header



Required. Specifies the authentication scheme, account name, and signature. For more information, see Authentication for the Azure Storage Services.

Date or x-ms-date

Required. Specifies the Coordinated Universal Time (UTC) time for the request. For more information, see Authentication for the Azure Storage Services.


Required for all authenticated requests. Specifies the version of the operation to use for this request. For more information, see Versioning for the Azure Storage Services.


Optional. Must be zero if present.

x-ms-content-length: byte value

Required. This header specifies the maximum size for the file, up to 1 TB.

Content-Type | x-ms-content-type

Optional. The MIME content type of the file. The default type is application/octet-stream.

Content-Encoding | x-ms-content-encoding

Optional. Specifies which content encodings have been applied to the file. This value is returned to the client when the Get File operation is performed on the file resource and can be used to decode file content.

Content-Language | x-ms-content-language

Optional. Specifies the natural languages used by this resource.

Cache-Control | x-ms-cache-control

Optional. The File service stores this value but does not use or modify it.


Optional. Sets the file's MD5 hash.


Optional. Sets the file’s Content-Disposition header.

x-ms-type: file

Required. Set this header to file.


Optional. Name-value pairs associated with the file as metadata. Metadata names must adhere to the naming rules for C# identifiers.

Note that file metadata specified via the File service is not accessible from an SMB client.

Request Syntax:

Request Headers:
x-ms-version: 2014-02-14
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=

The response includes an HTTP status code and a set of response headers.

A successful operation returns status code 201 (Created).

For information about status codes, see Status and Error Codes.

The response for this operation includes the following headers. The response may also include additional standard HTTP headers. All standard headers conform to the HTTP/1.1 protocol specification.

Response header



The ETag contains a value which represents the version of the file, in quotes.


Returns the date and time the share was last modified. The date format follows RFC 1123. For more information, see Representation of Date/Time Values in Headers.

Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory.


This header uniquely identifies the request that was made and can be used for troubleshooting the request. For more information, see Troubleshooting API Operations 


Indicates the version of the File service used to execute the request.


A UTC date/time value generated by the service that indicates the time at which the response was initiated.

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

Only the account owner may call this operation.

To create a new file, first initialize the file by calling Create File and specify its maximum size, up to 1 TB. When performing this operation, do not include content in the request body. Once the file has been created, call Put Range to add content to the file or to modify it.

You can change the size of the file by calling Set File Properties.

If the share or parent directory does not exist, then the operation fails with status code 412 (Precondition Failed).

Note that the file properties cache-control, content-type, content-md5, content-encoding and content-language are discrete from the file system properties available to SMB clients. SMB clients are not able to read, write or modify these property values.

© 2016 Microsoft