调用CreateFileSystem创建文件系统。

接口说明

CreateFileSystem接口用于创建文件系统实例。

请确保在使用该接口前,已充分了解NAS产品的收费方式和价格

创建实例需要通过实名认证,您可以参见账号实名认证相关文档完成认证。

创建实例时,您还需要注意以下几点:

以下是各实例类型的创建示例:

  • 创建通用型NAS:
    java
        public void createFileSystem(IAcsClient client) throws Exception{
            CreateFileSystemRequest request = new CreateFileSystemRequest();
            request.setFileSystemType("standard");  //创建通用型NAS
            request.setStorageType(storageType);  //Performance(性能型) or Capacity(容量型)
            request.setProtocolType(protocolType);  //NFS or SMB
            request.setZoneId(zoneId);  //可用区
            request.setDescription(description);  //文件系统描述
    
            CreateFileSystemResponse response = client.getAcsResponse(request);
            response.getFileSystemId();  //获取NAS实例ID
        }
    
  • 创建极速型NAS:
    java
        public void createFileSystem(IAcsClient client) throws Exception{
            CreateFileSystemRequest request = new CreateFileSystemRequest();
            request.setFileSystemType("extreme");  //创建极速型NAS
            request.setChargeType(chargeType);  //PayAsYouGo(按量付费),Subscription(包年包月)
            request.setDuration(1);  //若ChargeType=Subscription,则Duration必填,单位是月
            request.setCapacity(capacity);  //指定容量,参考上述实例规格
            request.setBandwidth(bandwidth);  //指定吞吐,参考上述实例规格
            request.setStorageType(storageType);  //standard(标准型) or advance(高级型)
            request.setProtocolType(protocolType);  //NFS(目前极速型NAS只支持NFS)
            request.setEncryptType(encryptType);  //指定是否加密
            request.setSnapshotId(snapshotId);  //指定是否从已有快照创建NAS
            request.setZoneId(zoneId);  //可用区
            request.setClientToken(clientToken);  //指定客户端ClientToken,以此保证本次API请求的幂等性
            request.setDryRun(dryRun);  //通过指定该参数为true,可以实现创建NAS资源的预检判断,比如判断库存是否充足等,指定为true时系统仅做资源预创建的判断,不会生成NAS实例,也不会产生费用
    
            CreateFileSystemResponse response = client.getAcsResponse(request);
            response.getFileSystemId();  //获取NAS实例ID
        }
    
  • 创建并行文件系统CPFS:
    java
        public void createFileSystem(IAcsClient client) throws Exception{
            CreateFileSystemRequest request = new CreateFileSystemRequest();
            request.setFileSystemType("cpfs");  //创建并行文件系统CPFS
            request.setChargeType(chargeType);  //PayAsYouGo(按量付费),Subscription(包年包月)
            request.setDuration(1);  //若ChargeType=Subscription,则Duration必填,单位是月
            request.setCapacity(capacity);  //指定容量,参考上述实例规格
            request.setBandwidth(bandwidth);  //指定吞吐,参考上述实例规格
            request.setStorageType(storageType);  //standard(标准型) or advance(高级型)
            request.setZoneId(zoneId);  //可用区
            request.setClientToken(clientToken);  //指定客户端ClientToken,以此保证本次API请求的幂等性
            request.setDryRun(dryRun);  //通过指定该参数为true,可以实现创建CPFS资源的预检判断,比如判断库存是否充足等,指定为true时系统仅做资源预创建的判断,不会生成NAS实例,也不会产生费用
    
            CreateFileSystemResponse response = client.getAcsResponse(request);
            response.getFileSystemId();  //获取NAS实例ID
        }
    

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateFileSystem

系统规定参数

取值:CreateFileSystem

EncryptType Integer 1

是否创建加密文件系统,当FileSystemType=standard或extreme时有效。

使用KMS服务托管密钥,对文件系统落盘数据进行加密存储。在读写加密数据时,无需解密。

  • 0表示不加密。
  • 1表示加密。
ProtocolType String NFS

协议类型,当FileSystemType=standard或extreme时必填且有效。

可选值:

  • NFS
  • SMB
StorageType String Performance

存储类型:

  • 当FileSystemType=standard时,可选值为Performance(性能型)和Capacity(容量型)。
  • 当FileSystemType=extreme时,可选值为standard(标准型)和advance(高级型)。
  • 当FileSystemType=cpfs时,可选值为standard(标准型)和advance(高级型)。
ZoneId String cn-hangzhou-b

可用区ID:

可用区是指在同一地域内,电力和网络互相独立的物理区域。同一地域不同可用区之间的文件系统与ECS云服务器互通。建议和云服务器ECS在同一可用区,避免跨可用区产生的时延。

FileSystemType String standard

