Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-02-27 GMT+08:00

Criação de um sistema de arquivos compartilhado

Função

Essa API é usada para criar um sistema de arquivos compartilhado. Depois que o sistema de arquivos for criado, você precisará montá-lo em ECSs para obter o armazenamento de arquivos compartilhados. Para obter detalhes sobre como montar o sistema de arquivos, consulte Primeiros passos do SFS.

Esta API é uma API assíncrona. Se o código de estado retornado for 200, a solicitação da API será entregue e recebida com sucesso. Posteriormente, você pode consultar o status e o caminho do sistema de arquivos compartilhados consultando Consulta de detalhes sobre um sistema de arquivos compartilhado para identificar se a criação foi concluída e bem-sucedida. Se o status do sistema de arquivos compartilhado available ou se o caminho compartilhado for gerado, a criação será bem-sucedida.

Depois que um sistema de arquivos compartilhado é criado com êxito, ele pode ser usado somente depois que você adicionar regras de acesso de compartilhamento, consultando Adição de uma regra de acesso de sistema de arquivos.

URI

  • POST /v2/{project_id}/shares
  • Descrição do parâmetro

    Parâmetro

    Obrigatoriedade

    Tipo

    Descrição

    project_id

    Sim

    String

    Especifica o ID do projeto do operador. Para obter detalhes de como conseguir o ID do projeto, consulte Obtenção de um ID de projeto.

Request Header

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

Solicitação

  • Descrição do parâmetro

    Parâmetro

    Obrigatoriedade

    Tipo

    Descrição

    share

    Sim

    Object

    Para obter detalhes, consulte a descrição do campo de share.

  • Descrição do campo de share

    Parâmetro

    Obrigatoriedade

    Tipo

    Descrição

    share_proto

    Sim

    String

    Especifica o protocolo de compartilhamento de arquivos. O valor pode ser NFS (para SO Linux).

    size

    Sim

    Integer

    Especifica o tamanho (GB) do sistema de arquivos compartilhado. A capacidade aplicada do sistema de arquivos compartilhado não pode ser maior que a cota permitida. Para exibir a cota permitida, consulte Gerenciamento de cota.

    name

    Não

    String

    Especifica o nome do sistema de arquivos compartilhado, que contém de 0 a 255 caracteres e pode conter somente letras, dígitos, hífenes (-) e sublinhados (_).

    description

    Não

    String

    Especifica a descrição do sistema de arquivos compartilhado, que contém de 0 a 255 caracteres e pode conter somente letras, dígitos, hífenes (-) e sublinhados (_).

    is_public

    Não

    Boolean

    (Suportado pelas versões da API de v2.8 a v2.42). Especifica se um sistema de arquivos pode ser visto publicamente. Se estiver definido como true, o sistema de arquivos pode ser visto publicamente. Se for definido como false, o sistema de arquivos pode ser visto de forma privada. O valor padrão é false.

    availability_zone

    Não

    String

    Especifica o nome da zona de disponibilidade. Se esse parâmetro for deixado em branco, a zona de disponibilidade padrão será usada. Se a zona de disponibilidade padrão não contiver recursos de armazenamento, a criação do sistema de arquivos compartilhado falhará. O valor contém de 0 a 255 caracteres.

    metadata

    Não

    Object

    Especifica as informações de metadados usadas para criar o sistema de arquivos compartilhado. O valor consiste em um ou mais pares de chave e valor organizados como um dicionário de cadeias. Para obter detalhes, consulte a descrição do campo de metadata.

    CUIDADO:
    • Por questões de segurança, a API para modificar o campo de metadata ainda não foi aberta. Portanto, verifique se os parâmetros e valores estão corretos ao criar um sistema de arquivos compartilhado com criptografia de dados usando o campo de metadata.
    • A menos que especificado de outra forma (por exemplo, #sfs_crypt_key_id), as chaves que estão em conformidade com as seguintes regras no campo de metadata são para uso interno do sistema. Não personalize as configurações para evitar erros internos do sistema causados por conflitos com chaves predefinidas do sistema.
      • Chave share_used
      • Chaves que começam com #sfs
  • Descrição dos campos de metadata (criação de um sistema de arquivos compartilhado com a função de criptografia)

    Ao criar um sistema de arquivos compartilhado com a função de criptografia, obtenha o ID da chave, o ID do domínio e o alias da chave usando a solicitação HTTPS consultando a seção Consulta da lista de CMKs na Referência de API do Data Encryption Workshop. Em seguida, no campo de metadata, defina os pares chave-valor de acordo com a tabela a seguir. Certifique-se de que os pares chave-valor no campo de metadata estejam corretos.

    Para criar um sistema de arquivos compartilhado com a função de criptografia, todos os parâmetros na tabela a seguir são obrigatórios. Se a função de criptografia não for necessária, esses parâmetros são opcionais.

    Chave

    Tipo do valor

    Obrigatoriedade

    Descrição

    #sfs_crypt_key_id

    String

    Sim

    Especifica o ID da chave de criptografia.

    Se esse campo, #sfs_crypt_domain_id e #sfs_crypt_alias existirem ao mesmo tempo, a função de criptografia de dados será ativada.

    #sfs_crypt_domain_id

    String

    Sim

    Especifica o ID do domínio do locatário.

    Se esse campo, #sfs_crypt_key_id e #sfs_crypt_alias existirem ao mesmo tempo, a função de criptografia de dados será ativada.

    #sfs_crypt_alias

    String

    Sim

    Especifica o alias da chave de criptografia.

    Se esse campo, #sfs_crypt_key_id e #sfs_crypt_domain_id existirem ao mesmo tempo, a função de criptografia de dados será ativada.

    • É aconselhável usar a chave primária padrão sfs/default para criar um sistema de arquivos compartilhado criptografado. Para obter detalhes, consulte a seção "Criptografia do sistema de arquivos" e "Criptografia" no Guia de usuário do Scalable File Service.
  • Quando você cria um sistema de arquivos com um ID de projeto empresarial, a seguinte chave é necessária nos metadados.

    Chave

    Tipo do valor

    Obrigatoriedade

    Descrição

    enterprise_project_id

    String

    Sim

    Especifica o ID do projeto empresarial.

    Quando a função Projeto Empresarial está ativada, enterprise_project_id é usado como uma chave para especificar o ID do projeto empresarial do sistema de arquivos compartilhado.

  • Exemplo de solicitação: POST https://{endpoint}/v2/16e1ab15c35a457e9c2b2aa189f544e1/shares
    {
       "share": {
           "name": "test",
           "description": "test description",
           "share_proto": "NFS",
           "share_network_id": null,
           "size": 1,
           "is_public": false
       }
    }
  • Exemplo de solicitação (criação de um sistema de arquivos compartilhado com função de criptografia de dados): 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
       }
    }
  • Exemplo de solicitação (com a função Projeto Empresarial ativada): 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
       }
    }

