调用CreateFileSystem创建一个文件系统。
接口说明
- 请确保在使用该接口前,已充分了解NAS产品的计费说明和价格。更多信息,请参见计费说明和价格。
- 创建文件系统实例需要通过实名认证。具体操作,请参见账号实名认证。
- 调用此接口将自动创建操作所需的NAS服务关联角色。更多信息,请参见管理NAS服务关联角色。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateFileSystem | 接口名称。 固定取值:CreateFileSystem |
FileSystemType | String | 否 | standard | 文件系统类型。 取值:
|
ChargeType | String | 否 | PayAsYouGo | 计费类型。 取值:
|
Duration | Integer | 否 | 1 | 包年包月时长。 单位:月,当ChargeType=Subscription时必填且有效。 当包年包月实例到期时未进行续费,实例到期会自动释放。 |
Capacity | Long | 否 | 100 | 文件系统容量。单位:GiB。 当FileSystemType=extreme或cpfs时必填且有效。 可选值请参考购买页面的实际规格: |
Bandwidth | Long | 否 | 150 | 文件系统吞吐上限。 单位:MB/s 具体可选规格值请参考购买页面的实际规格。 |
StorageType | String | 是 | Performance | 存储类型。
|
ZoneId | String | 否 | cn-hangzhou-b | 可用区ID。 可用区是指在同一地域内,电力和网络互相独立的物理区域。 当FileSystemType=standard时,该参数非必选,默认根据ProtocolType及StorageType配置随机选择一个符合条件的可用区。 当FileSystemType=extreme或FileSystemType=cpfs时,该参数必选。 说明
|
ProtocolType | String | 是 | NFS | 文件传输协议类型。
|
EncryptType | Integer | 否 | 1 | 文件系统是否加密。 使用KMS服务托管密钥,对文件系统落盘数据进行加密存储。在读写加密数据时,无需解密。 取值:
说明 仅以下地域支持用户管理密钥(KMS)功能。
|
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 | 否 | 此文件系统的描述。 | 文件系统描述。 限制:
|
ClientToken | String | 否 | 123e4567-e89b-12d3-a456-42665544**** | 保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多信息,请参见如何保证幂等性。 说明 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。 |
KmsKeyId | String | 否 | 无 | KMS密钥ID。 仅当EncryptType=2时该参数必填。 |
DryRun | Boolean | 否 | true | 是否对此次创建请求执行预检。 预检操作会帮助您检查参数有效性、校验库存等,并不会实际创建实例,也不会产生费用。 取值:
|
关于API幂等性,您需要注意以下事项:
由于CreateFileSystem接口涉及云资源的创建和费用,您在调用该API时,如果发生请求超时或服务端内部错误,客户端可能会尝试重发请求。建议您在请求中设置ClientToken参数以避免因多次重试导致的重复下单的问题。
ClientToken参数的详细信息如下所示:
- ClientToken是一个由客户端生成的唯一的、大小写敏感、不超过64个ASCII字符的字符串。例如:
ClientToken=123e4567-e89b-12d3-a456-42665544****
- 如果您提供了一个已经使用过的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. | 指定的可用区库存不足。 |
访问错误中心查看更多错误码。