Path - Update
Anexar datos | Vaciar datos | Establecer propiedades | Establecer control de acceso
Carga los datos que se van a anexar a un archivo, vacía (escrituras) datos cargados previamente en un archivo, establece las propiedades de un archivo o directorio, o establece el control de acceso para un archivo o directorio. Los datos solo se pueden anexar a un archivo. No se admiten escrituras simultáneas en el mismo archivo mediante varios clientes. Esta operación admite solicitudes HTTP condicionales. Para obtener más información, consulte Especificación de encabezados condicionales para operaciones de 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}
Parámetros de identificador URI
Nombre | En | Requerido | Tipo | Description |
---|---|---|---|---|
account
|
path | True |
string |
Nombre de la cuenta de Azure Storage. |
dns
|
path | True |
string |
Sufijo DNS para el punto de conexión de Azure Data Lake Storage. |
filesystem
|
path | True |
string minLength: 3maxLength: 63 pattern: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$ |
Identificador del sistema de archivos. |
path
|
path | True |
string |
Ruta de acceso del archivo o directorio. |
action
|
query | True |
La acción debe ser "anexar" para cargar datos que se van a anexar a un archivo, "vaciar" para vaciar los datos cargados previamente en un archivo, "setProperties" para establecer las propiedades de un archivo o directorio, o "setAccessControl" para establecer el propietario, grupo, permisos o lista de control de acceso para un archivo o directorio, o "setAccessControlRecursive" para establecer la lista de control de acceso de un directorio de forma recursiva. Tenga en cuenta que el espacio de nombres jerárquico debe estar habilitado para la cuenta para poder usar el control de acceso. Tenga en cuenta también que la lista de control de acceso (ACL) incluye permisos para el propietario, el grupo propietario y otros, por lo que los encabezados de solicitud x-ms-permissions y x-ms-acl son mutuamente excluyentes. |
|
close
|
query |
boolean |
Los eventos de Azure Storage permiten a las aplicaciones recibir notificaciones cuando cambian los archivos. Cuando se habilitan los eventos de Azure Storage, se genera un evento de cambio de archivo. Este evento tiene una propiedad que indica si este es el cambio final para distinguir la diferencia entre un vaciado intermedio a una secuencia de archivos y el cierre final de una secuencia de archivos. El parámetro close query solo es válido cuando la acción es "vaciada" y se habilitan las notificaciones de cambio. Si el valor de close es "true" y la operación de vaciado se completa correctamente, el servicio genera una notificación de cambio de archivo con una propiedad que indica que se trata de la actualización final (se ha cerrado la secuencia de archivos). Si se produce una notificación de cambio "false" que indica que el archivo ha cambiado. El valor predeterminado es false. El controlador ABFS de Hadoop establece este parámetro de consulta en true para indicar que se ha cerrado la secuencia de archivos". |
|
continuation
|
query |
string |
Opcional y válido solo para la operación "setAccessControlRecursive". El número de rutas de acceso procesadas con cada invocación es limitada. Si el número de rutas de acceso que se van a procesar supera este límite, se devuelve un token de continuación en el encabezado de respuesta x-ms-continuation. Cuando se devuelve un token de continuación en la respuesta, debe codificarse por porcentaje y especificarse en una invocación posterior de la operación setAccessControlRecursive. |
|
flush
|
query |
boolean |
Válido solo para llamadas anexas. Este parámetro permite que el autor de la llamada vacíe durante una llamada anexada. El valor predeterminado es "false", si "true" los datos se vaciarán con la llamada a append. Tenga en cuenta que, al usar flush=true, no se admiten los encabezados siguientes: "x-ms-cache-control", "x-ms-content-encoding", "x-ms-content-type", "x-ms-content-language", "x-ms-content-md5", "x-ms-content-disposition". Para establecer estos encabezados durante el vaciado, use action=flush. |
|
force
|
query |
boolean |
Opcional y válido solo para la operación "setAccessControlRecursive". Si se trata de una operación "false" finalizará rápidamente al encontrar errores de usuario (4XX). Si es "true", la API omitirá los errores de usuario y continuará con la operación en otras subentidades del directorio. El estado detallado de los errores de usuario se devolverá en la respuesta de cualquiera de los escenarios. El token de continuación solo se devolverá cuando forceFlag sea "true" en caso de errores de usuario. El valor predeterminado de forceFlag es false. |
|
max
|
query |
integer (int32) minimum: 1 |
Opcional y válido solo para la operación "setAccessControlRecursive". Especifica el número máximo de archivos o directorios en los que se aplicará el cambio de acl. Si se omite o superior a 2000, la solicitud procesará hasta 2000 elementos. |
|
mode
|
query |
string |
Opcional. Válido y necesario para la operación "setAccessControlRecursive". El modo "set" establece los derechos de control de acceso POSIX en archivos y directorios, "modify" modifica uno o varios derechos de control de acceso POSIX que existen previamente en archivos y directorios, "remove" quita uno o varios derechos de control de acceso POSIX que estaban presentes anteriormente en archivos y directorios. |
|
position
|
query |
integer (int64) |
Este parámetro permite al autor de la llamada cargar datos en paralelo y controlar el orden en el que se anexa al archivo. Es necesario al cargar datos para anexarse al archivo y al vaciar los datos cargados anteriormente en el archivo. El valor debe ser la posición donde se van a anexar los datos. Los datos cargados no se vacían ni escriben inmediatamente en el archivo. Para vaciar, los datos cargados anteriormente deben ser contiguos, el parámetro position debe especificarse y ser igual a la longitud del archivo después de que se hayan escrito todos los datos y no debe haber un cuerpo de entidad de solicitud incluido con la solicitud. |
|
retain
|
query |
boolean |
Válido solo para las operaciones de vaciado. Si es "true", los datos no confirmados se conservan una vez completada la operación de vaciado; De lo contrario, los datos no confirmados se eliminan después de la operación de vaciado. El valor predeterminado es false. Los datos en desplazamientos inferiores a la posición especificada se escriben en el archivo cuando el vaciado se realiza correctamente, pero este parámetro opcional permite que los datos después de la posición de vaciado se conserven para una operación de vaciado futura. |
|
timeout
|
query |
integer (int32) minimum: 1 |
Valor de tiempo de espera de operación opcional en segundos. El período comienza cuando el servicio recibe la solicitud. Si el valor de tiempo de espera transcurre antes de que se complete la operación, se produce un error en la operación. |
Encabezado de la solicitud
Media Types: "application/octet-stream", "text/plain"
Nombre | Requerido | Tipo | Description |
---|---|---|---|
Content-Length |
integer (int64) minimum: 0 |
Necesario para "Anexar datos" y "Vaciar datos". Debe ser 0 para "Vaciar datos". Debe ser la longitud del contenido de la solicitud en bytes para "Append Data". |
|
Content-MD5 |
string |
Opcional. Hash MD5 del contenido de la solicitud. Este encabezado es válido en las operaciones "Append" y "Flush". Este hash se usa para comprobar la integridad del contenido de la solicitud durante el transporte. Cuando se especifica este encabezado, el servicio de almacenamiento compara el hash del contenido que ha llegado con este valor de encabezado. Si los dos hash no coinciden, se producirá un error en la operación con el código de error 400 (solicitud incorrecta). Tenga en cuenta que este hash MD5 no se almacena con el archivo . Este encabezado está asociado al contenido de la solicitud y no al contenido almacenado del propio archivo. |
|
x-ms-lease-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
El identificador de concesión debe especificarse si hay una concesión activa. No es válido para las operaciones "setAccessControlRecursive". |
|
x-ms-cache-control |
string |
Opcional y solo válido para las operaciones de vaciado y establecimiento de propiedades. El servicio almacena este valor e lo incluye en el encabezado de respuesta "Cache-Control" para las operaciones "Read File". |
|
x-ms-content-type |
string |
Opcional y solo válido para las operaciones de vaciado y establecimiento de propiedades. El servicio almacena este valor e lo incluye en el encabezado de respuesta "Content-Type" para las operaciones "Read File". |
|
x-ms-content-disposition |
string |
Opcional y solo válido para las operaciones de vaciado y establecimiento de propiedades. El servicio almacena este valor e lo incluye en el encabezado de respuesta "Content-Disposition" para las operaciones "Read File". |
|
x-ms-content-encoding |
string |
Opcional y solo válido para las operaciones de vaciado y establecimiento de propiedades. El servicio almacena este valor e lo incluye en el encabezado de respuesta "Content-Encoding" para las operaciones "Read File". |
|
x-ms-content-language |
string |
Opcional y solo válido para las operaciones de vaciado y establecimiento de propiedades. El servicio almacena este valor e lo incluye en el encabezado de respuesta "Content-Language" para las operaciones "Read File". |
|
x-ms-content-md5 |
string |
Opcional y solo es válido para las operaciones "Flush and Set Properties". El servicio almacena este valor e lo incluye en el encabezado de respuesta "Content-Md5" para las operaciones "Leer y obtener propiedades". Si no se especifica esta propiedad en la solicitud, la propiedad se borrará para el archivo. Las llamadas posteriores a "Read and Get Properties" no devolverán esta propiedad a menos que se establezca explícitamente en ese archivo de nuevo. |
|
x-ms-properties |
string |
Opcional. Propiedades definidas por el usuario que se van a almacenar con el archivo o directorio, en el formato de una lista separada por comas de pares de nombre y valor "n1=v1, n2=v2, ...", donde cada valor es una cadena codificada en base64. Tenga en cuenta que la cadena solo puede contener caracteres ASCII en el juego de caracteres ISO-8859-1. Válido solo para la operación setProperties. Si el archivo o directorio existe, se quitarán las propiedades no incluidas en la lista. Todas las propiedades se quitan si se omite el encabezado. Para combinar propiedades nuevas y existentes, primero obtenga todas las propiedades existentes y la etiqueta E-Tag actual, realice una solicitud condicional con E-Tag e incluya valores para todas las propiedades. |
|
x-ms-owner |
string |
Opcional y válido solo para la operación setAccessControl. Establece el propietario del archivo o directorio. |
|
x-ms-group |
string |
Opcional y válido solo para la operación setAccessControl. Establece el grupo propietario del archivo o directorio. |
|
x-ms-permissions |
string |
Opcional y solo válido si el espacio de nombres jerárquico está habilitado para la cuenta. Establece los permisos de acceso POSIX para el propietario del archivo, el grupo propietario del archivo y otros. A cada clase se le puede conceder permiso de lectura (4), escritura (2) o ejecución (1). Se admiten tanto la notación simbólica (rwxrw-rw-) como la notación octal de 4 dígitos (por ejemplo, 0766). El bit pegajoso también se admite y en notación simbólica, su representado por la letra t o T en el carácter final en función de si el bit de ejecución para la categoría de otros está establecido o no establecido respectivamente (por ejemplo, rwxrw-rw- con bit pegajoso se representa como rwxrw-rwT. Un rwxrw-rwx con bit pegajoso se representa como rwxrw-rwt), la ausencia de t o T indica que el bit pegajoso no está establecido. En notación octal de 4 dígitos, su representado por 1º dígito (por ejemplo, 1766 representa rwxrw-rw- con bit pegajoso y 0766 representa rwxrw-rw- sin bit pegajoso). No es válido junto con x-ms-acl. |
|
x-ms-acl |
string |
Opcional y válido solo para las operaciones setAccessControl y setAccessControlRecursive. Obligatorio para la operación setAccessControlRecursive. Establece los derechos de control de acceso POSIX en archivos y directorios. El valor es una lista separada por comas de entradas de control de acceso que reemplaza completamente la lista de control de acceso (ACL) existente en caso de setAccessControl y el modo "set" de setAccessControlRecursive. El modo "modify" de setAccessControlRecursive actualiza las ACLS preexistentes. Cada entrada de control de acceso (ACE) consta de un ámbito, un tipo, un identificador de usuario o grupo y permisos con el formato "[ámbito:][tipo]:[id]:[permisos]". El ámbito debe ser "predeterminado" para indicar que la ACE pertenece a la ACL predeterminada para un directorio; de lo contrario, el ámbito es implícito y la ACE pertenece a la ACL de acceso. Hay cuatro tipos ace: "usuario" concede derechos al propietario o a un usuario con nombre, "grupo" concede derechos al grupo propietario o a un grupo con nombre, "mask" restringe los derechos concedidos a los usuarios con nombre y a los miembros de grupos, y "otros" concede derechos a todos los usuarios no encontrados en ninguna de las demás entradas. El identificador de usuario o grupo se omite para las entradas de tipo "mask" y "other". El identificador de usuario o grupo también se omite para el propietario y el grupo propietario. El campo de permiso es una secuencia de 3 caracteres donde el primer carácter es "r" para conceder acceso de lectura, el segundo carácter es "w" para conceder acceso de escritura y el tercer carácter es "x" para conceder permiso de ejecución. Si no se concede acceso, el carácter "-" se usa para indicar que se deniega el permiso. Por ejemplo, la siguiente ACL concede derechos de lectura, escritura y ejecución al propietario del archivo y john.doe@contoso, el derecho de lectura al grupo propietario y nada a todos los demás: "user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask=rwx". No es válido junto con x-ms-permissions. El modo "remove" de setAccessControlRecursive quita las ACL preexistentes y no debe contener permisos en la lista de control de acceso especificada: "user:john.doe@contoso:, mask:". El modo "set" de setAccessControlRecursive establece las ACL que reemplazan las ACL preexistentes del ámbito especificado y deben contener los tres usuarios propietarios, el grupo propietario y otra información si se establece el ámbito de acceso o si alguno de los usuarios propietarios, el grupo propietario u otro se establece en el ámbito predeterminado. Los modos "set" y "modify" de setAccessControlRecursive deben contener permisos como parte de la lista de control de acceso. |
|
If-Match |
string |
Opcional para vaciar datos, establecer control de acceso y establecer propiedades, pero no es válido para Append Data and Set Access Control Recursive. Un valor ETag. Especifique este encabezado para realizar la operación solo si la ETag del recurso coincide con el valor especificado. El ETag debe especificarse entre comillas. |
|
If-None-Match |
string |
Opcional para vaciar datos, establecer control de acceso y establecer propiedades, pero no es válido para Append Data and Set Access Control Recursive. Un valor ETag o el carácter comodín especial ("*"). Especifique este encabezado para realizar la operación solo si la ETag del recurso no coincide con el valor especificado. El ETag debe especificarse entre comillas. |
|
If-Modified-Since |
string |
Opcional para Vaciar datos y establecer propiedades, pero no es válido para Append Data and Set Access Control Recursive. Valor de fecha y hora. Especifique este encabezado para realizar la operación solo si el recurso se ha modificado desde la fecha y hora especificadas. |
|
If-Unmodified-Since |
string |
Opcional para Vaciar datos y establecer propiedades, pero no es válido para Append Data and Set Access Control Recursive. Valor de fecha y hora. Especifique este encabezado para realizar la operación solo si el recurso no se ha modificado desde la fecha y hora especificadas. |
|
x-ms-encryption-key |
string |
Opcional. Clave de cifrado AES-256 codificada en Base64. |
|
x-ms-encryption-key-sha256 |
string |
Opcional. Hash SHA256 codificado en Base64 de la clave de cifrado. |
|
x-ms-encryption-algorithm: AES256 |
string |
Opcional. Especifica el algoritmo que se va a usar para el cifrado. El valor de este encabezado debe ser AES256. |
|
x-ms-lease-action | True |
A partir de la versión 2020-08-04 en operaciones de anexión y vaciado. Append admite la acción "acquire", "auto-renew" y "acquire-release". Si 'adquirir' adquirirá la concesión. Si "renovación automática", renovará la concesión. Si "acquire-release", adquirirá & completará la operación & liberar la concesión una vez finalizada la operación. La acción "Release" solo se admite en la operación de vaciado. Si es "true", liberará la concesión en el archivo mediante la información del identificador de concesión del encabezado x-ms-lease-id. |
|
x-ms-lease-duration |
integer (int32) |
La duración de la concesión es necesaria para adquirir una concesión y especifica la duración de la concesión en segundos. La duración de la concesión debe estar entre 15 y 60 segundos o -1 para una concesión infinita. |
|
x-ms-proposed-lease-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
Obligatorio cuando "x-ms-lease-action" es "acquire" o "change". Una concesión se adquirirá con este identificador de concesión si la operación se realiza correctamente. |
|
x-ms-client-request-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
UuID registrado en los registros de análisis para solucionar problemas y correlación. |
|
x-ms-date |
string |
Especifica la hora universal coordinada (UTC) de la solicitud. Esto es necesario cuando se usa la autorización de clave compartida. |
|
x-ms-version |
string |
Especifica la versión del protocolo REST que se usa para procesar la solicitud. Esto es necesario cuando se usa la autorización de clave compartida. |
Cuerpo de la solicitud
Media Types: "application/octet-stream", "text/plain"
Nombre | Tipo | Description |
---|---|---|
requestBody |
object (file) |
Válido solo para las operaciones de anexión. Los datos que se van a cargar y anexar al archivo. |
Respuestas
Nombre | Tipo | Description |
---|---|---|
200 OK |
Los datos se vaciaron (escritos) en el archivo o las propiedades se establecieron correctamente. El cuerpo de la respuesta es opcional y solo es válido para "SetAccessControlRecursive". Encabezados
|
|
202 Accepted |
Se aceptaron los datos cargados. Encabezados
|
|
Other Status Codes |
Se ha producido un error. A continuación se enumeran los posibles estados HTTP, código y cadenas de mensaje:
Encabezados
|
Definiciones
Nombre | Description |
---|---|
Acl |
|
Data |
|
Error |
Objeto de respuesta de error del servicio. |
Path |
A partir de la versión 2020-08-04 en operaciones de anexión y vaciado. Append admite la acción "acquire", "auto-renew" y "acquire-release". Si 'adquirir' adquirirá la concesión. Si "renovación automática", renovará la concesión. Si "acquire-release", adquirirá & completará la operación & liberar la concesión una vez finalizada la operación. La acción "Release" solo se admite en la operación de vaciado. Si es "true", liberará la concesión en el archivo mediante la información del identificador de concesión del encabezado x-ms-lease-id. |
Path |
La acción debe ser "anexar" para cargar datos que se van a anexar a un archivo, "vaciar" para vaciar los datos cargados previamente en un archivo, "setProperties" para establecer las propiedades de un archivo o directorio, o "setAccessControl" para establecer el propietario, grupo, permisos o lista de control de acceso para un archivo o directorio, o "setAccessControlRecursive" para establecer la lista de control de acceso de un directorio de forma recursiva. Tenga en cuenta que el espacio de nombres jerárquico debe estar habilitado para la cuenta para poder usar el control de acceso. Tenga en cuenta también que la lista de control de acceso (ACL) incluye permisos para el propietario, el grupo propietario y otros, por lo que los encabezados de solicitud x-ms-permissions y x-ms-acl son mutuamente excluyentes. |
Set |
AclFailedEntryList
Nombre | Tipo | Description |
---|---|---|
errorMessage |
string |
|
name |
string |
|
type |
string |
DataLakeStorageError
Nombre | Tipo | Description |
---|---|---|
error |
Objeto de respuesta de error del servicio. |
Error
Objeto de respuesta de error del servicio.
Nombre | Tipo | Description |
---|---|---|
code |
string |
Código de error del servicio. |
message |
string |
Mensaje de error del servicio. |
PathLeaseAction
A partir de la versión 2020-08-04 en operaciones de anexión y vaciado. Append admite la acción "acquire", "auto-renew" y "acquire-release". Si 'adquirir' adquirirá la concesión. Si "renovación automática", renovará la concesión. Si "acquire-release", adquirirá & completará la operación & liberar la concesión una vez finalizada la operación. La acción "Release" solo se admite en la operación de vaciado. Si es "true", liberará la concesión en el archivo mediante la información del identificador de concesión del encabezado x-ms-lease-id.
Valor | Description |
---|---|
acquire | |
acquire-release | |
auto-renew | |
release |
PathUpdateAction
La acción debe ser "anexar" para cargar datos que se van a anexar a un archivo, "vaciar" para vaciar los datos cargados previamente en un archivo, "setProperties" para establecer las propiedades de un archivo o directorio, o "setAccessControl" para establecer el propietario, grupo, permisos o lista de control de acceso para un archivo o directorio, o "setAccessControlRecursive" para establecer la lista de control de acceso de un directorio de forma recursiva. Tenga en cuenta que el espacio de nombres jerárquico debe estar habilitado para la cuenta para poder usar el control de acceso. Tenga en cuenta también que la lista de control de acceso (ACL) incluye permisos para el propietario, el grupo propietario y otros, por lo que los encabezados de solicitud x-ms-permissions y x-ms-acl son mutuamente excluyentes.
Valor | Description |
---|---|
append | |
flush | |
setAccessControl | |
setAccessControlRecursive | |
setProperties |
SetAccessControlRecursiveResponse
Nombre | Tipo | Description |
---|---|---|
directoriesSuccessful |
integer (int32) |
|
failedEntries | ||
failureCount |
integer (int32) |
|
filesSuccessful |
integer (int32) |