Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-02-27 GMT+08:00

Creación de un sistema de archivos compartido

Función

Esta API se utiliza para crear un sistema de archivos compartido. Después de crear el sistema de archivos, debe montar el sistema de archivos en ECS para lograr el almacenamiento de archivos compartidos. Para obtener más información sobre cómo montar el sistema de archivos, consulte Tareas iniciales de SFS.

Esta API es una API asíncrona. Si el código de estado devuelto es 200, la solicitud API se entrega y recibe con éxito. Más adelante, puede consultar el estado y la ruta de acceso del sistema de archivos compartido haciendo referencia a Consulta de detalles acerca de un sistema de archivos compartido para identificar si la creación se ha completado y se ha completado correctamente. Si el estado del sistema de archivos compartido queda available o se genera la ruta de acceso compartida, la creación se realiza correctamente.

Una vez que se ha creado correctamente un sistema de archivos compartido, solo se puede utilizar después de agregar reglas de acceso a recursos compartidos haciendo referencia a Adición de una regla de acceso al sistema de archivos.

URI

  • POST /v2/{project_id}/shares
  • Descripción del parámetro

    Parámetro

    Obligatorio

    Tipo

    Descripción

    project_id

    String

    Especifica el ID de proyecto del operador. Para obtener más información sobre cómo obtener el ID del proyecto, consulte Obtención de un ID de proyecto.

Request Header

The operation message header is the same as that of a common request. For details, see Tabla 3.

