CreateFile

Create File 操作は、新しいファイルを作成するか、ファイルを置き換えます。 を呼び出 Create Fileすときは、ファイルのみを初期化します。 ファイルにコンテンツを追加するには、 操作を呼び出します Put Range

プロトコルの可用性

有効なファイル共有プロトコル 利用可能
SMB はい
NFS いいえ

Request

次の手順を Create File 実行して、要求を作成できます。 HTTPS を使用することをお勧めします。

Method 要求 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> } バージョン 2019-02-02 から 2021-04-10 では、 が指定されていない場合 x-ms-file-permission-key は、このヘッダーが必要です。 バージョン 2021-06-08 の時点では、両方のヘッダーは省略可能です。 このアクセス許可は、セキュリティ記述子 定義言語 (SDDL) で指定されたファイルのセキュリティ記述子です。 アクセス許可のサイズが 8 kibibytes (KiB) 以下の場合は、このヘッダーを使用できます。 それ以外の場合は、 を使用 x-ms-file-permission-keyできます。 ヘッダーを指定する場合は、所有者、グループ、随 意アクセス制御リスト (DACL) が必要です。 の値 inherit を渡して、親ディレクトリから継承できます。
x-ms-file-permission-key: <PermissionKey> バージョン 2019-02-02 から 2021-04-10 では、 が指定されていない場合 x-ms-file-permission は、このヘッダーが必要です。 バージョン 2021-06-08 の時点では、両方のヘッダーは省略可能です。 どちらのヘッダーも指定しない場合は、 の既定値 inherit がヘッダーに x-ms-file-permission 使用されます。

キーは、API を呼び出 Create Permission すことによって作成できます。
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) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「Azure Filesの監視」を参照してください。
x-ms-file-change-time: { now ¦ <DateTime> } 省略可能。 バージョン 2021-06-08 以降。 ISO 8601 形式のファイルの協定世界時 (UTC) 変更時刻プロパティ。 の値 now を使用して、要求の時刻を示すことができます。 既定値は now です。
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 に存在する末尾のドットをトリミングするかどうかを指定します。 詳細については、「共有、 ディレクトリ、ファイル、およびメタデータの名前付けと参照」を参照してください。

要求本文

なし。

要求のサンプル

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=  
  

Response

応答には、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 要求とそれに対応する応答のトラブルシューティングに使用されます。 このヘッダーの値 x-ms-client-request-id は、要求に存在し、値に 1,024 文字以下の ASCII 文字が含まれている場合、ヘッダーの値と同じです。 ヘッダーが 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-control、、content-typecontent-md5content-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に対する操作