文件系统类型:

  • standard(通用型NAS,默认值)
  • extreme(极速型NAS)
  • cpfs(并行文件系统CPFS)
ChargeType String PayAsYouGo

付费类型:

  • PayAsYouGo(按量付费)
  • Subscription(包年包月)
Duration Integer 1

包年包月时长,单位是月。当ChargeType=Subscription时必填且有效。

当包年包月实例到期时未进行续费,实例会自动到期释放。

Capacity Long 100

文件系统容量,单位是GB。当FileSystemType=extreme或cpfs时必填且有效。

具体可选规格值请参考购买页面的实际规格:

Bandwidth Long 150

文件系统吞吐上限,单位是MB/s。仅当FileSystemType=cpfs时必填且有效。

具体可选规格值请参考购买页面的实际规格:

SnapshotId String s-xxx

快照ID,可以通过指定该参数实现从指定快照创建NAS实例,目前仅支持极速型NAS。

说明 通过快照创建文件系统,创建的文件系统版本和快照源文件系统版本一致。如果快照的源文件系统版本是1,需要创建版本2性能规格的文件系统,可以先通过快照创建一个文件系统,然后再创建一个新的文件系统,把通过快照创建的文件系统中的数据拷贝到新创建的文件系统,拷贝完成后把业务迁移到新的文件系统即可。
VpcId String vpc-xxx

专有网络ID,指定VpcId和VSwitchId可以在创建文件系统实例的同时预配置好一个默认挂载点。

VSwitchId String vsw-xxx

专有虚拟交换机ID。指定VpcId和VSwitchId,可以在创建文件系统实例时预配置好一个默认挂载点。

Description String 此文件系统的描述。

文件系统描述,长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://https://开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。

ClientToken String 123e4567-e89b-12d3-a456-42665544****

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多详情请参见如何保证幂等性

说明 若用户未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。
DryRun Boolean true

是否对此次创建请求执行预检,预检操作会帮助您检查参数有效性、校验库存等,并不会实际创建实例,也不会产生费用。

取值范围:

  • true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数、请求格式、业务限制和NAS库存。如果检查不通过,则返回对应错误。如果检查通过,则返回200 HttpCode,但FileSystemId为空。
  • false(默认):发送正常请求,通过检查后直接创建实例。

关于API幂等性,您需要注意以下事项:

由于CreateFileSystem接口涉及云资源的创建和费用,您在调用该API时,如果发生请求超时或服务端内部错误,客户端可能会尝试重发请求。您可以在请求中设置ClientToken参数避免多次重试重复下单的问题,以此来保证重试请求的幂等性,这会保证您最多只会创建一笔订单(也可能因网络超时或服务端内部错误,未创建出订单)。

ClientToken参数的详细信息如下所示:

  • ClientToken是一个由客户端生成的唯一的、大小写敏感、不超过64个ASCII字符的字符串。例如:
    ClientToken=123e4567-e89b-12d3-a456-426655440000
  • 如果您提供了一个已经使用过的ClientToken,但其他请求参数有变化,则ECS会返回IdempotentParameterMismatch的错误代码。
    说明 参数SignatureNonce、Timestamp和Signature在重试时是需要变化的。具体原因是ECS使用SignatureNonce防止重放攻击,使用Timestamp标记每次请求时间。所以再次请求必须提供不同的SignatureNonce和Timestamp参数值,同时也会导致Signature值的变化。
  • 添加了ClientToken参数后:
    • 返回结果是200 HTTPCode时,重试后客户端可以得到与上次相同的结果,但对您的服务端状态没有影响。
    • 返回结果是4xx HTTPCode时,如果错误信息没有表明try it later类似的信息,重试永远不会成功,您需要根据错误信息排查问题后修改请求参数后再重试请求。
    • 返回结果是5xx HTTPCode时,表明请求可能是发生网络超时或服务端内部错误,您可以重新发送同一个请求(必须包含相同ClientToken和业务请求参数)以确认请求结果。
  • ClientToken有效期为30天。

返回数据

名称 类型 示例值 描述
FileSystemId String 1ca404****

完成创建的文件系统ID

RequestId String 98696EF0-1607-4E9D-B01D-F20930B68845

请求ID

示例

请求示例

GET https://nas.cn-hangzhou.aliyuncs.com/?Action=CreateFileSystem
&EncryptType=1
&ProtocolType=NFS
&StorageType=Performance
&ZoneId=cn-hangzhou-b
&<公共请求参数>

正常返回示例

XML 格式

<RequestId>98696EF0-1607-4E9D-B01D-F20930B68845</RequestId>
<FileSystemId>1ca404****</FileSystemId>

JSON 格式

{
    "RequestId": "98696EF0-1607-4E9D-B01D-F20930B68845",
    "FileSystemId": "1ca404****"
}

错误码

访问错误中心查看更多错误码。