CreateFileSystem - 创建文件系统
创建一个文件系统。
接口说明
-
创建文件系统实例需要通过实名认证。具体操作,请参见账号实名认证。
-
调用此接口将自动创建操作所需的 NAS 服务关联角色。更多信息,请参见管理 NAS 服务关联角色。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
nas:CreateFileSystem |
create |
*FileSystem
|
|
无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| FileSystemType |
string |
否 |
文件系统类型。 取值:
枚举值:
|
standard |
| ChargeType |
string |
否 |
计费类型。 取值:
枚举值:
|
PayAsYouGo |
| Duration |
integer |
否 |
包年包月时长。 单位:月,当 ChargeType=Subscription 时必填且有效。 当包年包月实例到期时未进行续费,实例到期会自动释放。 |
1 |
| Capacity |
integer |
否 |
文件系统容量。单位:GiB。 当 FileSystemType=extreme、cpfs 或 cpfsse 时必填且有效。 可选值请参考购买页面的实际规格: |
100 |
| Bandwidth |
integer |
否 |
文件系统吞吐上限。 单位:MB/s 具体可选规格值请参考购买页面的实际规格。 |
150 |
| StorageType |
string |
是 |
存储类型。
枚举值:
|
Performance |
| ZoneId |
string |
否 |
可用区 ID。 可用区是指在同一地域内,电力和网络互相独立的物理区域。 当 FileSystemType=standard 时,该参数非必选,默认根据 ProtocolType 及 StorageType 配置随机选择一个符合条件的可用区。 当 FileSystemType=extreme 或 FileSystemType=cpfs 时,该参数必选。 说明
|
cn-hangzhou-b |
| ProtocolType |
string |
是 |
文件传输协议类型。
枚举值:
|
NFS |
| EncryptType |
integer |
否 |
文件系统是否加密。 使用 KMS 服务托管密钥,对文件系统落盘数据进行加密存储。在读写加密数据时,无需解密。 取值:
说明
枚举值:
|
1 |
| SnapshotId |
string |
否 |
快照 ID。 仅支持存储规格为高级型的极速型 NAS。 说明
通过快照创建文件系统,创建的文件系统版本和快照源文件系统版本一致。例如:快照的源文件系统版本是 1,需要创建版本 2 的文件系统,可以先通过快照创建一个文件系统 A,然后再创建一个满足版本 2 配置的文件系统 B,把文件系统 A 中的数据拷贝至文件系统 B,拷贝完成后把业务迁移到文件系统 B 即可。 |
s-extreme-snapsho**** |
| VpcId |
string |
否 |
专有网络 ID。
|
vpc-bp18cx9a7zoh0h9b4**** |
| VSwitchId |
string |
否 |
交换机 ID。
|
vsw-bp131dkqilvw5pnlt**** |
| Description |
string |
否 |
文件系统描述。 限制:
|
此文件系统的描述。 |
| ClientToken |
string |
否 |
保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性。 说明
若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 可能不一样。 |
123e4567-e89b-12d3-a456-42665544**** |
| KmsKeyId |
string |
否 |
KMS 密钥 ID。 仅当 EncryptType=2 时该参数必填。 |
fcbd****-62**-4a**-b605-c58cc1d5**** |
| DryRun |
boolean |
否 |
是否对此次创建请求执行预检。 预检操作会帮助您检查参数有效性、校验库存等,并不会实际创建实例,也不会产生费用。 取值:
|
true |
| ResourceGroupId |
string |
否 |
资源组 ID。 您可以通过资源管理控制台查看资源组 ID。 |
rg-acfmwavnfdf**** |
| Tag |
array<object> |
否 |
标签数组。 数组长度:1~20。如果数组中有多个标签对象,标签键 Key 不允许重复。 |
|
|
object |
否 |
标签对象。 |
||
| Key |
string |
否 |
标签键。 限制:
|
nastest |
| Value |
string |
否 |
标签值。 限制:
|
testValue |
| RedundancyType |
string |
否 |
存储冗余类型。仅 CPFS SE 生效。 可选:ZRS 枚举值:
|
ZRS |
| RedundancyVSwitchIds |
array |
否 |
同城冗余虚拟交换机 ID 列表 当设置 RedundancyType 为 ZRS 时,必须设置该字段。且必须填入 3 个交换机 ID,且满足来自三个不同的可用区。 |
|
|
string |
否 |
同城冗余虚拟交换机 ID 列表 |
vsw-123xxx |
关于 API 幂等性,您需要注意以下事项:
由于 CreateFileSystem 接口涉及云资源的创建和费用,您在调用该 API 时,如果发生请求超时或服务端内部错误,客户端可能会尝试重发请求。建议您在请求中设置 ClientToken 参数以避免因多次重试导致的重复下单的问题。
当前只有 FileSystemType 参数为 extreme、cpfs 时,该 API 支持幂等;当 FileSystemType 参数为 standard 时,该 API 不支持幂等。
ClientToken 参数的详细信息如下所示:
ClientToken 是一个由客户端生成的唯一的、大小写敏感、不超过 64 个 ASCII 字符的字符串。例如:
ClientToken=123e4567-e89b-12d3-a456-42665544****如果您提供了一个已经使用过的 ClientToken,但其他请求参数有变化,则 NAS 会返回 IdempotentParameterMismatch 的错误代码。
参数 SignatureNonce、Timestamp 和 Signature 在重试时是需要变化的。具体原因是 NAS 使用 SignatureNonce 防止重放攻击,使用 Timestamp 标记每次请求时间。所以再次请求必须提供不同的 SignatureNonce 和 Timestamp 参数值,同时也会导致 Signature 值的变化。
-
添加了 ClientToken 参数后:
返回结果是 200 HTTPCode 时,重试后客户端可以得到与上次相同的结果,但对您的服务端状态没有影响。
返回结果是 4xx HTTPCode 时,如果错误信息没有表明 try it later 类似的信息,重试永远不会成功,您需要根据错误信息排查问题后修改请求参数后再重试请求。
返回结果是 5xx HTTPCode 时,表明请求可能是发生网络超时或服务端内部错误,您可以重新发送同一个请求(必须包含相同 ClientToken 和业务请求参数)以确认请求结果。
-
ClientToken 有效期为 30 天。
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
结构,不参与评审,不显示。 |
||
| RequestId |
string |
请求 ID。 |
98696EF0-1607-4E9D-B01D-F20930B6**** |
| FileSystemId |
string |
完成创建的文件系统 ID。 |
1ca404**** |
示例
正常返回示例
JSON格式
{
"RequestId": "98696EF0-1607-4E9D-B01D-F20930B6****",
"FileSystemId": "1ca404****"
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 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参数必填。 |
| 400 | InvalidParameter.InvalidKmsKeyId | The specified KMS key ID is invalid. | KMS KeyId为非法值。 |
| 400 | InvalidParameter.KmsKeyIdNotFound | The specified KMS key ID does not exist. | KMS KeyId不存在。 |
| 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. | 指定的可用区库存不足。 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。