Path - Create

ファイル |の作成ディレクトリ |の作成[ファイル名の変更] |ディレクトリの名前変更
ファイルまたはディレクトリを作成または名前変更します。 既定では、宛先は上書きされ、宛先が既に存在し、リースがある場合、リースは切断されます。 この操作では、条件付き HTTP 要求がサポートされます。 詳細については、「BLOB サービス操作の条件ヘッダーの指定」を参照してください。 宛先が既に存在する場合に失敗するには、If-None-Match: "*" で条件付き要求を使用します。

PUT https://{accountName}.{dnsSuffix}/{filesystem}/{path}
PUT https://{accountName}.{dnsSuffix}/{filesystem}/{path}?resource={resource}&continuation={continuation}&mode={mode}&timeout={timeout}

URI パラメーター

Name In Required Type Description
accountName
path True
  • string

Azure Storage のアカウント名。

dnsSuffix
path True
  • string

Azure Data Lake Storage エンドポイントの DNS サフィックス。

filesystem
path True
  • string

ファイルシステム識別子。

Regex pattern: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$

path
path True
  • string

ファイルまたはディレクトリのパス。

continuation
query
  • string

省略可能。 ディレクトリの名前を変更する場合、各呼び出しで名前を変更するパスの数は制限されます。 名前を変更するパスの数がこの制限を超えると、この応答ヘッダーに継続トークンが返されます。 応答で継続トークンが返された場合、ディレクトリの名前を変更し続けるには、名前変更操作の後続の呼び出しで継続トークンを指定する必要があります。

mode
query

省略可能。 名前空間が有効な場合にのみ有効です。 このパラメーターは、名前変更操作の動作を決定します。 値は "legacy" または "posix" である必要があり、既定値は "posix" になります。

resource
query

[ファイルの作成] と [ディレクトリの作成] にのみ必要です。 値は "file" または "directory" である必要があります。

timeout
query
  • integer
int32

オプションの操作タイムアウト値 (秒単位)。 期間は、サービスが要求を受信したときに開始されます。 操作が完了する前にタイムアウト値が経過すると、操作は失敗します。

要求ヘッダー

Media Types: "application/octet-stream"

Name Required Type Description
Cache-Control
  • string

省略可能。 この値はサービスによって格納され、"ファイルの読み取り" 操作の "ファイルの読み取り" 操作の "Cache-Control" 応答ヘッダーに含まれます。

Content-Encoding
  • string

省略可能。 ファイルに適用されたコンテンツのエンコード方式を指定します。 この値は、"ファイルの読み取り" 操作が実行されるときにクライアントに返されます。

Content-Language
  • string

省略可能。 ファイルの対象ユーザーが使用する自然言語を指定します。

Content-Disposition
  • string

省略可能。 この値はサービスによって格納され、"ファイルの読み取り" 操作の "Content-Disposition" 応答ヘッダーに含まれます。

x-ms-cache-control
  • string

省略可能。 この値はサービスによって格納され、"ファイルの読み取り" 操作の "Cache-Control" 応答ヘッダーに含まれます。

x-ms-content-type
  • string

省略可能。 この値はサービスによって格納され、"ファイルの読み取り" 操作の "Content-Type" 応答ヘッダーに含まれます。

x-ms-content-encoding
  • string

省略可能。 この値はサービスによって格納され、"ファイルの読み取り" 操作の "Content-Encoding" 応答ヘッダーに含まれます。

x-ms-content-language
  • string

省略可能。 この値はサービスによって格納され、"ファイルの読み取り" 操作の "Content-Language" 応答ヘッダーに含まれます。

x-ms-content-disposition
  • string

省略可能。 この値はサービスによって格納され、"ファイルの読み取り" 操作の "Content-Disposition" 応答ヘッダーに含まれます。

x-ms-rename-source
  • string

名前を変更するオプションのファイルまたはディレクトリ。 値の形式は "/{filesystem}/{path}" にする必要があります。 "x-ms-properties" が指定されている場合、プロパティは既存のプロパティを上書きします。それ以外の場合、既存のプロパティは保持されます。 この値は、URL のパーセント エンコード文字列である必要があります。 文字列には、ISO-8859-1 文字セット内の ASCII 文字のみが含まれていることに注意してください。

x-ms-lease-id
  • string

省略可能。 URI で指定されたパスのリース ID。 上書きするパスにはアクティブなリースが必要であり、リース ID が一致している必要があります。

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-source-lease-id
  • string

