Path - Update
データの追加 |データのフラッシュ |プロパティの設定 |Access Controlの設定
ファイルに追加するデータのアップロード、以前にアップロードしたデータのファイルへのフラッシュ (書き込み)、ファイルまたはディレクトリのプロパティの設定、またはファイルまたはディレクトリのアクセス制御の設定を行います。 データはファイルにのみ追加できます。 複数のクライアントを使用した同じファイルへの同時書き込みはサポートされていません。 この操作では、条件付き HTTP 要求がサポートされます。 詳細については、「BLOB サービス操作の条件ヘッダーの指定」を参照してください。
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 |
ファイルシステム識別子。 正規表現パターン: |
path
|
path | True |
string |
ファイルまたはディレクトリのパス。 |
action
|
query | True |
ファイルに追加するデータをアップロードするには "追加" 、以前にアップロードしたデータをファイルにフラッシュするには "flush" 、ファイルまたはディレクトリのプロパティを設定するには "setProperties" 、ファイルまたはディレクトリの所有者、グループ、アクセス許可、またはアクセス制御リストを設定する場合は "setAccessControl" 、ディレクトリのアクセス制御リストを再帰的に設定するには "setAccessControlRecursive" を指定する必要があります。 アクセス制御を使用するには、アカウントに対して階層型名前空間を有効にする必要があることに注意してください。 また、Access Control リスト (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 |
省略可能で、"setAccessControlRecursive" 操作に対してのみ有効です。 ACL の変更が適用されるファイルまたはディレクトリの最大数を指定します。 省略した場合、または 2,000 を超える場合、要求は最大 2,000 個のアイテムを処理します |
|
mode
|
query |
string |
省略可能。 "setAccessControlRecursive" 操作に有効で必須です。 モード "set" は、ファイルとディレクトリに対する POSIX アクセス制御権限を設定し、"modify" はファイルとディレクトリに存在する 1 つ以上の POSIX アクセス制御権限を変更し、"remove" はファイルとディレクトリに以前に存在していた 1 つ以上の POSIX アクセス制御権限を削除します |
|
position
|
query |
integer int64 |
このパラメーターを使用すると、呼び出し元は並行してデータをアップロードし、ファイルに追加される順序を制御できます。 ファイルに追加するデータをアップロードするとき、および以前にアップロードしたデータをファイルにフラッシュするときに必要です。 値は、データを追加する位置である必要があります。 アップロードされたデータは、ファイルにすぐにフラッシュまたは書き込まれるわけではありません。 フラッシュするには、以前にアップロードしたデータが連続している必要があります。position パラメーターを指定し、すべてのデータが書き込まれた後のファイルの長さと同じにする必要があり、要求に含まれる要求エンティティ本文が存在しないようにする必要があります。 |
|
retain
|
query |
boolean |
フラッシュ操作に対してのみ有効です。 "true" の場合、コミットされていないデータはフラッシュ操作の完了後も保持されます。それ以外の場合、コミットされていないデータはフラッシュ操作の後に削除されます。 既定値は false です。 指定した位置より小さいオフセットのデータは、フラッシュが成功するとファイルに書き込まれますが、この省略可能なパラメーターを使用すると、フラッシュ位置の後のデータを将来のフラッシュ操作のために保持できます。 |
|
timeout
|
query |
integer int32 |
オプションの操作タイムアウト値 (秒単位)。 期間は、サービスが要求を受信したときに開始されます。 操作が完了する前にタイムアウト値が経過すると、操作は失敗します。 |
要求ヘッダー
Media Types: "application/octet-stream", "text/plain"
名前 | 必須 | 型 | 説明 |
---|---|---|---|
Content-Length |
integer int64 |
"データの追加" と "データのフラッシュ" には必須です。 "データのフラッシュ" には 0 にする必要があります。 "データの追加" の要求コンテンツの長さをバイト単位で指定する必要があります。 |
|
Content-MD5 |
string |
省略可能。 要求のコンテンツの MD5 ハッシュ。 このヘッダーは、"Append" および "Flush" 操作で有効です。 このハッシュは転送時の要求コンテンツの整合性を確認するために使用します。 このヘッダーを指定すると、ストレージ サービスによって、到達したコンテンツのハッシュと、このヘッダー値が比較されます。 2 つのハッシュが一致しない場合、操作はステータス コード 400 (Bad Request) で失敗します。 この MD5 ハッシュは ファイルと共に格納されないことに注意してください。 このヘッダーは、ファイル自体の格納されたコンテンツではなく、要求コンテンツに関連付けられています。 |
|
x-ms-lease-id |
string |
アクティブなリースがある場合は、リース 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 の "modify" モードは、既存の 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 |
[データのフラッシュ]、[Access Controlの設定]、[プロパティの設定] の場合は省略可能ですが、データの追加と再帰的な設定Access Control無効です。 ETag 値。 このヘッダーを指定すると、リソースの ETag が指定値と一致する場合に限り操作が実行されます。 ETag は引用符で指定する必要があります。 |
|
If-None-Match |
string |
[データのフラッシュ]、[Access Controlの設定]、[プロパティの設定] の場合は省略可能ですが、データの追加と再帰的な設定Access Control無効です。 ETag 値または特別なワイルドカード ("*") 値。 このヘッダーを指定すると、リソースの ETag が指定値と一致しない場合に限り操作が実行されます。 ETag は引用符で指定する必要があります。 |
|
If-Modified-Since |
string |
Flush Data プロパティと Set プロパティの場合は省略可能ですが、データの追加と再帰的な設定Access Control無効です。 日付と時刻の値。 指定した日時以降にリソースが変更された場合にのみ、このヘッダーを指定して操作を実行します。 |
|
If-Unmodified-Since |
string |
Flush Data プロパティと Set プロパティの場合は省略可能ですが、データの追加と再帰的な設定Access Control無効です。 日付と時刻の値。 指定した日時以降にリソースが変更されていない場合にのみ、このヘッダーを指定して操作を実行します。 |
|
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' の場合、リースが取得されます。 '自動更新' の場合は、リースが更新されます。 "acquire-release" の場合は、操作 & 完了 &、操作が完了したらリースを解放します。 'Release' アクションは、フラッシュ操作でのみサポートされます。 'true' の場合、x-ms-lease-id ヘッダーからリース ID 情報を使用してファイルのリースが解放されます。 |
|
x-ms-lease-duration |
integer int32 |
リースを取得するにはリース期間が必要であり、リース期間を秒単位で指定します。 リース期間は、15 秒から 60 秒の間、または無限リースの場合は -1 である必要があります。 |
|
x-ms-proposed-lease-id |
string |
"x-ms-lease-action" が "acquire" または "change" の場合は必須です。 操作が成功した場合、リースはこのリース ID で取得されます。 正規表現パターン: |
|
x-ms-client-request-id |
string |
トラブルシューティングと関連付けのために分析ログに記録された UUID。 正規表現パターン: |
|
x-ms-date |
string |
要求に対して協定世界時 (UTC) を指定します。 これは、共有キーの承認を使用する場合に必要です。 |
|
x-ms-version |
string |
要求の処理に使用される REST プロトコルのバージョンを指定します。 これは、共有キーの承認を使用する場合に必要です。 |
要求本文
Media Types: "application/octet-stream", "text/plain"
名前 | 型 | 説明 |
---|---|---|
requestBody |
object |
追加操作に対してのみ有効です。 アップロードしてファイルに追加するデータ。 |
応答
名前 | 型 | 説明 |
---|---|---|
200 OK |
データがファイルにフラッシュ (書き込まれた) か、プロパティが正常に設定されました。 応答本文は省略可能で、"SetAccessControlRecursive" に対してのみ有効です ヘッダー
|
|
202 Accepted |
アップロードされたデータが受け入れられました。 ヘッダー
|
|
Other Status Codes |
エラーが発生しました。 使用可能な HTTP 状態、コード、およびメッセージ文字列を次に示します。
ヘッダー
|
定義
名前 | 説明 |
---|---|
Acl |
|
Data |
|
Error |
サービス エラー応答オブジェクト。 |
Path |
追加およびフラッシュ操作のバージョン 2020-08-04 以降。 Append では、'acquire'、'auto-renew'、および 'acquire-release' アクションがサポートされています。 'acquire' の場合、リースが取得されます。 '自動更新' の場合は、リースが更新されます。 'acquire-release' の場合は、操作 & 完了 &、操作が完了したらリースを解放します。 'Release' アクションは、フラッシュ操作でのみサポートされます。 'true' の場合、x-ms-lease-id ヘッダーからリース ID 情報を使用してファイルのリースが解放されます。 |
Path |
ファイルに追加するデータをアップロードするには "append" 、以前にアップロードしたデータをファイルにフラッシュするには "flush" 、ファイルまたはディレクトリのプロパティを設定するには "setProperties" 、ファイルまたはディレクトリの所有者、グループ、アクセス許可、またはアクセス制御リストを設定する場合は "setAccessControl" 、ディレクトリのアクセス制御リストを再帰的に設定するには "setAccessControlRecursive" を指定する必要があります。 アクセス制御を使用するには、アカウントに対して階層型名前空間を有効にする必要があります。 また、Access Control リスト (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' の場合、リースが取得されます。 '自動更新' の場合は、リースが更新されます。 'acquire-release' の場合は、操作 & 完了 &、操作が完了したらリースを解放します。 'Release' アクションは、フラッシュ操作でのみサポートされます。 'true' の場合、x-ms-lease-id ヘッダーからリース ID 情報を使用してファイルのリースが解放されます。
名前 | 型 | 説明 |
---|---|---|
acquire |
string |
|
acquire-release |
string |
|
auto-renew |
string |
|
release |
string |
PathUpdateAction
ファイルに追加するデータをアップロードするには "append" 、以前にアップロードしたデータをファイルにフラッシュするには "flush" 、ファイルまたはディレクトリのプロパティを設定するには "setProperties" 、ファイルまたはディレクトリの所有者、グループ、アクセス許可、またはアクセス制御リストを設定する場合は "setAccessControl" 、ディレクトリのアクセス制御リストを再帰的に設定するには "setAccessControlRecursive" を指定する必要があります。 アクセス制御を使用するには、アカウントに対して階層型名前空間を有効にする必要があります。 また、Access Control リスト (ACL) には所有者、所有グループなどのアクセス許可が含まれているため、x-ms-permissions と x-ms-acl 要求ヘッダーは相互に排他的です。
名前 | 型 | 説明 |
---|---|---|
append |
string |
|
flush |
string |
|
setAccessControl |
string |
|
setAccessControlRecursive |
string |
|
setProperties |
string |
SetAccessControlRecursiveResponse
名前 | 型 | 説明 |
---|---|---|
directoriesSuccessful |
integer |
|
failedEntries | ||
failureCount |
integer |
|
filesSuccessful |
integer |