Path - Update
Anexar datos | Vaciar datos | Establecer propiedades | Establecer Access Control
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 con varios clientes. Esta operación admite solicitudes HTTP condicionales. Para obtener más información, consulte Especificación de encabezados condicionales para las 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 |
El 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 |
Identificador del sistema de archivos. Patrón de Regex: |
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, el grupo, los permisos o la lista de control de acceso de 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 Access Control (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 cambiado 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 las notificaciones de cambio están habilitadas. 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 genera 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 cuando se usa flush=true, no se admiten los siguientes encabezados: "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 |
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, "modificar" modifica uno o varios derechos de control de acceso POSIX que ya existen en archivos y directorios, "quitar" 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 los datos que se van a anexar al archivo y al vaciar los datos cargados previamente 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 previamente 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 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 |
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 |
Obligatorio 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 utiliza 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 ambos valores de hash no coinciden, la operación producirá un error con el código de estado 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 |
El identificador de concesión debe especificarse si hay una concesión activa. No es válido para las operaciones "setAccessControlRecursive". Patrón de Regex: |
|
x-ms-cache-control |
string |
Opcional y solo es 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 es 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 es 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 es 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 es 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 "Read and Get Properties". Si esta propiedad no se especifica en la solicitud, se desactivará 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. Las propiedades definidas por el usuario que se almacenarán con el archivo o directorio, con 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 que no se incluyan en la lista. Todas las propiedades se quitan si se omite el encabezado. Para combinar las propiedades nuevas y existentes, primero obtenga todas las propiedades existentes y la etiqueta E-Tag actual y, a continuación, realice una solicitud condicional con la etiqueta E 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 de archivos 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 se establece o se anula 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 el primer 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 "modificar" 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 de un directorio; de lo contrario, el ámbito es implícito y la ACE pertenece a la ACL de acceso. Hay cuatro tipos de 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 que no se encuentran 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, se usa el carácter "-" 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, grupos propietarios y otra información si se establece el ámbito de acceso o si se establece cualquiera de los usuarios propietarios, el grupo propietario u otro 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 Access Control y Establecer propiedades, pero no es válido para Append Data and Set Access Control Recursive. Valor ETag. Especifique este encabezado para realizar la operación solo si la ETag del recurso coincide con el valor especificado. La etiqueta ETag debe especificarse entre comillas. |
|
If-None-Match |
string |
Opcional para Vaciar datos, Establecer Access Control y Establecer propiedades, pero no es válido para Append Data and Set Access Control Recursive. Un valor ETag o el valor de 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. La etiqueta ETag debe especificarse entre comillas. |
|
If-Modified-Since |
string |
Opcional para Vaciar datos y establecer propiedades, pero no es válida 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álida 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 las 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 |
Obligatorio cuando "x-ms-lease-action" es "acquire" o "change". Si la operación se realiza correctamente, se adquirirá una concesión con este identificador de concesión. Patrón de Regex: |
|
x-ms-client-request-id |
string |
UuID registrado en los registros de análisis para la solución de problemas y la correlación. Patrón de Regex: |
|
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 |
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 produjo 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 las 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, el grupo, los permisos o la lista de control de acceso de 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 Access Control (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 las 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.
Nombre | Tipo | Description |
---|---|---|
acquire |
string |
|
acquire-release |
string |
|
auto-renew |
string |
|
release |
string |
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, el grupo, los permisos o la lista de control de acceso de 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 Access Control (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.
Nombre | Tipo | Description |
---|---|---|
append |
string |
|
flush |
string |
|
setAccessControl |
string |
|
setAccessControlRecursive |
string |
|
setProperties |
string |
SetAccessControlRecursiveResponse
Nombre | Tipo | Description |
---|---|---|
directoriesSuccessful |
integer |
|
failedEntries | ||
failureCount |
integer |
|
filesSuccessful |
integer |