Path - Create

Crear archivo | Crear directorio | Cambiar nombre de archivo | Cambiar nombre del directorio
Cree o cambie el nombre de un archivo o directorio. De forma predeterminada, el destino se sobrescribe y, si el destino ya existe y tiene una concesión, se interrumpe la concesión. Tenga en cuenta que no se permite cambiar el nombre de un archivo o directorio en un contenedor con una directiva de cifrado de contenedor aplicada, a menos que el contenedor de origen también tenga una directiva de cifrado de contenedor aplicada que coincida. 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. Para producir un error si el destino ya existe, use una solicitud condicional con If-None-Match: "*".

PUT https://{accountName}.{dnsSuffix}/{filesystem}/{path}
PUT https://{accountName}.{dnsSuffix}/{filesystem}/{path}?resource={resource}&continuation={continuation}&mode={mode}&timeout={timeout}

Parámetros de identificador URI

Nombre En Requerido Tipo Description
accountName
path True

string

Nombre de la cuenta de Azure Storage.

dnsSuffix
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: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$

path
path True

string

Ruta de acceso del archivo o directorio.

continuation
query

string

Opcional. Al cambiar el nombre de un directorio, el número de rutas de acceso cuyo nombre se cambia con cada invocación es limitado. Si el número de rutas de acceso cuyo nombre supera este límite, se devuelve un token de continuación en este encabezado de respuesta. Cuando se devuelve un token de continuación en la respuesta, debe especificarse en una invocación posterior de la operación de cambio de nombre para continuar cambiando el nombre del directorio.

mode
query

PathRenameMode

Opcional. Válido solo cuando el espacio de nombres está habilitado. Este parámetro determina el comportamiento de la operación de cambio de nombre. El valor debe ser "heredado" o "posix", y el valor predeterminado será "posix".

resource
query

PathResourceType

Solo es necesario para Crear archivo y Crear directorio. El valor debe ser "file" o "directory".

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"

Nombre Requerido Tipo Description
Cache-Control

string

Opcional. El servicio almacena este valor e lo incluye en el encabezado de respuesta "Cache-Control" para las operaciones "Read File" para las operaciones "Read File".

Content-Encoding

string

Opcional. Especifica las codificaciones de contenido que se han aplicado al archivo. Este valor se devuelve al cliente cuando se realiza la operación "Read File".

Content-Language

string

Opcional. Especifica el lenguaje natural utilizado por la audiencia prevista para el archivo.

Content-Disposition

string

Opcional. El servicio almacena este valor e lo incluye en el encabezado de respuesta "Content-Disposition" para las operaciones "Read File".

x-ms-cache-control

string

Opcional. 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. El servicio almacena este valor e lo incluye en el encabezado de respuesta "Content-Type" para las operaciones "Read File".

x-ms-content-encoding

string

Opcional. 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. El servicio almacena este valor e lo incluye en el encabezado de respuesta "Content-Language" para las operaciones "Read File".

x-ms-content-disposition

string

Opcional. El servicio almacena este valor e lo incluye en el encabezado de respuesta "Content-Disposition" para las operaciones "Read File".

x-ms-rename-source

string

Se va a cambiar el nombre de un archivo o directorio opcional. El valor debe tener el siguiente formato: "/{filesystem}/{path}" o "/{filesystem}/{path}?sastoken" al usar un token de SAS. Si se especifica "x-ms-properties", las propiedades sobrescribirán las propiedades existentes; de lo contrario, se conservarán las propiedades existentes. Este valor debe ser una cadena codificada por porcentaje de dirección URL. Tenga en cuenta que la cadena solo puede contener caracteres ASCII en el juego de caracteres ISO-8859-1.

x-ms-lease-id

string

Opcional. Identificador de concesión de la ruta de acceso especificada en el URI. La ruta de acceso que se va a sobrescribir debe tener una concesión activa y el identificador de concesión debe coincidir.

Patrón de Regex: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-source-lease-id

string

Opcional para las operaciones de cambio de nombre. Identificador de concesión para la ruta de acceso de origen. La ruta de acceso de origen debe tener una concesión activa y el identificador de concesión debe coincidir.

Patrón de Regex: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

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 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.

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 de la categoría de otros se establece o desconfigura 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-umask

string