名前変更操作の場合は省略可能です。 ソース パスのリース ID。 ソース パスにはアクティブなリースが必要で、リース ID が一致している必要があります。

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-properties
  • string

省略可能。 名前と値のペア "n1=v1, n2=v2, ..."のコンマ区切りリストの形式で、ファイルまたはディレクトリと共に格納されるユーザー定義プロパティ。各値は base64 でエンコードされた文字列です。 文字列には、ISO-8859-1 文字セット内の ASCII 文字のみが含まれていることに注意してください。

x-ms-permissions
  • string

アカウントに対して階層型名前空間が有効になっている場合にのみ、省略可能で有効です。 ファイル所有者、ファイル所有グループなどの POSIX アクセス許可を設定します。 各クラスには、読み取り (4)、書き込み (2)、または実行 (1) のアクセス許可を付与できます。 シンボリック (rwxrw-rw-) と 4 桁の 8 進数表記 (0766 など) の両方がサポートされています。 スティッキー ビットもサポートされており、シンボリック表記では、他のカテゴリの実行ビットがそれぞれ設定されているか未設定であるかに応じて、最終的な文字位置の文字 t または T で表されます (たとえば、固定ビットを持つ rwxrw-rw- は rwxrw-rwT として表されます)。スティッキー ビットを持つ rwxrw-rwx は rwxrw-rwt として表されます。t または T がない場合は、スティッキー ビットが設定されていないことを示します。 4 桁の 8 進数表記では、1 桁目で表されます (たとえば、1766 はスティッキー ビットを持つ rwxrw-rw- を表し、0766 はスティッキー ビットのない rwxrw-rw- を表します)。 x-ms-acl と組み合わせて無効です。

x-ms-umask
  • string

アカウントに対して階層型名前空間が有効になっている場合にのみ、省略可能で有効です。 ファイルまたはディレクトリを作成し、親フォルダーに既定の ACL がない場合、umask は作成するファイルまたはディレクトリのアクセス許可を制限します。 結果として得られるアクセス許可は p & ^u によって与えられます。ここで、p はアクセス許可であり、ユーザーは umask です。 たとえば、p が 0777 で、0057 の場合、結果のアクセス許可は 0720 になります。 既定のアクセス許可は、ディレクトリの場合は 0777、ファイルの場合は 0666 です。 既定の umask は 0027 です。 umask は 4 桁の 8 進数表記 (例: 0766) で指定する必要があります。

x-ms-owner
  • string

アカウントに対して階層型名前空間が有効になっている場合にのみ、省略可能で有効です。 ファイルまたはディレクトリの所有者を設定します。

x-ms-group
  • string

アカウントに対して階層型名前空間が有効になっている場合にのみ、省略可能で有効です。 ファイルまたはディレクトリの所有グループを設定します。

x-ms-acl
  • string

アカウントに対して階層型名前空間が有効になっている場合にのみ、省略可能で有効です。 ファイルとディレクトリに対する POSIX アクセス制御権限を設定します。 各アクセス制御エントリ (ACE) は、スコープ、型、ユーザーまたはグループ識別子、および "[scope:][type]:[id]:[permissions]" という形式のアクセス許可で構成されます。 ACE がディレクトリの既定の ACL に属することを示すには、スコープを "default" にする必要があります。それ以外の場合、スコープは暗黙的であり、ACE はアクセス ACL に属します。 ACE には 4 種類があります。"user" は所有者または名前付きユーザーに権限を付与し、"group" は所有グループまたは名前付きグループに権限を付与し、"mask" は名前付きユーザーとグループのメンバーに付与される権限を制限し、"other" は他のどのエントリにも見つからないすべてのユーザーに権限を付与します。 ユーザーまたはグループの識別子は、"mask" 型と "other" 型のエントリでは省略されます。 所有者および所有グループの場合、ユーザーまたはグループの識別子も省略されます。 権限フィールドは 3 文字のシーケンスです。最初の文字は読み取りアクセスを許可する場合は 'r'、2 番目の文字は書き込みアクセスを許可する場合は 'w'、3 番目の文字は実行アクセス許可を付与する 'x' です。 アクセスが許可されていない場合は、アクセス許可が拒否されたことを示すために '-' 文字が使用されます。 たとえば、次の ACL は、ファイル所有者とjohn.doe@contosoに対する読み取り、書き込み、実行の権限、所有グループに対する読み取り権限、および他のすべてのユーザーには何も付与しません: "user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask=rwx" です。 x-ms-permissions と組み合わせて無効です。

