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 パラメーター

名前 / 必須 説明
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

PathRenameMode

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

resource
query

PathResourceType

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

timeout
query

integer

int32

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

要求ヘッダー

Media Types: "application/octet-stream"

名前 必須 説明
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

名前を変更するオプションのファイルまたはディレクトリ。 SAS トークンを使用する場合、値の形式は "/{filesystem}/{path}"、または "/{filesystem}/{path}?sastoken" である必要があります。 "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 Time String または expiry-option に従ったミリ秒数として指定されます。

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

省略可能。 既定値は "空" です。 値が設定されている場合は、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 プロトコルのバージョンを指定します。 これは、共有キーの承認を使用する場合に必要です。

応答

名前 説明
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

DataLakeStorageError

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

  • 400 Bad Request、ContentLengthMustBeZero、"Content-Length 要求ヘッダーは 0 である必要があります。
  • 400 無効な要求、InvalidAuthenticationInfo、"認証情報が正しい形式で指定されていません。 Authorization ヘッダーの値を確認してください。"
  • 400 無効な要求、InvalidFlushPosition、"アップロードされたデータが連続していないか、位置クエリ パラメーターの値が、アップロードされたデータを追加した後のファイルの長さと等しくありません。"
  • 400 無効な要求、InvalidHeaderValue、"HTTP ヘッダーの 1 つの値が正しい形式ではありません。"
  • 400 無効な要求、InvalidHttpVerb、"指定された HTTP 動詞は無効です。サーバーによって認識されません。"
  • 400 無効な要求、InvalidInput、"要求入力の 1 つが無効です。
  • 400 無効な要求、InvalidPropertyName、"プロパティ名を空にすることはできません。"
  • 400 Bad Request、InvalidPropertyName、"プロパティ名に無効な文字が含まれています。"
  • 400 無効な要求、InvalidQueryParameterValue、"要求 URI で指定されたクエリ パラメーターの 1 つの値が無効です。
  • 400 無効な要求、InvalidResourceName、"指定されたリソース名に無効な文字が含まれています。
  • 400 無効な要求、InvalidSourceUri、"ソース URI が無効です。
  • 400 無効な要求、InvalidUri、"要求 URI が無効です。
  • 400 Bad Request、MissingRequiredHeader、"この要求に必須の HTTP ヘッダーが指定されていません。"
  • 400 Bad Request、MissingRequiredQueryParameter、"この要求に必須のクエリ パラメーターが指定されていません。
  • 400 無効な要求、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 メソッド Not Allowed、UnsupportedHttpVerb、"リソースは指定された HTTP 動詞をサポートしていません。"
  • 409 Conflict、DestinationPathIsBeingDeleted、"指定された宛先パスは削除済みとしてマークされています。"
  • 409 Conflict, DirectoryNotEmpty, "再帰的なクエリ パラメーター値は、空でないディレクトリを削除するには true である必要があります。"
  • 409 競合、FilesystemAlreadyExists、"指定されたファイルシステムは既に存在します。
  • 409 競合、FilesystemBeingDeleted、"指定されたファイルシステムが削除されています。"
  • 409 Conflict、InvalidDestinationPath、"指定されたパス、またはパスの要素が存在し、そのリソースの種類がこの操作に対して無効です。* 409 Conflict, InvalidFlushOperation, "リソースは Blob Service API によって作成または変更され、Data Lake Storage サービス API によって書き込むことができません。"
  • 409 Conflict, InvalidRenameSourcePath, "source directory cannot be same as the destination directory, or can be a サブディレクトリ of the source directory."
  • 409 Conflict、InvalidSourceOrDestinationResourceType、"ソースとターゲットのリソースの種類は同じである必要があります。"
  • 409 競合、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

名前 説明
error

Error

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

Error

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

名前 説明
code

string

サービス エラー コード。

message

string

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

PathRenameMode

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

名前 説明
legacy

string

posix

string

PathResourceType

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

名前 説明
directory

string

file

string