调用CreateFileSystem接口创建文件系统。

接口说明

  • 请确保在使用该接口前,已充分了解NAS产品的计费说明和价格。更多信息,请参见计费说明价格
  • 创建文件系统实例需要通过实名认证。具体操作,请参见账号实名认证
  • 调用此接口将自动创建操作所需的NAS服务关联角色。更多信息,请参见管理NAS服务关联角色

调试

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

请求参数

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

接口名称。

固定取值:CreateFileSystem

FileSystemType String standard

文件系统类型。

取值:

  • standard(默认值):通用型NAS
  • extreme:极速型NAS
  • cpfs:文件存储CPFS
ChargeType String PayAsYouGo

计费类型。

取值:

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

包年包月时长。

单位:月,当ChargeType=Subscription时必填且有效。

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

Capacity Long 100

文件系统容量。

单位:GiB,当FileSystemType=extreme或cpfs时必填且有效。

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

Bandwidth Long 150

文件系统吞吐上限。

单位:MB/s

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

StorageType String Performance

存储类型。

  • 当FileSystemType=standard时,取值:Performance(性能型)、Capacity(容量型)。
  • 当FileSystemType=extreme时,取值:standard(标准型)、advance(高级型)。
  • 当FileSystemType=cpfs时,取值:advance_100(100 MB/s/TiB基线)、advance_200(200 MB/s/TiB基线)。
ZoneId String cn-hangzhou-b

可用区ID。

可用区是指在同一地域内,电力和网络互相独立的物理区域。

当FileSystemType=standard时,该参数非必选,默认根据ProtocolType及StorageType配置随机选择一个符合条件的可用区。当FileSystemType=extreme或FileSystemType=cpfs时,该参数必选。

说明
  • 同一地域不同可用区之间的文件系统与ECS云服务器互通。
  • 建议文件系统与云服务器ECS属于同一可用区,避免跨可用区产生的时延。
ProtocolType String NFS

文件传输协议类型。

  • 当FileSystemType=standard时,取值:NFS、SMB。
  • 当FileSystemType=extreme时,取值:NFS。
  • 当FileSystemType=cpfs时,取值:cpfs。
EncryptType Integer 1

文件系统是否加密。

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

取值:

  • 0(默认值):不加密。
  • 1:NAS托管密钥。当FileSystemType=standard或extreme时,支持NAS托管密钥。
  • 2:用户管理密钥。仅当FileSystemType=extreme时,支持用户管理密钥。
SnapshotId String s-xxx

快照ID。

仅支持极速型NAS。

说明 通过快照创建文件系统,创建的文件系统版本和快照源文件系统版本一致。例如:快照的源文件系统版本是1,需要创建版本2的文件系统,可以先通过快照创建一个文件系统A,然后再创建一个满足版本2配置的文件系统B,把文件系统A中的数据拷贝至文件系统B,拷贝完成后把业务迁移到文件系统B即可。
VpcId String

专有网络ID。

当FileSystemType=cpfs时,必须配置此参数。

当FileSystemType=standard或extreme时,此参数为接口预留参数,暂未生效,您无需配置。

VSwitchId String

交换机ID。

当FileSystemType=cpfs时,必须配置此参数。

当FileSystemType=standard或extreme时,此参数为接口预留参数,暂未生效,您无需配置。

Description String 此文件系统的描述。

文件系统描述。

限制:

  • 长度为2~128个英文或中文字符。
  • 必须以大小写字母或中文开头,不能以http://https://开头。
  • 可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。
ClientToken String 123e4567-e89b-12d3-a456-42665544****

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

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

KMS密钥ID。

仅当EncryptType=2时该参数必填。

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天。

返回数据

名称 类型 示例值 描述
RequestId String 98696EF0-1607-4E9D-B01D-F20930B6****

请求ID。

FileSystemId String 1ca404****

完成创建的文件系统ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateFileSystem
&EncryptType=1
&ProtocolType=NFS
&StorageType=Performance
&ZoneId=cn-hangzhou-b
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

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

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

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

错误码

HttpCode 错误码 错误信息 描述
202 RequestAccepted The request has been accepted by the server. 请求已被后端接受。
400 IdempotentParameterMismatch The same client token was passed in to different parameters. 相同的ClientToken传入了不同的参数。
400 InvalidParameter.KmsServiceNotEnabled Key Management Service is not enabled. 未启用KMS服务。
400 DryRunOperation The request is validated with DryRun flag set. 请求校验通过。
400 SubAccount.NoExtremeSLRPermission The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasExtreme. Please authorize the RAM user the permission ram:CreateServiceLinkedRole. 当前RAM用户没有权限创建AliyunServiceRoleForNasExtreme SLR角色,请授权RAM用户ram:CreateServiceLinkedRole权限。
400 SubAccount.NoStandardSLRPermission The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasStandard. Please authorize the RAM user the permission ram:CreateServiceLinkedRole. 当前RAM用户没有权限创建AliyunServiceRoleForNasStandard SLR角色,请授权RAM用户ram:CreateServiceLinkedRole权限。
400 SubAccount.NoEncryptionSLRPermission The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasEncryption. Please authorize the RAM user the permission ram:CreateServiceLinkedRole. 当前RAM用户没有权限创建AliyunServiceRoleForNasEncryption SLR角色,请授权RAM用户ram:CreateServiceLinkedRole权限。
400 InvalidParam.NotSupportBYOK The specified file system type does not support the BYOK encryption function. 指定文件系统类型不支持用户管理密钥(KMS)加密。
400 MissingParameter.KmsKeyId When parameter EncryptType equals 2, the parameter KmsKeyId is mandatory for your request. 当加密类型为用户管理密钥(KMS)时,KmsKeyId参数必填。
403 OperationDenied.InvalidState The operation is not permitted when the status is processing. 状态处理中不允许此操作。
403 InvalidFileSystem.AlreadyExisted The specified file system already exists. 指定的文件系统已存在。
403 Resource.OutOfStock The inventory of the specified zone is insufficient. 指定的可用区库存不足。

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