Path - Create

ファイルの作成 |ディレクトリの作成 |ファイル名の変更 |ディレクトリの名前を変更する
ファイルまたはディレクトリを作成または名前変更します。 既定では、宛先は上書きされ、宛先が既に存在し、リースがある場合、リースは切断されます。 ソース コンテナーに一致する強制コンテナー暗号化ポリシーがない限り、ファイルまたはディレクトリの名前をコンテナー暗号化ポリシーを適用したコンテナーに名前を変更することはできません。 この操作では、条件付き HTTP 要求がサポートされます。 詳細については、「Blob Service 操作の条件付きヘッダーの指定」を参照してください。 宛先が既に存在する場合に失敗するには、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

minLength: 3
maxLength: 63
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)

minimum: 1

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

要求ヘッダー

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

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

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

x-ms-source-lease-id

string

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

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

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

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

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

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-transaction-id

string

随意。 既定値は "空" です。 値が設定されている場合、ファイルの作成または名前の変更時に BLOB メタデータが設定されます。 クライアントの要求がタイムアウトした場合は、Get Properties 呼び出しを使用してこの値をフェッチして、タイムアウトした要求がサービス終了時に成功したかどうかを確認できます。 最大長 - 36。 アカウントに対して階層型名前空間が有効になっている場合にのみ有効です。

x-ms-client-request-id

string

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

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

x-ms-date

string

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

x-ms-version

string

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

応答

名前 型 説明
201 Created

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

ヘッダー

  • 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、"The Content-Length request header must be zero"
  • 400 Bad Request、InvalidAuthenticationInfo、"認証情報が正しい形式で指定されていません。 Authorization ヘッダーの値を確認してください。
  • 400 Bad Request、InvalidFlushPosition、"アップロードされたデータが連続していないか、位置クエリ パラメーターの値が、アップロードされたデータを追加した後のファイルの長さと等しくありません。"
  • 400 Bad Request、InvalidHeaderValue、"いずれかの HTTP ヘッダーの値が正しい形式ではありません。"
  • 400 Bad Request、InvalidHttpVerb、"指定された HTTP 動詞は無効です。サーバーによって認識されません。"
  • 400 無効な要求、InvalidInput、"要求入力の 1 つが無効です。"
  • 400 Bad Request、InvalidPropertyName、"A property name cannot be empty."
  • 400 Bad Request、InvalidPropertyName、"プロパティ名に無効な文字が含まれています。"
  • 400 Bad Request、InvalidQueryParameterValue、"要求 URI で指定されたクエリ パラメーターの値が無効です。"
  • 400 Bad Request、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 Bad Request、UnsupportedHeader、"要求で指定されたヘッダーの 1 つがサポートされていません。"
  • 400 無効な要求、UnsupportedQueryParameter、"要求 URI で指定されたクエリ パラメーターの 1 つがサポートされていません。"
  • 400 無効な要求、UnsupportedRestVersion、"指定された Rest バージョンはサポートされていません。"
  • 403 Forbidden、AccountIsDisabled、"指定されたアカウントが無効になっています。"
  • 403 Forbidden、AuthorizationFailure、"この要求は、この操作を実行する権限がありません。"
  • 403 Forbidden、InsufficientAccountPermissions、"アクセスされているアカウントには、この操作を実行するための十分なアクセス許可がありません。"
  • 404 Not Found,FilesystemNotFound, "The specified filesystem does not exist." (指定されたファイルシステムが存在しません。)
  • 404 Not Found、PathNotFound、"指定したパスが存在しません。"
  • 404 Not Found,RenameDestinationParentPathNotFound, "The parent directory of the destination path does not exist."
  • 404 Not Found、ResourceNotFound、"指定されたリソースが存在しません。"
  • 404 Not Found、SourcePathNotFound、"名前変更操作のソース パスが存在しません。"
  • 405 メソッド Not Allowed、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 Conflict, LeaseNotPresentWithLeaseOperation, "リース ID が指定されたリース操作と共に存在しません。"
  • 409 Conflict、PathAlreadyExists、"指定したパスは既に存在します。"
  • 409 Conflict、PathConflict、"指定されたパス、またはパスの要素が存在し、そのリソースの種類がこの操作に対して無効です。"
  • 409 競合、SourcePathIsBeingDeleted、"指定されたソース パスは削除対象としてマークされています。"
  • 409 Conflict、ResourceTypeMismatch、"要求で指定されたリソースの種類がリソースの種類と一致しません。"
  • 412 前提条件の失敗、ConditionNotMet、"HTTP 条件付きヘッダーを使用して指定された条件が満たされていません。"
  • 412 前提条件に失敗しました。LeaseIdMismatch、"指定されたリース ID がリソースのリース ID と一致しませんでした。"
  • 412 前提条件に失敗しました。LeaseIdMissing。"現在、リソースにリースがあり、要求でリース ID が指定されていません。
  • 412 前提条件に失敗しました。LeaseNotPresent、"現在、リソースにリースはありません。"
  • 412 前提条件に失敗しました。LeaseLost、"リース ID が指定されましたが、リソースのリースの有効期限が切れています。"
  • 412 Precondition Failed、SourceConditionNotMet、"HTTP 条件付きヘッダーを使用して指定されたソース条件が満たされていません。"
  • 413 要求エンティティが大きすぎる、RequestBodyTooLarge、"要求本文が大きすぎて、許容される上限を超えています。"
  • 416 要求された範囲が満たされていません。InvalidRange、"指定された範囲は、リソースの現在のサイズに対して無効です。"
  • 500 内部サーバー エラー、InternalError、"サーバーで内部エラーが発生しました。 要求を再試行してください。
  • 500 内部サーバー エラー、OperationTimedOut、"許可された時間内に操作を完了できませんでした。"
  • 503 サービス利用不可、ServerBusy、"エグレスがアカウント制限を超えています。"
  • 503 サービス利用不可、ServerBusy、"イングレスがアカウントの制限を超えています。"
  • 503 サービス利用不可、ServerBusy、"1 秒あたりの操作数がアカウントの制限を超えています。"
  • 503 サービス利用不可、ServerBusy、"サーバーは現在要求を受信できません。 要求を再試行してください。

ヘッダー

  • 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
posix

PathResourceType

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

値 説明
directory
file