Path - Update
データの追加 |データのフラッシュ |プロパティの設定 |アクセス制御の設定
ファイルに追加するデータのアップロード、以前にアップロードしたデータのファイルへのフラッシュ (書き込み)、ファイルまたはディレクトリのプロパティの設定、またはファイルまたはディレクトリのアクセス制御の設定を行います。 データはファイルにのみ追加できます。 複数のクライアントを使用した同じファイルへの同時書き込みはサポートされていません。 この操作では、条件付き HTTP 要求がサポートされます。 詳細については、「Blob Service 操作の条件付きヘッダーの指定」を参照してください。
PATCH https://{accountName}.{dnsSuffix}/{filesystem}/{path}?action={action}
PATCH https://{accountName}.{dnsSuffix}/{filesystem}/{path}?action={action}&position={position}&retainUncommittedData={retainUncommittedData}&close={close}&mode={mode}&maxRecords={maxRecords}&forceFlag={forceFlag}&continuation={continuation}&flush={flush}&timeout={timeout}
URI パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
account
|
path | True |
string |
Azure Storage アカウント名。 |
dns
|
path | True |
string |
Azure Data Lake Storage エンドポイントの DNS サフィックス。 |
filesystem
|
path | True |
string minLength: 3maxLength: 63 pattern: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$ |
ファイルシステム識別子。 |
path
|
path | True |
string |
ファイルまたはディレクトリのパス。 |
action
|
query | True |
ファイルに追加するデータをアップロードするには"追加"、以前にアップロードしたデータをファイルにフラッシュするには "flush"、ファイルまたはディレクトリのプロパティを設定するには "setProperties"、ファイルまたはディレクトリの所有者、グループ、アクセス許可、またはアクセス制御リストを設定するには "setAccessControl"、ディレクトリのアクセス制御リストを再帰的に設定するには "setAccessControlRecursive" を指定する必要があります。 アクセス制御を使用するには、アカウントに対して階層型名前空間を有効にする必要があることに注意してください。 また、アクセス制御リスト (ACL) には所有者、所有グループなどのアクセス許可が含まれているため、x-ms-permissions 要求ヘッダーと x-ms-acl 要求ヘッダーは相互に排他的であることにも注意してください。 |
|
close
|
query |
boolean |
Azure Storage イベントを使用すると、ファイルが変更されたときにアプリケーションが通知を受信できます。 Azure Storage イベントを有効にすると、ファイル変更イベントが発生します。 このイベントには、ファイル ストリームへの中間フラッシュとファイル ストリームの最後の閉じとの違いを区別するための最終的な変更であるかどうかを示すプロパティがあります。 close クエリ パラメーターは、アクションが "フラッシュ" であり、変更通知が有効になっている場合にのみ有効です。 close の値が "true" で、フラッシュ操作が正常に完了した場合、サービスは、これが最終更新 (ファイル ストリームが閉じられた) であることを示すプロパティを含むファイル変更通知を生成します。 "false" の場合、ファイルが変更されたことを示す変更通知が発生します。 既定値は false です。 このクエリ パラメーターは、Hadoop ABFS ドライバーによって true に設定され、ファイル ストリームが閉じられたことを示します。 |
|
continuation
|
query |
string |
省略可能で、"setAccessControlRecursive" 操作に対してのみ有効です。 各呼び出しで処理されるパスの数は限られています。 処理するパスの数がこの制限を超えると、応答ヘッダー x-ms-continuation に継続トークンが返されます。 応答で継続トークンが返される場合は、そのトークンをパーセントエンコードし、setAccessControlRecursive 操作の後続の呼び出しで指定する必要があります。 |
|
flush
|
query |
boolean |
追加呼び出しに対してのみ有効です。 このパラメーターを使用すると、呼び出し元は追加呼び出し中にフラッシュできます。 既定値は "false" です。"true" の場合、データは追加呼び出しでフラッシュされます。 flush=true を使用する場合、"x-ms-cache-control"、"x-ms-content-encoding"、"x-ms-content-type"、"x-ms-content-language"、"x-ms-content-md5"、"x-ms-content-disposition" の各ヘッダーはサポートされません。 フラッシュ中にこれらのヘッダーを設定するには、action=flush を使用してください |
|
force
|
query |
boolean |
省略可能で、"setAccessControlRecursive" 操作に対してのみ有効です。 これが "false" の場合、ユーザー エラー (4XX) が発生すると高速に終了します。 "true" の場合、API はユーザー エラーを無視し、ディレクトリの他のサブエンティティに対する操作を続行します。 どちらのシナリオの応答でも、ユーザー エラーの詳細な状態が返されます。 継続トークンは、ユーザー エラーが発生した場合に forceFlag が "true" の場合にのみ返されます。 forceFlag の既定値は false です。 |
|
max
|
query |
integer (int32) minimum: 1 |
省略可能で、"setAccessControlRecursive" 操作に対してのみ有効です。 ACL の変更が適用されるファイルまたはディレクトリの最大数を指定します。 省略した場合、または 2,000 を超える場合、要求は最大 2,000 個の項目を処理します |
|
mode
|
query |
string |
随意。 有効で、"setAccessControlRecursive" 操作に必要です。 モード "set" はファイルとディレクトリに対する POSIX アクセス制御権限を設定し、"modify" はファイルとディレクトリにあらかじめ存在する 1 つ以上の POSIX アクセス制御権限を変更し、"削除" は、ファイルとディレクトリに以前に存在していた 1 つ以上の POSIX アクセス制御権限を削除します |
|
position
|
query |
integer (int64) |
このパラメーターを使用すると、呼び出し元はデータを並行してアップロードし、ファイルに追加する順序を制御できます。 ファイルに追加するデータをアップロードするとき、および以前にアップロードしたデータをファイルにフラッシュするときに必要です。 値は、データを追加する位置である必要があります。 アップロードされたデータは、ファイルにすぐにフラッシュされたり書き込まれたりしません。 フラッシュするには、以前にアップロードしたデータが連続している必要があります。position パラメーターは、すべてのデータが書き込まれた後のファイルの長さと同じ長さに指定する必要があり、要求に含まれる要求エンティティ本文が存在してはなりません。 |
|
retain
|
query |
boolean |
フラッシュ操作に対してのみ有効です。 "true" の場合、コミットされていないデータはフラッシュ操作の完了後も保持されます。それ以外の場合、コミットされていないデータはフラッシュ操作の後に削除されます。 既定値は false です。 指定した位置より小さいオフセットのデータは、フラッシュが成功するとファイルに書き込まれますが、この省略可能なパラメーターを使用すると、フラッシュ位置の後のデータを将来のフラッシュ操作のために保持できます。 |
|
timeout
|
query |
integer (int32) minimum: 1 |
オプションの操作タイムアウト値 (秒単位)。 期間は、サービスが要求を受信したときに開始されます。 操作が完了する前にタイムアウト値が経過すると、操作は失敗します。 |
要求ヘッダー
Media Types: "application/octet-stream", "text/plain"
名前 | 必須 | 型 | 説明 |
---|---|---|---|
Content-Length |
integer (int64) minimum: 0 |
"データの追加" と "データのフラッシュ" に必要です。 "データのフラッシュ" には 0 にする必要があります。 "データの追加" の要求コンテンツの長さをバイト単位で指定する必要があります。 |
|
Content-MD5 |
string |
随意。 要求コンテンツの MD5 ハッシュ。 このヘッダーは、"Append" および "Flush" 操作で有効です。 このハッシュは、トランスポート中に要求コンテンツの整合性を検証するために使用されます。 このヘッダーを指定すると、ストレージ サービスは、到着したコンテンツのハッシュをこのヘッダー値と比較します。 2 つのハッシュが一致しない場合、操作はエラー コード 400 (無効な要求) で失敗します。 この MD5 ハッシュはファイルと共に格納されないことに注意してください。 このヘッダーは、ファイル自体の格納されたコンテンツではなく、要求コンテンツに関連付けられます。 |
|
x-ms-lease-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
アクティブなリースがある場合は、リース ID を指定する必要があります。 "setAccessControlRecursive" 操作では無効です。 |
|
x-ms-cache-control |
string |
省略可能で、フラッシュおよびプロパティの設定操作でのみ有効です。 この値はサービスによって格納され、"ファイルの読み取り" 操作の "Cache-Control" 応答ヘッダーに含まれます。 |
|
x-ms-content-type |
string |
省略可能で、フラッシュおよびプロパティの設定操作でのみ有効です。 サービスはこの値を格納し、"ファイルの読み取り" 操作の "Content-Type" 応答ヘッダーに含めます。 |
|
x-ms-content-disposition |
string |
省略可能で、フラッシュおよびプロパティの設定操作でのみ有効です。 この値はサービスによって格納され、"ファイルの読み取り" 操作の "Content-Disposition" 応答ヘッダーに含まれます。 |
|
x-ms-content-encoding |
string |
省略可能で、フラッシュおよびプロパティの設定操作でのみ有効です。 この値はサービスによって格納され、"ファイルの読み取り" 操作の "Content-Encoding" 応答ヘッダーに含まれます。 |
|
x-ms-content-language |
string |
省略可能で、フラッシュおよびプロパティの設定操作でのみ有効です。 サービスはこの値を格納し、"ファイルの読み取り" 操作の "Content-Language" 応答ヘッダーに含めます。 |
|
x-ms-content-md5 |
string |
省略可能で、"Flush and Set Properties" 操作でのみ有効です。 サービスはこの値を格納し、"プロパティの読み取りと取得" 操作の "Content-Md5" 応答ヘッダーに含めます。 要求でこのプロパティが指定されていない場合、ファイルのプロパティはクリアされます。 "読み取りと取得プロパティ" の後続の呼び出しでは、そのファイルに対して明示的に設定されていない限り、このプロパティは返されません。 |
|
x-ms-properties |
string |
随意。 名前と値のペアのコンマ区切りリスト "n1=v1, n2=v2, ..."の形式で、ファイルまたはディレクトリと共に格納されるユーザー定義プロパティ。各値は base64 でエンコードされた文字列です。 文字列には、ISO-8859-1 文字セット内の ASCII 文字のみを含める場合があることに注意してください。 setProperties 操作に対してのみ有効です。 ファイルまたはディレクトリが存在する場合、リストに含まれていないプロパティは削除されます。 ヘッダーを省略すると、すべてのプロパティが削除されます。 新規および既存のプロパティをマージするには、まず、すべての既存のプロパティと現在の E-Tag を取得してから、E-Tag を使用して条件付き要求を行い、すべてのプロパティの値を含めます。 |
|
x-ms-owner |
string |
省略可能で、setAccessControl 操作に対してのみ有効です。 ファイルまたはディレクトリの所有者を設定します。 |
|
x-ms-group |
string |
省略可能で、setAccessControl 操作に対してのみ有効です。 ファイルまたはディレクトリの所有グループを設定します。 |
|
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-acl |
string |
省略可能で、setAccessControl 操作と setAccessControlRecursive 操作に対してのみ有効です。 setAccessControlRecursive 操作に必要です。 ファイルとディレクトリに対する POSIX アクセス制御権限を設定します。 この値は、setAccessControl および setAccessControlRecursive の "set" モードの場合に、既存のアクセス制御リスト (ACL) を完全に置き換える、アクセス制御エントリのコンマ区切りのリストです。 setAccessControlRecursive の "変更" モードは、既存の ACLS を更新します。 各アクセス制御エントリ (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 と組み合わせて無効です。 setAccessControlRecursive の "remove" モードでは、既存の ACL が削除され、"user:john.doe@contoso:, mask:" という指定されたアクセス制御リストにアクセス許可を含めてはなりません。 setAccessControlRecursive の "set" モードは、指定されたスコープの既存の ACL を置き換える ACL を設定します。アクセス スコープが設定されている場合、または所有しているユーザー、所有グループ、またはその他のいずれかが既定のスコープで設定されている場合は、所有ユーザー、所有グループ、およびその他の 3 つの情報をすべて含める必要があります。 setAccessControlRecursive の "set" モードと "modify" モードには、アクセス制御リストの一部としてアクセス許可が含まれている必要があります。 |
|
If-Match |
string |
[データのフラッシュ]、[アクセス制御の設定]、[プロパティの設定] の場合は省略可能ですが、データの追加とアクセス制御の再帰的な設定では無効です。 ETag 値。 リソースの ETag が指定された値と一致する場合にのみ、このヘッダーを指定して操作を実行します。 ETag は引用符で囲む必要があります。 |
|
If-None-Match |
string |
[データのフラッシュ]、[アクセス制御の設定]、[プロパティの設定] の場合は省略可能ですが、データの追加とアクセス制御の再帰的な設定では無効です。 ETag 値または特別なワイルドカード ("*") 値。 リソースの ETag が指定された値と一致しない場合にのみ、このヘッダーを指定して操作を実行します。 ETag は引用符で囲む必要があります。 |
|
If-Modified-Since |
string |
フラッシュ データとセットのプロパティの場合は省略可能ですが、データの追加とアクセス制御の再帰的な設定には無効です。 日付と時刻の値。 指定した日時以降にリソースが変更された場合にのみ、このヘッダーを指定して操作を実行します。 |
|
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-lease-action | True |
追加操作とフラッシュ操作でバージョン 2020-08-04 以降。 Append では、'acquire'、'auto-renew' および 'acquire-release' アクションがサポートされます。 "取得" すると、リースが取得されます。 '自動更新' の場合は、リースが更新されます。 'acquire-release' の場合、操作 & 完了 &、操作が完了するとリースが解放されます。 'Release' アクションは、フラッシュ操作でのみサポートされます。 'true' の場合、x-ms-lease-id ヘッダーからリース ID 情報を使用してファイルのリースを解放します。 |
|
x-ms-lease-duration |
integer (int32) |
リースを取得するにはリース期間が必要であり、リースの期間を秒単位で指定します。 リース期間は、15 ~ 60 秒、または無限リースの場合は -1 にする必要があります。 |
|
x-ms-proposed-lease-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
"x-ms-lease-action" が "acquire" または "change" の場合に必要です。 操作が成功した場合、リースはこのリース ID で取得されます。 |
|
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 プロトコルのバージョンを指定します。 これは、共有キーの承認を使用する場合に必要です。 |
要求本文
Media Types: "application/octet-stream", "text/plain"
名前 | 型 | 説明 |
---|---|---|
requestBody |
object (file) |
追加操作に対してのみ有効です。 アップロードしてファイルに追加するデータ。 |
応答
名前 | 型 | 説明 |
---|---|---|
200 OK |
データがファイルにフラッシュ (書き込まれた) か、プロパティが正常に設定されました。 応答本文は省略可能で、"SetAccessControlRecursive" に対してのみ有効です ヘッダー
|
|
202 Accepted |
アップロードされたデータが受け入れられました。 ヘッダー
|
|
Other Status Codes |
エラーが発生しました。 可能な HTTP 状態、コード、およびメッセージ文字列を次に示します。
ヘッダー
|
定義
名前 | 説明 |
---|---|
Acl |
|
Data |
|
Error |
サービス エラー応答オブジェクト。 |
Path |
追加操作とフラッシュ操作でバージョン 2020-08-04 以降。 Append では、'acquire'、'auto-renew' および 'acquire-release' アクションがサポートされます。 "取得" すると、リースが取得されます。 '自動更新' の場合は、リースが更新されます。 'acquire-release' の場合、操作 & 完了 &、操作が完了するとリースが解放されます。 'Release' アクションは、フラッシュ操作でのみサポートされます。 'true' の場合、x-ms-lease-id ヘッダーからリース ID 情報を使用してファイルのリースを解放します。 |
Path |
ファイルに追加するデータをアップロードするには"追加"、以前にアップロードしたデータをファイルにフラッシュするには "flush"、ファイルまたはディレクトリのプロパティを設定するには "setProperties"、ファイルまたはディレクトリの所有者、グループ、アクセス許可、またはアクセス制御リストを設定するには "setAccessControl"、ディレクトリのアクセス制御リストを再帰的に設定するには "setAccessControlRecursive" を指定する必要があります。 アクセス制御を使用するには、アカウントに対して階層型名前空間を有効にする必要があることに注意してください。 また、アクセス制御リスト (ACL) には所有者、所有グループなどのアクセス許可が含まれているため、x-ms-permissions 要求ヘッダーと x-ms-acl 要求ヘッダーは相互に排他的であることにも注意してください。 |
Set |
AclFailedEntryList
名前 | 型 | 説明 |
---|---|---|
errorMessage |
string |
|
name |
string |
|
type |
string |
DataLakeStorageError
名前 | 型 | 説明 |
---|---|---|
error |
サービス エラー応答オブジェクト。 |
Error
サービス エラー応答オブジェクト。
名前 | 型 | 説明 |
---|---|---|
code |
string |
サービス エラー コード。 |
message |
string |
サービス エラー メッセージ。 |
PathLeaseAction
追加操作とフラッシュ操作でバージョン 2020-08-04 以降。 Append では、'acquire'、'auto-renew' および 'acquire-release' アクションがサポートされます。 "取得" すると、リースが取得されます。 '自動更新' の場合は、リースが更新されます。 'acquire-release' の場合、操作 & 完了 &、操作が完了するとリースが解放されます。 'Release' アクションは、フラッシュ操作でのみサポートされます。 'true' の場合、x-ms-lease-id ヘッダーからリース ID 情報を使用してファイルのリースを解放します。
値 | 説明 |
---|---|
acquire | |
acquire-release | |
auto-renew | |
release |
PathUpdateAction
ファイルに追加するデータをアップロードするには"追加"、以前にアップロードしたデータをファイルにフラッシュするには "flush"、ファイルまたはディレクトリのプロパティを設定するには "setProperties"、ファイルまたはディレクトリの所有者、グループ、アクセス許可、またはアクセス制御リストを設定するには "setAccessControl"、ディレクトリのアクセス制御リストを再帰的に設定するには "setAccessControlRecursive" を指定する必要があります。 アクセス制御を使用するには、アカウントに対して階層型名前空間を有効にする必要があることに注意してください。 また、アクセス制御リスト (ACL) には所有者、所有グループなどのアクセス許可が含まれているため、x-ms-permissions 要求ヘッダーと x-ms-acl 要求ヘッダーは相互に排他的であることにも注意してください。
値 | 説明 |
---|---|
append | |
flush | |
setAccessControl | |
setAccessControlRecursive | |
setProperties |
SetAccessControlRecursiveResponse
名前 | 型 | 説明 |
---|---|---|
directoriesSuccessful |
integer (int32) |
|
failedEntries | ||
failureCount |
integer (int32) |
|
filesSuccessful |
integer (int32) |