ファイルの作成
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-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 の時点では、両方のヘッダーは省略可能です。 どちらのヘッダーも指定されていない場合は、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-control
、content-type
、content-md5
、content-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 に対する