Share via


Creación de archivo

La operación Create File crea un archivo nuevo o reemplaza un archivo. Cuando se llama a Create File, solo se inicializa el archivo. Para agregar contenido a un archivo, llame a la Put Range operación .

Disponibilidad del protocolo

Protocolo de recurso compartido de archivos habilitado Disponible
SMB Sí
NFS No

Request

Puede construir una Create File solicitud haciendo lo siguiente. Se recomienda usar HTTPS.

Método URI de solicitud Versión de 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 El nombre de la cuenta de almacenamiento.
myshare El nombre del recurso compartido de archivos.
mydirectorypath Opcional. Ruta de acceso del directorio donde se creará el archivo. Si se omite la ruta de acceso del directorio, el archivo se creará en el recurso compartido especificado.

Si se especifica el directorio, debe existir en el 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 referencias, directorios, archivos y metadatos.

Parámetros del identificador URI

Puedes especificar los siguientes parámetros adicionales en el URI de la solicitud:

Parámetro Descripción
timeout Opcional. El parámetro timeout se expresa en segundos. Para más información, consulte Establecimiento de 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 Necesario. Especifica el esquema de autorización, el nombre de cuenta y la firma. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
Date o x-ms-date Necesario. Especifica la hora universal coordinada (UTC) para la solicitud. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
x-ms-version Necesario para todas las solicitudes autorizadas. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Versiones de los servicios de Azure Storage.
Content-Length Opcional. Si está presente, debe ser cero.
x-ms-content-length: byte value Necesario. 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 las codificaciones de contenido que 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 puede usarlo 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 del Content-Disposition archivo.
x-ms-type: file Necesario. 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> } En la versión 2019-02-02 a 2021-04-10, este encabezado es necesario si x-ms-file-permission-key no se especifica. 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). 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, un grupo y una lista de control de acceso discrecional (DACL). Puede pasar un valor de inherit para heredar del directorio primario.
x-ms-file-permission-key: <PermissionKey> En la versión 2019-02-02 a 2021-04-10, este encabezado es necesario si x-ms-file-permission no se especifica. 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 x-ms-file-permission encabezado.

Puede crear la clave llamando a la Create Permission API.
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) del 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 última propiedad de 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> Requerido 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 obtener más información, consulte Supervisión de 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 del 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 el encabezado especifica un token de OAuth. El valor aceptable es backup. Este encabezado especifica que se debe conceder o Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/actionMicrosoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action si se incluyen en la directiva de RBAC asignada a la identidad autorizada mediante el Authorization encabezado . 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, consulte Nomenclatura y 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=  
  

Response

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

status code

Una operación correcta devuelve el código de estado 201 (Creado).

Para obtener información sobre los códigos de estado, consulte Códigos de estado y 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 otros encabezados HTTP estándar. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1.

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 la fecha sigue las convenciones de 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 más información, consulte Solución de problemas de operaciones de API.
x-ms-version Indica la versión 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 true en 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 última propiedad de hora de 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 x-ms-client-request-id encabezado si está presente en la solicitud y el valor no contiene más de 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, no está presente en la respuesta.

Response body

Ninguno.

Respuesta de muestra

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  

Authorization

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 Archivo que es de solo lectura. Las aplicaciones pueden leer el archivo, pero no pueden escribir en él ni eliminarlo.
Hidden 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 utiliza exclusivamente.
Ninguno FILE_ATTRIBUTE_NORMAL Archivo que no tiene otros atributos establecidos. Este atributo solo es válido cuando se usa por sí 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.
Temporales FILE_ATTRIBUTE_TEMPORARY 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 el analizador de integridad de datos en segundo plano no va a leer. Este atributo del sistema de archivos se presenta principalmente para proporcionar compatibilidad con Windows.

Comentarios

Para crear un nuevo archivo, inicialícelo primero llamando Create File a 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 Put Range a 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 cache-controldel archivo , content-type, content-md5, content-encodingy 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 en la 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 sobrescribe Create File 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 en Azure Files