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-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) で失敗します。