ファイルの作成

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 必須。 このヘッダーは、ファイルの最大サイズ (最大 4 テビバイト (TiB) を指定します。
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 随意。 ファイルにメタデータとして関連付けられている名前と値のペア。 メタデータ名は、C# 識別子の名前付け規則に従う必要があります。

: 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 ヘッダーで使用する形式を指定できます。 このヘッダーは、アクセス許可のサイズが 8 kibibytes (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-keyinheritに設定されている場合は、このヘッダーを設定しないでください。 x-ms-file-permission-keyinherit以外の値に設定されていて、このヘッダーが設定されていない場合は、sddl の既定値が使用されます。
x-ms-file-permission-key: <PermissionKey> バージョン 2019-02-02 から 2021-04-10 では、x-ms-file-permission が指定されていない場合は、このヘッダーが必要です。 バージョン 2021-06-08 の時点では、両方のヘッダーは省略可能です。 どちらのヘッダーも指定されていない場合は、inherit の既定値が x-ms-file-permission ヘッダーに使用されます。

キーは、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 随意。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を持つクライアント生成の不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティと、サーバーが受信する要求を関連付けすることを強くお勧めします。 詳細については、「Monitor 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です。 このヘッダーは、Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action または Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action が、Authorization ヘッダーを使用して承認された ID に割り当てられた RBAC ポリシーに含まれている場合に付与されるように指定します。 バージョン 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 (Created) が返されます。

状態コードの詳細については、「状態コードとエラー コードを参照してください。

応答ヘッダー

この操作の応答には、次の表に示すヘッダーが含まれています。 応答には、追加の標準 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 要求とそれに対応する応答のトラブルシューティングに使用されます。 このヘッダーの値は、要求に存在し、1,024 文字以下の ASCII 文字が含まれている場合、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 バックグラウンド データ整合性スキャナー 読み取る ではないユーザー データ ストリーム。 このファイル システム属性は、主に Windows との互換性を提供するために表示されます。

備考

新しいファイルを作成するには、最初に Create File を呼び出し、最大サイズ (最大 4 TiB) を指定して初期化します。 この操作を実行するときは、要求本文にコンテンツを含めないでください。 ファイルを作成したら、Put Range を呼び出してファイルにコンテンツを追加するか、ファイルを変更します。

Set File Propertiesを呼び出すことで、ファイルのサイズを変更できます。

共有または親ディレクトリが存在しない場合、操作は状態コード 412 (前提条件に失敗) で失敗します。

手記

ファイルプロパティ cache-controlcontent-typecontent-md5content-encoding、および content-language は、SMB クライアントで使用できるファイル システムプロパティとは別です。 SMB クライアントは、これらのプロパティ値の読み取り、書き込み、または変更を行うことができません。

ファイルを作成するには、既存のファイルにアクティブなリースがある場合、クライアントは要求で有効なリース ID を指定する必要があります。 クライアントがリース ID を指定しないか、無効なリース ID を指定した場合、Azure Files は状態コード 412 (前提条件に失敗) を返します。 クライアントがリース ID を指定しても、ファイルにアクティブなリースがない場合、Azure Files は状態コード 412 (Precondition Failed) もこのインスタンスで返します。 クライアントがまだ存在しないファイルにリース ID を指定した場合、Azure Files は、バージョン 2019-02-02 以降に対して行われた要求の状態コード 412 (前提条件に失敗) を返します。

アクティブなリースを持つ既存のファイルが Create File 操作によって上書きされた場合、リースは、解放されるまで更新されたファイルに保持されます。

Create File は、共有スナップショット (共有の読み取り専用コピー) ではサポートされていません。 共有スナップショットに対してこの操作を実行しようとすると、状態コード 400 (InvalidQueryParameterValue) で失敗します。

関連項目

Azure Files に対する 操作