Opcional y solo válido si el espacio de nombres jerárquico está habilitado para la cuenta. Al crear un archivo o directorio y la carpeta primaria no tiene una ACL predeterminada, el umask restringe los permisos del archivo o directorio que se va a crear. P & ^u concede el permiso resultante, donde p es el permiso y usted es el umask. Por ejemplo, si p es 0777 y es 0057, el permiso resultante es 0720. El permiso predeterminado es 0777 para un directorio y 0666 para un archivo. El valor predeterminado de umask es 0027. El umask debe especificarse en notación octal de 4 dígitos (por ejemplo, 0766).

x-ms-owner

string

Opcional y solo válido si el espacio de nombres jerárquico está habilitado para la cuenta. Establece el propietario del archivo o directorio.

x-ms-group

string

Opcional y solo válido si el espacio de nombres jerárquico está habilitado para la cuenta. Establece el grupo propietario del archivo o directorio.

x-ms-acl

string

Opcional y solo válido si el espacio de nombres jerárquico está habilitado para la cuenta. Establece los derechos de control de acceso POSIX en archivos y directorios. 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 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.

x-ms-proposed-lease-id

string

Opcional. Especifique un identificador de concesión propuesto si desea adquirir una concesión durante la creación de un archivo o directorio. Una concesión se adquirirá con este identificador de concesión si la creación se realiza correctamente.

Patrón de Regex: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-expiry-option

string

Opcional y solo válido si el espacio de nombres jerárquico está habilitado para la cuenta y solo se admite en los archivos. Especifique una de las siguientes opciones de expiración si desea establecer la hora de expiración en un archivo durante la creación. "RelativeToNow" Establezca la expiración en relación con la hora actual. El usuario pasará el número de milisegundos transcurridos desde ahora. Tiempo absoluto en formato RFC 1123. "Neverexpire" Establezca el archivo en que nunca expire, no es necesario especificar el tiempo de expiración con esta opción.

x-ms-expiry-time

string

Opcional y solo válido si el espacio de nombres jerárquico está habilitado para la cuenta y solo se admite en los archivos. Especifique la hora de expiración cuando expire el archivo. Dado como cadena de tiempo HTTP RFC 1123 o número de milisegundos según la opción de expiración.

If-Match

string

Opcional. Valor ETag. Especifique este encabezado para realizar la operación solo si la ETag del recurso coincide con el valor especificado. La ETag debe especificarse entre comillas.

If-None-Match

string

Opcional. Un valor ETag o el valor comodín especial ("*"). Especifique este encabezado para realizar la operación solo si la ETag del recurso no coincide con el valor especificado. La ETag debe especificarse entre comillas.

If-Modified-Since

string

Opcional. 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. 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-source-if-match

string

Opcional. Valor ETag. Especifique este encabezado para realizar la operación de cambio de nombre solo si la ETag del origen coincide con el valor especificado. La etiqueta ETag debe especificarse entre comillas.

x-ms-source-if-none-match

string

Opcional. Un valor ETag o el valor de carácter comodín especial ("*"). Especifique este encabezado para realizar la operación de cambio de nombre solo si la ETag del origen no coincide con el valor especificado. La etiqueta ETag debe especificarse entre comillas.

x-ms-source-if-modified-since

string

Opcional. Valor de fecha y hora. Especifique este encabezado para realizar la operación de cambio de nombre solo si el origen se ha modificado desde la fecha y hora especificadas.

x-ms-source-if-unmodified-since

string

Opcional. Valor de fecha y hora. Especifique este encabezado para realizar la operación de cambio de nombre solo si el origen 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-encryption-context

string

Opcional. El valor predeterminado es "Empty". Si el valor se establece, establecerá metadatos del sistema de archivos o blobs. Longitud máxima- 1024. Válido solo cuando el espacio de nombres jerárquico está habilitado para la cuenta.

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: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

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.

Respuestas

Nombre Tipo Description
201 Created

Se creó el archivo o directorio.

Encabezados

  • 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