x-ms-proposed-lease-id
  • string

省略可能。 ファイルまたはディレクトリの作成時にリースを取得する場合は、提案されたリース ID を指定します。 作成が成功した場合、リースはこのリース ID で取得されます。

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-expiry-option
  • string

アカウントに対して階層型名前空間が有効で、ファイルでのみサポートされている場合にのみ、オプションで有効です。 ファイルの作成時に有効期限を設定する場合は、次のいずれかの有効期限オプションを指定します。 "RelativeToNow" 現在の時刻を基準にして有効期限を設定します。 ユーザーは、これから経過したミリ秒数を渡します。 RFC 1123 形式の "絶対" 絶対時間。 "Neverexpire" ファイルを無期限に設定します。このオプションで有効期限を指定する必要はありません。

x-ms-expiry-time
  • string

アカウントに対して階層型名前空間が有効で、ファイルでのみサポートされている場合にのみ、オプションで有効です。 ファイルの有効期限を指定します。 RFC 1123 HTTP 時間文字列または有効期限オプションに従ったミリ秒数として指定されます。

If-Match
  • string

省略可能。 ETag 値。 このヘッダーを指定すると、リソースの ETag が指定値と一致する場合に限り操作が実行されます。 ETag は引用符で囲む必要があります。

If-None-Match
  • string

省略可能。 ETag 値または特別なワイルドカード ("*") 値。 このヘッダーを指定すると、リソースの ETag が指定値と一致しない場合に限り操作が実行されます。 ETag は引用符で囲む必要があります。

If-Modified-Since
  • string

省略可能。 日付と時刻の値。 指定した日時以降にリソースが変更された場合にのみ、このヘッダーを指定して操作を実行します。

If-Unmodified-Since
  • string

省略可能。 日付と時刻の値。 指定した日時以降にリソースが変更されていない場合にのみ、このヘッダーを指定して操作を実行します。

x-ms-source-if-match
  • string

省略可能。 ETag 値。 ソースの ETag が指定された値と一致する場合にのみ名前変更操作を実行するには、このヘッダーを指定します。 ETag は引用符で囲む必要があります。

x-ms-source-if-none-match
  • string

省略可能。 ETag 値または特別なワイルドカード ("*") 値。 ソースの ETag が指定された値と一致しない場合にのみ、名前変更操作を実行するには、このヘッダーを指定します。 ETag は引用符で囲む必要があります。

x-ms-source-if-modified-since
  • string

省略可能。 日付と時刻の値。 指定した日時以降にソースが変更された場合にのみ、名前変更操作を実行するには、このヘッダーを指定します。

x-ms-source-if-unmodified-since
  • string

省略可能。 日付と時刻の値。 指定した日時以降にソースが変更されていない場合にのみ、名前変更操作を実行するには、このヘッダーを指定します。

x-ms-encryption-key
  • string

省略可能。 Base64 でエンコードされた AES-256 暗号化キー。

x-ms-encryption-key-sha256
  • string

省略可能。 暗号化キーの Base64 でエンコードされた SHA256 ハッシュ。

x-ms-encryption-algorithm: AES256
  • string

省略可能。 暗号化に使用するアルゴリズムを指定します。 このヘッダーの値は AES256 である必要があります。

x-ms-encryption-context
  • string

省略可能。 既定値は "Empty" です。 値が設定されている場合は、BLOB/ファイル システムのメタデータが設定されます。 最大長 - 1024

x-ms-client-request-id
  • string

トラブルシューティングと関連付けのために分析ログに記録された UUID。

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-date
  • string

要求に対して協定世界時 (UTC) を指定します。 これは、共有キーの承認を使用する場合に必要です。

x-ms-version
  • string

要求の処理に使用される REST プロトコルのバージョンを指定します。 これは、共有キーの承認を使用する場合に必要です。

応答

Name Type Description
201 Created

ファイルまたはディレクトリが作成されました。

Headers

  • Date: string
  • ETag: string
  • Last-Modified: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-continuation: string
  • Content-Length: integer
  • x-ms-request-server-encrypted: true/false: boolean
  • x-ms-encryption-key-sha256: string
  • x-ms-encryption-scope: string
Other Status Codes