Resposta

  • Descrição do parâmetro

    Parâmetro

    Tipo

    Descrição

    share

    Object

    Para obter detalhes, consulte a descrição do campo de share.

  • Descrição do campo share

    Parâmetro

    Tipo

    Descrição

    links

    Array

    Especifica os links de sistemas de arquivos compartilhados.

    availability_zone

    String

    Especifica a zona de disponibilidade.

    share_server_id

    String

    Especifica o ID para gerenciar serviços de compartilhamento.

    id

    String

    Especifica o ID do sistema de arquivos compartilhado.

    size

    Integer

    Especifica o tamanho (GB) do sistema de arquivos compartilhado.

    project_id

    String

    Especifica o ID do projeto ao qual o sistema de arquivos compartilhado pertence.

    metadata

    Object

    Define uma ou mais chaves de metadados e pares de valor como um dicionário de cadeias de caracteres. O valor da chave share_used indica a capacidade usada pelo sistema de arquivos, em bytes. O valor da chave enterprise_project_id indica o ID do projeto empresarial ao qual o sistema de arquivos pertence.

    status

    String

    Especifica o status do sistema de arquivos compartilhado.

    description

    String

    Descreve o sistema de arquivos compartilhado.

    host

    String

    Especifica o nome do host.

    name

    String

    Especifica o nome do sistema de arquivos compartilhado.

    created_at

    String

    Especifica o carimbo de data e hora quando o sistema de arquivos compartilhado foi criado.

    share_proto

    String

    Especifica o protocolo para compartilhar sistemas de arquivos.

    share_type_name

    String

    Especifica o tipo de serviço de armazenamento atribuído ao sistema de arquivos compartilhado, como armazenamento de alto desempenho (composto por SSDs) e armazenamento de grande capacidade (composto por discos SATA). Esse campo é compatível com a API v2.6 e versões posteriores.

    share_type

    String

    Especifica o ID do tipo de sistema de arquivos.

    volume_type

    String

    Especifica o tipo de volume. A definição deste parâmetro é a mesma de share_type.

    export_locations

    Array

    Lista os locais de montagem. Atualmente, apenas um único local de montagem é suportado. Esse parâmetro existe somente quando X-Openstack-Manila-Api-Version especificado no cabeçalho da solicitação é menor que 2.9.

    export_location

    String

    Especifica a localização da montagem. Esse parâmetro existe somente quando X-Openstack-Manila-Api-Version especificado no cabeçalho da solicitação é menor que 2.9.

    is_public

    Boolean

    Especifica o nível de visibilidade do sistema de arquivos compartilhado. Se true for retornado, o sistema de arquivos pode ser visto publicamente. Se false for retornado, o sistema de arquivos pode ser visto privadamente. O valor padrão é false.

  • Exemplo de resposta
    {
        "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"
        }
    }

    Quando o cliente recebe a resposta do sistema, o sistema de arquivos compartilhado ainda está sendo criado. Por esse motivo, o caminho compartilhado não pode ser consultado imediatamente. Você pode usar a API de Consulta de locais de montagem de um sistema de arquivos compartilhado para consultar o caminho compartilhado após a conclusão da criação.

Códigos de estado

  • Normal

    200

  • Anormal

    Código de estado

    Descrição

    400 Bad Request

    O servidor falhou ao processar a solicitação.

    401 Unauthorized

    Você precisa digitar o nome de usuário e senha para acessar a página solicitada.

    403 Forbidden

    O acesso à página solicitada é proibido.

    404 Not Found

    A página solicitada não foi encontrada.

    405 Method Not Allowed

    Você não tem permissão para usar o método especificado na solicitação.

    406 Not Acceptable

    A resposta gerada pelo servidor não poderia ser aceita pelo cliente.

    407 Proxy Authentication Required

    Você deve usar o servidor proxy para autenticação. Em seguida, a solicitação pode ser processada.

    408 Request Timeout

    A solicitação expirou o tempo limite.

    409 Conflict

    A solicitação não pôde ser processada devido a um conflito.

    413 Quota Exceeded

    Cota de usuário insuficiente.

    500 Internal Server Error

    Falhou ao concluir a solicitação porque ocorre um erro de serviço interno.

    501 Not Implemented

    Falhou ao concluir a solicitação porque o servidor não suporta a função solicitada.

    502 Bad Gateway

    Falhou ao concluir a solicitação porque a solicitação é inválida.

    503 Service Unavailable

    Falhou ao concluir a solicitação porque o serviço não está disponível.

    504 Gateway Timeout

    Ocorreu um erro de tempo limite de gateway.