Se produjo un error. A continuación se enumeran los posibles estados HTTP, código y cadenas de mensaje:

  • 400 Solicitud incorrecta, ContentLengthMustBeZero, "El encabezado de solicitud Content-Length debe ser cero".
  • 400 Solicitud incorrecta, InvalidAuthenticationInfo, "La información de autenticación no se proporciona en el formato correcto. Compruebe el valor del encabezado Authorization".
  • 400 Solicitud incorrecta, InvalidFlushPosition, "Los datos cargados no son contiguos o el valor del parámetro de consulta de posición no es igual a la longitud del archivo después de anexar los datos cargados".
  • 400 Solicitud incorrecta, InvalidHeaderValue, "El valor de uno de los encabezados HTTP no está en el formato correcto".
  • 400 Solicitud incorrecta, InvalidHttpVerb, "El verbo HTTP especificado no es válido: el servidor no lo reconoce".
  • 400 Solicitud incorrecta, InvalidInput, "Una de las entradas de solicitud no es válida".
  • 400 Solicitud incorrecta, InvalidPropertyName, "Un nombre de propiedad no puede estar vacío".
  • 400 Solicitud incorrecta, InvalidPropertyName, "El nombre de la propiedad contiene caracteres no válidos".
  • 400 Solicitud incorrecta, InvalidQueryParameterValue, "El valor de uno de los parámetros de consulta especificados en el URI de solicitud no es válido".
  • 400 Solicitud incorrecta, InvalidResourceName, "El nombre del recurso especificado contiene caracteres no válidos".
  • 400 Solicitud incorrecta, InvalidSourceUri, "El URI de origen no es válido".
  • 400 Solicitud incorrecta, InvalidUri, "El URI de solicitud no es válido".
  • 400 Solicitud incorrecta, MissingRequiredHeader, "No se especifica un encabezado HTTP obligatorio para esta solicitud".
  • 400 Solicitud incorrecta, MissingRequiredQueryParameter, "No se especifica un parámetro de consulta obligatorio para esta solicitud".
  • 400 Solicitud incorrecta, MultipleConditionHeadersNotSupported, "No se admiten varios encabezados de condición".
  • 400 Solicitud incorrecta, OutOfRangeInput, "Una de las entradas de solicitud está fuera del intervalo".
  • 400 Solicitud incorrecta, OutOfRangeQueryParameterValue, "Uno de los parámetros de consulta especificados en el URI de solicitud está fuera del intervalo permitido".
  • 400 Solicitud incorrecta, UnsupportedHeader, "No se admite uno de los encabezados especificados en la solicitud".
  • 400 Solicitud incorrecta, UnsupportedQueryParameter, "No se admite uno de los parámetros de consulta especificados en el URI de solicitud".
  • 400 Solicitud incorrecta, UnsupportedRestVersion, "La versión rest especificada no es compatible".
  • 403 Prohibido, AccountIsDisabled, "La cuenta especificada está deshabilitada".
  • 403 Prohibido, AuthorizationFailure, "Esta solicitud no está autorizada para realizar esta operación".
  • 403 Prohibido, InsufficientAccountPermissions, "La cuenta a la que se accede no tiene permisos suficientes para ejecutar esta operación".
  • 404 No encontrado, FilesystemNotFound, "El sistema de archivos especificado no existe".
  • 404 No encontrado, PathNotFound, "La ruta de acceso especificada no existe".
  • 404 No encontrado, RenameDestinationParentPathNotFound, "El directorio primario de la ruta de acceso de destino no existe".
  • 404 No encontrado, ResourceNotFound, "El recurso especificado no existe".
  • 404 No encontrado, SourcePathNotFound, "La ruta de acceso de origen para una operación de cambio de nombre no existe".
  • 405 Método no permitido, UnsupportedHttpVerb, "El recurso no admite el verbo HTTP especificado".
  • 409 Conflicto, DestinationPathIsBeingDeleted, "La ruta de acceso de destino especificada está marcada para eliminarse".
  • 409 Conflicto, DirectoryNotEmpty, "El valor del parámetro de consulta recursivo debe ser true para eliminar un directorio no vacío".
  • 409 Conflicto, FilesystemAlreadyExists, "El sistema de archivos especificado ya existe".
  • 409 Conflicto, FilesystemBeingDeleted, "Se está eliminando el sistema de archivos especificado".
  • 409 Conflicto, InvalidDestinationPath, "La ruta de acceso especificada, o un elemento de la ruta de acceso, existe y su tipo de recurso no es válido para esta operación". * 409 Conflicto, InvalidFlushOperation, "The resource was created or modified by the Blob Service API and cannot be written to by the Data Lake Storage Service API."
  • 409 Conflicto, InvalidRenameSourcePath, "El directorio de origen no puede ser el mismo que el directorio de destino, ni el destino puede ser un subdirectorio del directorio de origen".
  • 409 Conflicto, InvalidSourceOrDestinationResourceType, "El tipo de recurso de origen y destino debe ser idéntico".
  • 409 Conflicto, LeaseAlreadyPresent, "Ya hay una concesión presente".
  • 409 Conflicto, LeaseIdMismatchWithLeaseOperation, "El identificador de concesión especificado no coincide con el identificador de concesión del recurso con la operación de concesión especificada".
  • 409 Conflicto, LeaseIsAlreadyBroken, "La concesión ya se ha roto y no se puede romper de nuevo".
  • 409 Conflicto, LeaseIsBreakingAndCannotBeAcquired, "El identificador de concesión coincide, pero la concesión está actualmente en estado de interrupción y no se puede adquirir hasta que se interrumpe".
  • 409 Conflicto, LeaseIsBreakingAndCannotBeChanged, "El identificador de concesión coincide, pero la concesión está actualmente en estado de interrupción y no se puede cambiar".
  • 409 Conflicto, LeaseIsBrokenAndCannotBeRenewed, "El identificador de concesión coincide, pero la concesión se ha interrumpido explícitamente y no se puede renovar".
  • 409 Conflicto, LeaseNameMismatch, "El nombre de concesión especificado no coincide con el nombre de concesión existente".
  • 409 Conflicto, LeaseNotPresentWithLeaseOperation, "El identificador de concesión no está presente con la operación de concesión especificada".
  • 409 Conflicto, PathAlreadyExists, "La ruta de acceso especificada ya existe".
  • 409 Conflicto, PathConflict, "La ruta de acceso especificada o un elemento de la ruta de acceso existe y su tipo de recurso no es válido para esta operación".
  • 409 Conflicto, SourcePathIsBeingDeleted, "La ruta de acceso de origen especificada está marcada para eliminarse".
  • 409 Conflicto, ResourceTypeMismatch, "El tipo de recurso especificado en la solicitud no coincide con el tipo del recurso".
  • 412 Error de condición previa, ConditionNotMet, "No se cumple la condición especificada mediante encabezados condicionales HTTP".
  • 412 Error de condición previa, LeaseIdMismatch, "El identificador de concesión especificado no coincide con el identificador de concesión del recurso".
  • 412 Error de condición previa, LeaseIdMissing, "Actualmente hay una concesión en el recurso y no se especificó ningún identificador de concesión en la solicitud".
  • 412 Error de condición previa, LeaseNotPresent, "Actualmente no hay ninguna concesión en el recurso".
  • 412 Error de condición previa, LeaseLost, "Se especificó un identificador de concesión, pero la concesión del recurso ha expirado".
  • 412 Error de condición previa, SourceConditionNotMet, "No se cumple la condición de origen especificada mediante encabezados condicionales HTTP".
  • 413 Solicitar entidad demasiado grande, RequestBodyTooLarge, "El cuerpo de la solicitud es demasiado grande y supera el límite máximo permitido".
  • 416 Intervalo solicitado no satisfiable, InvalidRange, "El rango especificado no es válido para el tamaño actual del recurso".
  • 500 Error interno del servidor, InternalError, "El servidor encontró un error interno. Vuelva a intentar realizar la solicitud"
  • 500 Error interno del servidor, OperationTimedOut, "No se pudo completar la operación dentro del tiempo permitido".
  • 503 Servicio no disponible, ServerBusy, "La salida supera el límite de la cuenta".
  • 503 Servicio no disponible, ServerBusy, "La entrada supera el límite de la cuenta".
  • 503 Servicio no disponible, ServerBusy, "Las operaciones por segundo superan el límite de la cuenta".
  • 503 Servicio no disponible, ServerBusy, "El servidor no puede recibir solicitudes actualmente. Please retry your request". (El programa de instalación del clúster no pudo instalar los componentes en uno o más hosts. Vuelva a intentar realizar la solicitud)

Encabezados

  • x-ms-request-id: string
  • x-ms-version: string

Definiciones

Nombre Description
DataLakeStorageError
Error

Objeto de respuesta de error del servicio.

PathRenameMode

Opcional. Válido solo cuando el espacio de nombres está habilitado. Este parámetro determina el comportamiento de la operación de cambio de nombre. El valor debe ser "heredado" o "posix", y el valor predeterminado será "posix".

PathResourceType

Solo es necesario para Crear archivo y Crear directorio. El valor debe ser "file" o "directory".

DataLakeStorageError

Nombre Tipo Description
error

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.

PathRenameMode

Opcional. Válido solo cuando el espacio de nombres está habilitado. Este parámetro determina el comportamiento de la operación de cambio de nombre. El valor debe ser "heredado" o "posix", y el valor predeterminado será "posix".

Nombre Tipo Description
legacy

string

posix

string

PathResourceType

Solo es necesario para Crear archivo y Crear directorio. El valor debe ser "file" o "directory".

Nombre Tipo Description
directory

string

file

string