エラーが発生しました。 使用可能な HTTP 状態、コード、およびメッセージ文字列を次に示します。

  • 400 Bad Request、ContentLengthMustBeZero、"Content-Length 要求ヘッダーは 0 である必要があります。"
  • 400 無効な要求、InvalidAuthenticationInfo、"認証情報が正しい形式で指定されていません。 Authorization ヘッダーの値を確認してください。
  • 400 無効な要求、InvalidFlushPosition、"アップロードされたデータが連続していないか、アップロードされたデータを追加した後の位置クエリ パラメーターの値がファイルの長さと等しくありません。"
  • 400 Bad Request、InvalidHeaderValue、"HTTP ヘッダーの 1 つの値が正しい形式ではありません。"
  • 400 Bad Request、InvalidHttpVerb、"指定された HTTP 動詞は無効です。サーバーでは認識されません。"
  • 400 無効な要求、InvalidInput、"要求の入力の 1 つが無効です"。
  • 400 Bad Request、InvalidPropertyName、"プロパティ名を空にすることはできません。"
  • 400 Bad Request、InvalidPropertyName、"プロパティ名に無効な文字が含まれています。"
  • 400 Bad Request、InvalidQueryParameterValue、"要求 URI で指定されたクエリ パラメーターの 1 つの値が無効です。"
  • 400 無効な要求、InvalidResourceName、"指定されたリソース名に無効な文字が含まれています。"
  • 400 無効な要求、InvalidSourceUri、"ソース URI が無効です。"
  • 400 無効な要求、InvalidUri、"要求 URI が無効です。"
  • 400 Bad Request、MissingRequiredHeader、"この要求に必須の HTTP ヘッダーが指定されていません。"
  • 400 Bad Request、MissingRequiredQueryParameter、"この要求に必須のクエリ パラメーターが指定されていません。"
  • 400 Bad Request、MultipleConditionHeadersNotSupported、"複数の条件ヘッダーはサポートされていません。"
  • 400 Bad Request、OutOfRangeInput、"要求入力の 1 つが範囲外です。"
  • 400 Bad Request、OutOfRangeQueryParameterValue、"要求 URI で指定されたクエリ パラメーターの 1 つが許容範囲外です。"
  • 400 無効な要求、UnsupportedHeader、"要求で指定されたヘッダーの 1 つがサポートされていません。"
  • 400 無効な要求、UnsupportedQueryParameter、"要求 URI で指定されたクエリ パラメーターの 1 つがサポートされていません。"
  • 400 無効な要求、UnsupportedRestVersion、"指定された Rest バージョンはサポートされていません。"
  • 403 Forbidden、AccountIsDisabled、"指定されたアカウントは無効になっています。"
  • 403 Forbidden、AuthorizationFailure、"この要求は、この操作を実行する権限がありません。"
  • 403 Forbidden、InsufficientAccountPermissions、"アクセスされているアカウントには、この操作を実行するための十分なアクセス許可がありません。"
  • 404 Not Found, FilesystemNotFound, "指定されたファイルシステムは存在しません。"
  • 404 Not Found、PathNotFound、"指定したパスが存在しません。"
  • 404 Not Found,RenameDestinationParentPathNotFound, "宛先パスの親ディレクトリが存在しません。"
  • 404 Not Found、ResourceNotFound、"指定されたリソースが存在しません。"
  • 404 Not Found、SourcePathNotFound、"名前変更操作のソース パスが存在しません。"
  • 405 メソッドは許可されていません。UnsupportedHttpVerb、"リソースは指定された HTTP 動詞をサポートしていません。"
  • 409 Conflict, DestinationPathIsBeingDeleted, "指定された宛先パスは削除対象としてマークされています。"
  • 409 Conflict, DirectoryNotEmpty, "空でないディレクトリを削除するには、再帰クエリ パラメーター値が true である必要があります。"
  • 409 Conflict, FilesystemAlreadyExists, "指定されたファイルシステムは既に存在します。"
  • 409 競合、FilesystemBeingDeleted、"指定されたファイルシステムが削除されています。"
  • 409 Conflict、InvalidDestinationPath、"指定したパス、またはパスの要素が存在し、そのリソースの種類がこの操作に対して無効です。"* 409 Conflict, InvalidFlushOperation, "リソースは Blob Service API によって作成または変更され、Data Lake Storage Service API によって書き込むことができません。"
  • 409 Conflict, InvalidRenameSourcePath, "ソース ディレクトリをコピー先ディレクトリと同じにすることも、コピー先をソース ディレクトリのサブディレクトリにすることもできません。"
  • 409 Conflict、InvalidSourceOrDestinationResourceType、"ソースとターゲットのリソースの種類は同じである必要があります。"
  • 409 Conflict,LeaseAlreadyPresent, "既にリースが存在しています。"
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation, "指定されたリース ID が、指定したリース操作を持つリソースのリース ID と一致しませんでした。"
  • 409 Conflict, LeaseIsAlreadyBroken, "リースは既に破損しており、再び分割することはできません。"
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired, "リース ID は一致しましたが、リースは現在中断状態であり、破損するまで取得できません。"
  • 409 Conflict, LeaseIsBreakingAndCannotBeChanged, "リース ID は一致しましたが、リースは現在中断状態であり、変更できません。"
  • 409 Conflict, LeaseIsBrokenAndCannotBeRenewed, "リース ID は一致しましたが、リースは明示的に破損しており、更新できません。"
  • 409 Conflict, LeaseNameMismatch, "指定されたリース名が既存のリース名と一致しませんでした。"
  • 409 競合、LeaseNotPresentWithLeaseOperation、"リース ID が指定されたリース操作に存在しません。"
  • 409 Conflict、PathAlreadyExists、"指定したパスは既に存在します。"
  • 409 Conflict、PathConflict、"指定されたパス、またはパスの要素が存在し、そのリソースの種類がこの操作に対して無効です。"
  • 409 Conflict, SourcePathIsBeingDeleted, "指定されたソース パスは削除対象としてマークされています。"
  • 409 Conflict、ResourceTypeMismatch、"要求で指定されたリソースの種類がリソースの種類と一致しません。"
  • 412 前提条件の失敗、ConditionNotMet、"HTTP 条件付きヘッダーを使用して指定された条件が満たされていません。"
  • 412 前提条件に失敗しました。LeaseIdMismatch、"指定されたリース ID がリソースのリース ID と一致しませんでした。"
  • 412 前提条件に失敗しました。LeaseIdMissing、「現在、リソースにリースがあり、要求でリース ID が指定されていませんでした」。
  • 412 前提条件に失敗しました。LeaseNotPresent、"現在、リソースにリースはありません。"
  • 412 前提条件に失敗しました。LeaseLost、"リース ID が指定されましたが、リソースのリースの有効期限が切れています。"
  • 412 前提条件の失敗、SourceConditionNotMet、"HTTP 条件付きヘッダーを使用して指定されたソース条件が満たされていません。"
  • 413 要求エンティティが大きすぎる、RequestBodyTooLarge、"要求本文が大きすぎて、許容される上限を超えています。"
  • 416 要求された範囲が満たされない、InvalidRange、"指定された範囲は、リソースの現在のサイズに対して無効です。"
  • 500 内部サーバー エラー、InternalError、"サーバーで内部エラーが発生しました。 要求を再試行してください。"
  • 500 内部サーバー エラー、OperationTimedOut、"許可された時間内に操作を完了できませんでした。"
  • 503 サービス利用不可、ServerBusy、"エグレスはアカウント制限を超えています。"
  • 503 サービス利用不可、ServerBusy、"イングレスがアカウント制限を超えています。"
  • 503 サービス利用不可、ServerBusy、"1 秒あたりの操作数がアカウント制限を超えています。"
  • 503 サービス利用不可、ServerBusy、"サーバーは現在要求を受信できません。 要求を再試行してください。"

Headers

  • x-ms-request-id: string
  • x-ms-version: string

定義

DataLakeStorageError
Error

サービス エラー応答オブジェクト。

PathRenameMode

省略可能。 名前空間が有効な場合にのみ有効です。 このパラメーターは、名前変更操作の動作を決定します。 値は "legacy" または "posix" である必要があり、既定値は "posix" になります。

PathResourceType

[ファイルの作成] と [ディレクトリの作成] にのみ必要です。 値は "file" または "directory" である必要があります。

DataLakeStorageError

Name Type Description
error

サービス エラー応答オブジェクト。

Error

サービス エラー応答オブジェクト。

Name Type Description
code
  • string

サービス のエラー コード。

message
  • string

サービス エラー メッセージ。

PathRenameMode

省略可能。 名前空間が有効な場合にのみ有効です。 このパラメーターは、名前変更操作の動作を決定します。 値は "legacy" または "posix" である必要があり、既定値は "posix" になります。

Name Type Description
legacy
  • string
posix
  • string

PathResourceType

[ファイルの作成] と [ディレクトリの作成] にのみ必要です。 値は "file" または "directory" である必要があります。

Name Type Description
directory
  • string
file
  • string