Solicitud

  • Descripción del parámetro

    Parámetro

    Obligatorio

    Tipo

    Descripción

    share

    Object

    Para obtener más información, consulte la descripción del campo share.

  • Descripción del campo share

    Parámetro

    Obligatorio

    Tipo

    Descripción

    share_proto

    String

    Especifica el protocolo de uso compartido de archivos. El valor puede ser NFS (for Linux OS).

    size

    Integer

    Especifica el tamaño (GB) del sistema de archivos compartido. La capacidad aplicada del sistema de archivos compartido no puede ser mayor que la cuota permitida. Para ver la cuota permitida, consulte Gestión de cuotas.

    name

    No

    String

    Especifica el nombre del sistema de archivos compartido, que contiene de 0 a 255 caracteres y solo puede contener letras, dígitos, guiones (-) y guiones bajos (_).

    description

    No

    String

    Especifica la descripción del sistema de archivos compartido, que contiene de 0 a 255 caracteres y solo puede contener letras, dígitos, guiones (-) y guiones bajos (_).

    is_public

    No

    Boolean

    (Soportado por las versiones de API de v2.8 a v2.42). Especifica si un sistema de archivos se puede ver públicamente. Si se establece en true, el sistema de archivos se puede ver públicamente. Si se establece en false, el sistema de archivos se puede ver de forma privada. El valor predeterminado es false.

    availability_zone

    No

    String

    Especifica el nombre de la zona de disponibilidad. Si este parámetro se deja en blanco, se utilizará la zona de disponibilidad predeterminada. Si la zona de disponibilidad predeterminada no contiene recursos de almacenamiento, se produce un error en la creación del sistema de archivos compartido. El valor contiene de 0 a 255 caracteres.

    metadata

    No

    Object

    Especifica la información de metadatos utilizada para crear el sistema de archivos compartido. El valor consiste en uno o más pares clave y valor organizados como un diccionario de cadenas. Para obtener más información, consulte la descripción del campo de metadata.

    ATENCIÓN:
    • Por motivos de seguridad, la API para modificar el campo de metadata aún no está abierta. Por lo tanto, asegúrese de que los parámetros y valores sean correctos al crear un sistema de archivos compartido con encriptación de datos mediante el campo de metadatos.
    • A menos que se especifique lo contrario (por ejemplo, #sfs_crypt_key_id), las claves que cumplen con las siguientes reglas en el campo de metadata son para uso interno del sistema. No personalice la configuración para evitar errores internos del sistema causados por conflictos con claves predefinidas del sistema.
      • Clave share_used
      • Claves que comienzan con #sfs
  • Descripción de campos de metadata (crear un sistema de archivos compartido con la función de encriptación)

    Al crear un sistema de archivos compartido con la función de encriptación, obtenga el ID de clave, el ID de dominio y el alias de clave de la clave de encriptación mediante la solicitud HTTPS haciendo referencia a la sección Consulta de la lista de CMK en la Referencia de API de Data Encryption Workshop. A continuación, en el campo de metadata, establezca los pares clave-valor de acuerdo con la siguiente tabla. Asegúrese de que los pares clave-valor en el campo de metadata son correctos.

    Para crear un sistema de archivos compartido con la función de encriptación, todos los parámetros de la siguiente tabla son obligatorios. Si la función de encriptación no es necesaria, estos parámetros son opcionales.

    Clave

    Tipo de valor

    Obligatorio

    Descripción

    #sfs_crypt_key_id

    String

    Especifica el ID de clave de encriptación.

    Si este campo, #sfs_crypt_domain_id y #sfs_crypt_alias existen al mismo tiempo, la función de encriptación de datos está habilitada.

    #sfs_crypt_domain_id

    String

    Especifica el ID de dominio del inquilino.

    Si este campo, #sfs_crypt_key_id y #sfs_crypt_alias existen al mismo tiempo, la función de encriptación de datos está habilitada.

    #sfs_crypt_alias

    String

    Especifica el alias de clave de encriptación.

    Si este campo, #sfs_crypt_key_id y #sfs_crypt_domain_id existen al mismo tiempo, la función de encriptación de datos está habilitada.

    • Se recomienda utilizar la clave principal predeterminada sfs/default para crear un sistema de archivos compartido cifrado. Para obtener más información, consulte la sección "Encriptación del sistema de archivos" y "Encriptación" en la Guía de usuario de Scalable File Service.
  • Cuando se crea un sistema de archivos con un ID de proyecto de empresa, se requiere la siguiente clave en los metadatos.

    Clave

    Tipo de valor

    Obligatorio

    Descripción

    enterprise_project_id

    String

    Especifica el ID del proyecto de empresa.

    Cuando la función Proyecto empresarial está habilitada, enterprise_project_id se utiliza como clave para especificar el ID del proyecto de empresa del sistema de archivos compartido.

  • Ejemplo de solicitud: POST https://{endpoint}/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares
    {
       "share": {
           "name": "test",
           "description": "test description",
           "share_proto": "NFS",
           "share_network_id": null,
           "size": 1,
           "is_public": false
       }
    }
  • Solicitud de ejemplo (creación de un sistema de archivos compartido con función de encriptación de datos): POST https://{endpoint}/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares
    {
       "share": {
           "name": "test",
           "description": "test description",
           "metadata": {
               "#sfs_crypt_key_id": "9130c90d-73b8-4203-b790-d49f98d503df",
               "#sfs_crypt_domain_id": "3b2d9670690444c582942801ed7d457b",
               "#sfs_crypt_alias": "sfs/default"
           },
           "share_proto": "NFS",
           "share_network_id": null,
           "size": 1,
           "is_public": false
       }
    }
  • Ejemplo de solicitud (con la función Proyecto empresarial activada): POST https://{endpoint}/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares
    {
       "share": {
           "share_type": null,
           "name": "test",
           "snapshot_id": null,
           "description": "test description",
           "metadata": {
               "enterprise_project_id": "9130c90d-73b8-4203-b790-d49f98d503df"
           },
           "share_proto": "NFS",
           "share_network_id": null,
           "size": 1,
           "is_public": false
       }
    }

Respuesta

  • Descripción del parámetro

    Parámetro

    Tipo

    Descripción

    share

    Object

    Para obtener más información, consulte la descripción del campo share.

  • Descripción del campo share

    Parámetro

    Tipo

    Descripción

    links

    Array

    Especifica los vínculos de los sistemas de archivos compartidos.

    availability_zone

    String

    Especifica la zona de disponibilidad.

    share_server_id

    String

    Especifica el ID para administrar los servicios compartidos.

    id

    String

    Especifica el ID del sistema de archivos compartido.

    size

    Integer

    Especifica el tamaño (GB) del sistema de archivos compartido.

    project_id

    String

    Especifica el ID del proyecto al que pertenece el sistema de archivos compartido.

    metadata

    Object

    Establece uno o más pares de clave y valor de metadatos como un diccionario de cadenas. El valor de la clave share_used indica la capacidad utilizada del sistema de archivos, en bytes. El valor de la clave enterprise_project_id indica el ID del proyecto de empresa al que pertenece el sistema de archivos.

    status

    String

    Especifica el estado del sistema de archivos compartido.

    description

    String

    Describe el sistema de archivos compartido.

    host

    String

    Especifica el nombre del host.

    name

    String

    Especifica el nombre del sistema de archivos compartido.

    created_at

    String

    Especifica la marca de fecha y hora cuando se creó el sistema de archivos compartido.

    share_proto

    String

    Especifica el protocolo para compartir sistemas de archivos.

    share_type_name

    String

    Especifica el tipo de servicio de almacenamiento asignado para el sistema de archivos compartido, como el almacenamiento de alto rendimiento (compuesto por SSD) y el almacenamiento de gran capacidad (compuesto por discos SATA). Este campo es compatible con API v2.6 y versiones posteriores.

    share_type

    String

    Especifica el ID del tipo de sistema de archivos.

    volume_type

    String

    Especifica el tipo de volumen. La definición de este parámetro es la misma que la de share_type.

    export_locations

    Array

    Muestra las ubicaciones de montaje. Actualmente, solo se admite una única ubicación de montaje. Este parámetro solo existe cuando X-Openstack-Manila-Api-Version especificado en el encabezado de solicitud es menor que 2.9.

    export_location

    String

    Especifica la ubicación de montaje. Este parámetro solo existe cuando X-Openstack-Manila-Api-Version especificado en el encabezado de solicitud es menor que 2.9.

    is_public

    Boolean

    Especifica el nivel de visibilidad del sistema de archivos compartido. Si se devuelve true, el sistema de archivos se puede ver públicamente. Si se devuelve false, el sistema de archivos se puede ver de forma privada. El valor predeterminado es false.

  • Ejemplo de respuesta
    {
        "share": {
            "status": "creating",
            "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
            "name": "share_London",
            "share_type": "25747776-08e5-494f-ab40-a64b9d20d8f7",
            "availability_zone": "az1.dc1",
            "created_at": "2015-09-18T10:25:24.533287",
            "export_location": null,
            "links": [
                {
                    "href": "http://192.168.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares/011d21e2-fbc3-4e4a-9993-9ea223f73264",
                    "rel": "self"
                },
                {
                    "href": "http://192.168.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/shares/011d21e2-fbc3-4e4a-9993-9ea223f73264",
                    "rel": "bookmark"
                }
            ],
            "share_network_id": null,
            "export_locations": [],
            "share_proto": "NFS",
            "host": null,
            "volume_type": "default",
            "snapshot_id": null,
            "is_public": true,
            "metadata": {
                "project": "my_app",
                "aim": "doc"
            },
            "id": "011d21e2-fbc3-4e4a-9993-9ea223f73264",
            "size": 1,
            "description": "My custom share London"
        }
    }

    Cuando el cliente recibe la respuesta del sistema, el sistema de archivos compartido todavía se está creando. Por esta razón, la ruta compartida no se puede consultar inmediatamente. Puede utilizar la API de Consulta de ubicaciones de montaje de un sistema de archivos compartido para consultar la ruta de acceso compartida una vez completada la creación.

Códigos de estado

  • Normal

    200

  • Anormal

    Código de estado

    Descripción

    400 Bad Request

    Se produjo un error en el servidor al procesar la solicitud.

    401 Unauthorized

    Debe introducir un nombre de usuario y la contraseña para acceder a la página solicitada.

    403 Forbidden

    El acceso a la página solicitada está prohibido.

    404 Not Found

    La página solicitada no se ha podido encontrar.

    405 Method Not Allowed

    No se le permite utilizar el método especificado en la solicitud.

    406 Not Acceptable

    El cliente no pudo aceptar la respuesta generada por el servidor.

    407 Proxy Authentication Required

    Debe utilizar el servidor proxy para la autenticación. Entonces la solicitud puede ser procesada.

    408 Request Timeout

    Se agotó el tiempo de espera de la solicitud.

    409 Conflict

    La solicitud no se pudo procesar debido a un conflicto.

    413 Quota Exceeded

    Cuota de usuario insuficiente.

    500 Internal Server Error

    Se produjo un error al completar la solicitud debido a un problema de servicio interno.

    501 Not Implemented

    Error al completar la solicitud porque el servidor no admite la función solicitada.

    502 Bad Gateway

    Error al completar la solicitud porque la solicitud no es válida.

    503 Service Unavailable

    Se produjo un error al completar la solicitud porque el servicio no está disponible.

    504 Gateway Timeout

    Se ha producido un error de tiempo de espera de la puerta de enlace.