Crear archivo
La operación Create File
crea un nuevo archivo o reemplaza un archivo. Cuando se llama a Create File
, solo se inicializa el archivo. Para agregar contenido a un archivo, llame a la operación Put Range
.
Disponibilidad del protocolo
Protocolo habilitado para recursos compartidos de archivos | Disponible |
---|---|
SMB | |
NFS |
Pedir
Puede construir una solicitud Create File
haciendo lo siguiente. Se recomienda usar HTTPS.
Método | URI de solicitud | Versión HTTP |
---|---|---|
PUT |
https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile |
HTTP/1.1 |
Reemplace los componentes de ruta de acceso que se muestran en el URI de solicitud por los suyos propios, como se describe en la tabla siguiente:
Componente de ruta de acceso | Descripción |
---|---|
myaccount |
Nombre de la cuenta de almacenamiento. |
myshare |
Nombre del recurso compartido de archivos. |
mydirectorypath |
Opcional. Ruta de acceso al directorio donde se va a crear el archivo. Si se omite la ruta de acceso del directorio, el archivo se creará dentro del recurso compartido especificado. Si se especifica el directorio, ya debe existir dentro del recurso compartido para poder crear el archivo. |
myfile |
Nombre del archivo que se va a crear. |
Para obtener información sobre las restricciones de nomenclatura de rutas de acceso, vea Recursos compartidos de nombres y referencia, directorios, archivos y metadatos.
Parámetros de URI
Puede especificar los siguientes parámetros adicionales en el URI de solicitud:
Parámetro | Descripción |
---|---|
timeout |
Opcional. El parámetro timeout se expresa en segundos. Para obtener más información, consulte Establecer tiempos de espera para las operaciones del servicio de archivos. |
Encabezados de solicitud
Los encabezados de solicitud obligatorios y opcionales se describen en la tabla siguiente:
Encabezado de solicitud | Descripción |
---|---|
Authorization |
Obligatorio. Especifica el esquema de autorización, el nombre de la cuenta y la firma. Para más información, consulte Autorizar solicitudes a Azure Storage. |
Date o x-ms-date |
Obligatorio. Especifica la hora universal coordinada (UTC) de la solicitud. Para más información, consulte Autorizar solicitudes a Azure Storage. |
x-ms-version |
Necesario para todas las solicitudes autorizadas. Especifica la versión de la operación que se va a usar para esta solicitud. Para más información, consulte Control de versiones de para los servicios de Azure Storage. |
Content-Length |
Opcional. Debe ser cero si está presente. |
x-ms-content-length: byte value |
Obligatorio. Este encabezado especifica el tamaño máximo del archivo, hasta 4 tebibytes (TiB). |
Content-Type o x-ms-content-type |
Opcional. Tipo de contenido MIME del archivo. El tipo predeterminado es application/octet-stream . |
Content-Encoding o x-ms-content-encoding |
Opcional. Especifica qué codificaciones de contenido se han aplicado al archivo. Este valor se devuelve al cliente cuando se realiza la operación Obtener archivo en el recurso de archivo y se puede usar para descodificar el contenido del archivo. |
Content-Language o x-ms-content-language |
Opcional. Especifica los lenguajes naturales que usa este recurso. |
Cache-Control o x-ms-cache-control |
Opcional. Azure Files almacena este valor, pero no lo usa ni lo modifica. |
x-ms-content-md5 |
Opcional. Establece el hash MD5 del archivo. |
x-ms-content-disposition |
Opcional. Establece el encabezado Content-Disposition del archivo. |
x-ms-type: file |
Obligatorio. Establezca este encabezado en file . |
x-ms-meta-name:value |
Opcional. Pares nombre-valor asociados al archivo como metadatos. Los nombres de metadatos deben cumplir las reglas de nomenclatura de los identificadores de C# . Nota: los metadatos de archivo especificados a través de Azure Files no son accesibles desde un cliente de bloque de mensajes del servidor (SMB). |
x-ms-file-permission: { inherit ¦ <SDDL> ¦ <binary> } |
En la versión 2019-02-02 a 2021-04-10, este encabezado es necesario si no se especifica x-ms-file-permission-key . A partir de la versión 2021-06-08, ambos encabezados son opcionales. Este permiso es el descriptor de seguridad del archivo especificado en el lenguaje de definición de descriptores de seguridad (SDDL) o (versión 2024-11-04 o posterior) en formato de descriptor de seguridad binario base64. Puede especificar el formato que se va a usar con el encabezado x-ms-file-permission-format . Puede usar este encabezado si el tamaño de los permisos es de 8 kibibytes (KiB) o menos. De lo contrario, puede usar x-ms-file-permission-key . Si especifica el encabezado, debe tener un propietario, grupo y lista de control de acceso discrecional (DACL). Puede pasar un valor de inherit para heredar del directorio primario. |
x-ms-file-permission-format: { sddl ¦ binary } |
Opcional. Versión 2024-11-04 o posterior. Especifica si el valor pasado en x-ms-file-permission está en SDDL o en formato binario. Si x-ms-file-permission-key se establece en inherit , este encabezado no debe establecerse. Si x-ms-file-permission-key se establece en cualquier otro valor que no sea inherit y si no se establece este encabezado, se usa el valor predeterminado de sddl . |
x-ms-file-permission-key: <PermissionKey> |
En la versión 2019-02-02 a 2021-04-10, este encabezado es necesario si no se especifica x-ms-file-permission . A partir de la versión 2021-06-08, ambos encabezados son opcionales. Si no se especifica ningún encabezado, se usa el valor predeterminado de inherit para el encabezado x-ms-file-permission .Puede crear la clave llamando a la API de Create Permission . |
x-ms-file-attributes |
Obligatorio: versión 2019-02-02 a 2021-04-10. Opcional: versión 2021-06-08 y posteriores. Este encabezado contiene los atributos del sistema de archivos que se van a establecer en el archivo. Para obtener más información, consulte la lista de atributos disponibles . El valor predeterminado es None . |
x-ms-file-creation-time: { now ¦ <DateTime> } |
Obligatorio: versión 2019-02-02 a 2021-04-10. Opcional: versión 2021-06-08 y posteriores. Propiedad de hora universal coordinada (UTC) para el archivo. Se puede usar un valor de now para indicar la hora de la solicitud. El valor predeterminado es now . |
x-ms-file-last-write-time: { now ¦ <DateTime> } |
Obligatorio: versión 2019-02-02 a 2021-04-10. Opcional: versión 2021-06-08 y posteriores. La propiedad de última escritura de la hora universal coordinada (UTC) del archivo. Puede usar un valor de now para indicar la hora de la solicitud. El valor predeterminado es now . |
x-ms-lease-id: <ID> |
Obligatorio si el archivo tiene una concesión activa. Disponible para la versión 2019-02-02 y posteriores. |
x-ms-client-request-id |
Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 kibibyte (KiB) que se registra en los registros cuando se configura el registro. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes que recibe el servidor. Para más información, consulte Monitor Azure Files. |
x-ms-file-change-time: { now ¦ <DateTime> } |
Opcional. Versión 2021-06-08 y posteriores. La propiedad Hora universal coordinada (UTC) cambia la propiedad de hora para el archivo, en el formato ISO 8601. Puede usar un valor de now para indicar la hora de la solicitud. El valor predeterminado es now . |
x-ms-file-request-intent |
Obligatorio si Authorization encabezado especifica un token de OAuth. El valor aceptable es backup . Este encabezado especifica que se debe conceder el Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action o Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action si se incluyen en la directiva de RBAC asignada a la identidad autorizada mediante el encabezado Authorization . Disponible para la versión 2022-11-02 y posteriores. |
x-ms-allow-trailing-dot: { <Boolean> } |
Opcional. Versión 2022-11-02 y posteriores. El valor booleano especifica si se debe recortar o no un punto final presente en la dirección URL de solicitud. Para obtener más información, vea Asignar nombres y hacer referencia a recursos compartidos, directorios, archivos y metadatos. |
Cuerpo de la solicitud
Ninguno.
Solicitud de ejemplo
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile HTTP/1.1
Request Headers:
x-ms-version: 2020-02-10
x-ms-date: Mon, 27 Jan 2014 22:41:55 GMT
Content-Type: text/plain; charset=UTF-8
x-ms-content-length: 1024
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Respuesta
La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.
Código de estado
Una operación correcta devuelve el código de estado 201 (creado).
Para obtener información sobre los códigos de estado, vea Códigos de estado y de error.
Encabezados de respuesta
La respuesta de esta operación incluye los encabezados que se describen en la tabla siguiente. La respuesta también puede incluir encabezados HTTP estándar adicionales. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1 de .
Encabezado de respuesta | Descripción |
---|---|
ETag |
La ETag contiene un valor que representa la versión del archivo. El valor se incluye entre comillas. |
Last-Modified |
Devuelve la fecha y hora en que se modificó por última vez el archivo. El formato de fecha sigue a RFC 1123. Para obtener más información, vea Representar valores de fecha y hora en encabezados. Cualquier operación que modifique el directorio o sus propiedades actualiza la hora de la última modificación. Las operaciones en archivos no afectan a la hora de la última modificación del directorio. |
x-ms-request-id |
Identifica de forma única la solicitud que se realizó y se puede usar para solucionar problemas de la solicitud. Para obtener más información, consulte Solución de problemas de operaciones de API |
x-ms-version |
Indica la versión de Azure Files que se usa para ejecutar la solicitud. |
Date |
Valor de fecha y hora UTC generado por el servicio, que indica la hora en que se inició la respuesta. |
x-ms-request-server-encrypted: true/false |
Versión 2017-04-17 y posteriores. El valor de este encabezado se establece en true si ha cifrado correctamente el contenido de la solicitud mediante el algoritmo especificado. Si el cifrado no se realiza correctamente, el valor es false . |
x-ms-file-permission-key |
Clave del permiso del archivo. |
x-ms-file-attributes |
Atributos del sistema de archivos en el archivo. Para obtener más información, consulte la lista de atributos disponibles . |
x-ms-file-creation-time |
Valor de fecha y hora UTC que representa la propiedad de hora de creación del archivo. |
x-ms-file-last-write-time |
Valor de fecha y hora UTC que representa la propiedad de hora de última escritura del archivo. |
x-ms-file-change-time |
Fecha y hora UTC que representa la propiedad de hora de cambio del archivo. |
x-ms-file-file-id |
Identificador de archivo del archivo. |
x-ms-file-parent-id |
Identificador de archivo primario del archivo. |
x-ms-client-request-id |
Se usa para solucionar problemas de solicitudes y sus respuestas correspondientes. El valor de este encabezado es igual al valor del encabezado x-ms-client-request-id si está presente en la solicitud y el valor no contiene más de 1024 caracteres ASCII visibles. Si el encabezado x-ms-client-request-id no está presente en la solicitud, no está presente en la respuesta. |
Cuerpo de la respuesta
Ninguno.
Respuesta de ejemplo
Response Status:
HTTP/1.1 201 Created
Response Headers:
Transfer-Encoding: chunked
Date: Mon, 27 Jan 2014 23:00:12 GMT
ETag: "0x8CB14C3E29B7E82"
Last-Modified: Mon, 27 Jan 2014 23:00:06 GMT
x-ms-version: 2014-02-14
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0
Autorización
Solo el propietario de la cuenta puede llamar a esta operación.
Atributos del sistema de archivos
Atributo | Atributo de archivo Win32 | Definición |
---|---|---|
ReadOnly | FILE_ATTRIBUTE_READONLY | Un archivo que es de solo lectura. Las aplicaciones pueden leer el archivo, pero no pueden escribir en él ni eliminarlo. |
Escondido | FILE_ATTRIBUTE_HIDDEN | El archivo está oculto. No se incluye en una lista de directorios normal. |
Sistema | FILE_ATTRIBUTE_SYSTEM | Un archivo del que el sistema operativo usa una parte de o usa exclusivamente. |
Ninguno | FILE_ATTRIBUTE_NORMAL | Archivo que no tiene otros atributos establecidos. Este atributo solo es válido cuando se usa solo. |
Archivo | FILE_ATTRIBUTE_ARCHIVE | Un archivo que es un archivo de archivo. Normalmente, las aplicaciones usan este atributo para marcar los archivos de copia de seguridad o eliminación. |
Temporal | FILE_ATTRIBUTE_TEMPORARY | Un archivo que se usa para el almacenamiento temporal. |
Sin conexión | FILE_ATTRIBUTE_OFFLINE | Los datos de un archivo no están disponibles inmediatamente. Este atributo del sistema de archivos se presenta principalmente para proporcionar compatibilidad con Windows. Azure Files no lo admite con opciones de almacenamiento sin conexión. |
NotContentIndexed | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED | El servicio de indexación de contenido no indexa el archivo. |
NoScrubData | FILE_ATTRIBUTE_NO_SCRUB_DATA | Flujo de datos de usuario que no leer el analizador de integridad de datos en segundo plano. Este atributo del sistema de archivos se presenta principalmente para proporcionar compatibilidad con Windows. |
Observaciones
Para crear un nuevo archivo, primero inicialícelo llamando a Create File
y especificando su tamaño máximo, hasta 4 TiB. Al realizar esta operación, no incluya contenido en el cuerpo de la solicitud. Después de crear el archivo, llame a Put Range
para agregar contenido al archivo o para modificarlo.
Puede cambiar el tamaño del archivo llamando a Set File Properties
.
Si el recurso compartido o el directorio primario no existe, se produce un error en la operación con el código de estado 412 (error de condición previa).
Nota
Las propiedades del archivo cache-control
, content-type
, content-md5
, content-encoding
y content-language
son independientes de las propiedades del sistema de archivos que están disponibles para los clientes SMB. Los clientes SMB no pueden leer, escribir o modificar estos valores de propiedad.
Para crear el archivo, si el archivo existente tiene una concesión activa, el cliente debe especificar un identificador de concesión válido en la solicitud. Si el cliente no especifica un identificador de concesión o especifica un identificador de concesión no válido, Azure Files devuelve el código de estado 412 (error de condición previa). Si el cliente especifica un identificador de concesión, pero el archivo no tiene una concesión activa, Azure Files devuelve el código de estado 412 (error de condición previa) en esta instancia también. Si el cliente especifica un identificador de concesión en un archivo que aún no existe, Azure Files devuelve el código de estado 412 (error de condición previa) para las solicitudes realizadas en la versión 2019-02-02 y posteriores.
Si una operación de Create File
sobrescribe un archivo existente con una concesión activa, la concesión persiste en el archivo actualizado hasta que se libere.
Create File
no se admite en una instantánea de recurso compartido, que es una copia de solo lectura de un recurso compartido. Se produce un error al intentar realizar esta operación en una instantánea de recurso compartido con el código de estado 400 (InvalidQueryParameterValue).
Consulte también
Operaciones de en Azure Files