华为云用户手册

  • 字段设计规范 字段设计应使用推荐类型。 字段设计需使用推荐字段,如果需要使用禁用、不推荐的字段类型,建议联系技术支持进行评估。 这些数据类型不推荐或禁止的原因是业务使用场景较少,未大规模商用。 对于业务上有迫切字段类型要求的,联系技术支持,提交需求。 表1 数据库数据类型最佳实践 数据类型 说明 是否推荐 UUID 不同集群可能产生相同UUID 禁止,建议业务直接采用中间件平台提供的分布式ID 序列整型 即自增列,包括SMALLSERIAL,SERIAL,BIGSERIAL 禁止 整数类型 TINYINT, SMALLINT, INTEGER, BIGINT 推荐 任意精度类型 NUMERIC/DEMICAL 推荐 浮点类型 REAL/FLOAT4,DOUBLE PRECISION/FLOAT8,FLOAT 推荐 布尔类型 BOOLEAN 推荐 定长字符 CHAR(n) 推荐 变长字符 VARCHAR(n),NVARCHAR2(n) VARCHAR/TEXT 推荐 时间类型 DATE, TIME, TIMESTAMP, SMALLDATETIME, INTERVAL, REALTIME 推荐 TIMETZ,TIMESTAMPTZ 不推荐 二进制类型 BYTEA(变长二进制类型) 推荐 CLOB(字符大对象),BLOB(二进制大对象),RAW(变长十六进制) 禁止 位串类型 BIT(n), VARBIT(n) 推荐 特殊字符类型 NAME,"CHAR",通常供数据库系统内部使用 禁止 JSON类型 JSON类型目前不支持操作符 禁止 自定义类型 可用于定义枚举EMU等类型 禁止 HLL数据类型 建议直接使用HLL相关函数,减少性能影响 禁止 货币类型 MONEY 存储带有固定小数精度的货币金额 禁止 几何类型 POINT, LSEG, BOX, PATH, POLYGON, CIRCLE 禁止 网络地址类型 存储IPV4 IPV6 MAC地址数据类型 禁止 文本搜索类型 用于支持全文检索 禁止 合理选用字符串数据类型。优先使用变长字符类VARCHAR。只有该字段输入确定为固定字符则使用定长字符类型,或需要自动补充空格,才使用CHAR(n)。 典型的定长字段类型,例如“sex”字段,仅允许输入“f”或“m”一个字节长度的字符。这类字段建议使用定长数据类型(如CHAR(n))。 如果不存在此特点,或者后续可能扩展需要输入更长的字符,请优先使用变长字符类型(如VARCHAR, TEXT),且不建议指定变长类型的长度。 原因如下: 定长字段会对不够长度的输入数据补充空格,然后存入数据库中,产生不必要的存储空间浪费。 如果定义为定长字符类型,后续扩展长度,需要对全表进行扫描重写,性能开销大,影响在线业务。 对于指定固定长度的变长字段,每次插入时会检查是否长度越界,带来性能开销。 字符类型字段不应存储数字类型的数据。 如果对存储在字符类型字段中的数据进行数值计算,或者与数值进行比较操作(如置于过滤条件中),会带来不必要的数据类型转换的开销,同时该字段上的索引可能失效,影响查询性能。 字符类型字段不应存储时间或日期类数据。 如果对存储在字符类型字段中的数据与日期类数据进行计算或比较操作(如置于过滤条件中),会带来不必要的数据类型转换的开销,同时该字段上的索引可能失效,影响查询性能。 对于明确不存在NULL值的字段加上NOT NULL约束。 对于NOT NULL字段,优化器在某些场景下会进行特殊优化,可较大提升查询性能。 相关联字段的数据类型应保持一致。 在进行关联操作时,如果字段类型不一致,会带来数据类型转换开销。 大字段(例如varchar(1000)、varchar(4000))不建议超过8个。 字段定义时建议同时创建COMMENT注释信息,以便于未来维护。 不同类型字段说明、取值范围及使用方法请参考数据类型章节。 用于WHERE条件过滤和关联的字段都应设置NOT NULL约束。 对于NOT NULL字段,优化器在某些场景下会进行特殊优化,可较大提升查询性能。 不建议对表预留字段。大部分场景下可支持快速新增、删除表字段,或者修改字段的DEFAULT值。 新增列必须符合以下要求,否则会带来全表更新开销,影响在线业务。 数据类型为以下类型中的一种:BOOL, BYTEA, SMALLINT, BIGINT, SMALLINT, INTEGER, NUMERIC, FLOAT, DOUBLE PRECISION, CHAR, VARCHAR, TEXT, TIMESTAMPTZ, TIMESTAMP, DATE, TIME, TIMETZ, INTERVAL; 新增列的DEFAULT值长度不超过128个字节; 新增列DEFAULT值不包含volatile函数; 新增列设置有DEFAULT值,且DEFAULT值不为NULL。 如果不确定是否满足条件,请联系数据库技术人员进行评估。 尽量使用高效的数值类数据类型。在满足业务精度的情况下,选择的优先级从高到低依次为整数、浮点数、NUMERIC。 合理设置数值字段的数据类型,根据取值范围选择合适的数值类型,尽量少用NUMERIC/DECIMAL类型。 NUMERIC和DECIMAL等价,NUMERIC(或DECIMAL)数据类型操作对CPU消耗较高。 表2 数值类数据类型存储空间及取值范围 类型 存储空间/Byte 最小值 最大值 TINYINT 1 0 255 SMALLINT 2 -32768 32767 INTEGER 4 -2,147,483,648 2,147,483,647 BIGINT 8 -9,223,372,036,854,775,808 9,223,372,036,854,775,807 REAL/FLOAT4 4 6位十进制数字精度 DOUBLE PRECISION/FLOAT8 8 15位十进制数字精度 父主题: 数据库设计规范
  • 响应示例 状态码: 200 查询SNAT规则成功。 { "snat_rule" : { "floating_ip_id" : "bdc10a4c-d81a-41ec-adf7-de857f7c812a", "status" : "ACTIVE", "nat_gateway_id" : "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up" : true, "network_id" : "eaad9cd6-2372-4be1-9535-9bd37210ae7b", "source_type" : 0, "tenant_id" : "d199ba7e0ba64899b2e81518104b1526", "created_at" : "2017-11-18 07:54:21.665430", "id" : "5b95c675-69c2-4656-ba06-58ff72e1d338", "floating_ip_address" : "5.21.11.226", "freezed_ip_address" : "", "description" : "my snat rule 01" }}
  • 响应示例 状态码: 200 查询公网NAT网关实例成功。 { "nat_gateway" : { "id" : "14338426-6afe-4019-996b-3a9525296e11", "name" : "nat-gateway-name", "description" : "nat-gateway-description", "spec" : "1", "router_id" : "d84f345c-80a1-4fa2-a39c-d0d397c3f09a", "tenant_id" : "70505c941b9b4dfd82fd351932328a2f", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "internal_network_id" : "89d66639-aacb-4929-969d-07080b0f9fd9", "status" : "ACTIVE", "admin_state_up" : true, "created_at" : "2019-04-22T08:47:13" }}
  • 请求示例 添加公网NAT网关资源标签,其中,标签键为“key1”,对应的值为“value1”。 POST https://{VPC_endpoint}/v2.0/9ad601814ac94c80bf7bb9073ded66fc/nat_gateways/fe1a4cf0-27fe-4b97-a9b1-2c67c127f0e0/tags{ "tag" : { "key" : "key1", "value" : "value1" }}
  • 响应示例 状态码: 201 创建SNAT规则成功。 { "snat_rule" : { "floating_ip_id" : "bdc10a4c-d81a-41ec-adf7-de857f7c812a", "status" : "PENDING_CREATE", "nat_gateway_id" : "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up" : true, "cidr" : "172.30.0.0/24", "description" : "", "source_type" : 1, "tenant_id" : "27e25061336f4af590faeabeb7fcd9a3", "created_at" : "2017-11-18 07:54:21.665430", "id" : "5b95c675-69c2-4656-ba06-58ff72e1d338", "floating_ip_address" : "5.21.11.226" }}
  • 请求示例 创建SNAT规则,其中,公网NAT网关的id为a78fb3eb-1654-4710-8742-3fc49d5f04f8,弹性公网IP的id为bdc10a4c-d81a-41ec-adf7-de857f7c812a。 POST https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/snat_rules{ "snat_rule" : { "nat_gateway_id" : "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "cidr" : "172.30.0.0/24", "source_type" : 1, "floating_ip_id" : "bdc10a4c-d81a-41ec-adf7-de857f7c812a", "description" : "my snat rule 01" }}
  • 请求示例 创建公网NAT网关实例,其中,实例名称为nat_001,所属的VPC的id为d84f345c-80a1-4fa2-a39c-d0d397c3f09a,公网NAT网关下行口(DVR的下一跳)所属的network id为89d66639-aacb-4929-969d-07080b0f9fd9,SNAT最大连接数为10000。 POST https://{Endpoint}/v2/70505c941b9b4dfd82fd351932328a2f/nat_gateways { "nat_gateway" : { "name" : "nat_001", "description" : "my nat gateway 01", "router_id" : "d84f345c-80a1-4fa2-a39c-d0d397c3f09a", "internal_network_id" : "89d66639-aacb-4929-969d-07080b0f9fd9", "spec" : "1", "enterprise_project_id" : "0aad99bc-f5f6-4f78-8404-c598d76b0ed2" }}
  • 响应示例 状态码: 201 创建公网NAT网关实例成功。 { "nat_gateway" : { "id" : "14338426-6afe-4019-996b-3a9525296e11", "name" : "nat_001", "description" : "my nat gateway 01", "router_id" : "d84f345c-80a1-4fa2-a39c-d0d397c3f09a", "spec" : "1", "admin_state_up" : true, "tenant_id" : "70505c941b9b4dfd82fd351932328a2f", "internal_network_id" : "89d66639-aacb-4929-969d-07080b0f9fd9", "enterprise_project_id" : "0aad99bc-f5f6-4f78-8404-c598d76b0ed2", "status" : "ACTIVE", "created_at" : "2019-04-22T08:47:13" }}
  • 请求示例 创建DNAT规则,其中,公网NAT网关实例id为cda3a125-2406-456c-a11f-598e10578541,虚拟机对外提供服务的协议端口号为993,弹性公网IP的id为bf99c679-9f41-4dac-8513-9c9228e713e1,协议类型为tcp协议。 POST https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules{ "dnat_rule" : { "nat_gateway_id" : "cda3a125-2406-456c-a11f-598e10578541", "floating_ip_id" : "bf99c679-9f41-4dac-8513-9c9228e713e1", "port_id" : "9a469561-daac-4c94-88f5-39366e5ea193", "internal_service_port" : 993, "protocol" : "tcp", "external_service_port" : 242, "description" : "my dnat rule 01" }}
  • 响应示例 状态码: 201 创建DNAT规则成功。 { "dnat_rule" : { "floating_ip_id" : "bf99c679-9f41-4dac-8513-9c9228e713e1", "status" : "ACTIVE", "nat_gateway_id" : "cda3a125-2406-456c-a11f-598e10578541", "admin_state_up" : true, "port_id" : "9a469561-daac-4c94-88f5-39366e5ea193", "internal_service_port" : 993, "protocol" : "tcp", "tenant_id" : "d199ba7e0ba64899b2e81518104b1526d", "created_at" : "2019-11-15 15:44:42.595173", "id" : "79195d50-0271-41f1-bded-4c089b2502ff", "external_service_port" : 242, "floating_ip_address" : "5.21.11.226", "description" : "my dnat rule 01" }}
  • 响应示例 状态码: 201 POST操作正常返回。 { "dnat_rules" : [ { "floating_ip_id" : "bf99c679-9f41-4dac-8513-9c9228e713e1", "status" : "ACTIVE", "nat_gateway_id" : "cda3a125-2406-456c-a11f-598e10578541", "admin_state_up" : true, "port_id" : "9a469561-daac-4c94-88f5-39366e5ea193", "private_ip" : "", "internal_service_port" : 993, "protocol" : "tcp", "tenant_id" : "d199ba7e0ba64899b2e81518104b1526", "created_at" : "2019-11-15 15:44:42.595173", "id" : "79195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address" : "5.21.11.226", "external_service_port" : 242, "description" : "my dnat rule 01" }, { "floating_ip_id" : "cf99c679-9f41-4dac-8513-9c9228e713e1", "status" : "ACTIVE", "nat_gateway_id" : "dda3a125-2406-456c-a11f-598e10578541", "admin_state_up" : true, "port_id" : "", "private_ip" : "192.168.1.100", "internal_service_port" : 0, "protocol" : "any", "tenant_id" : "d199ba7e0ba64899b2e81518104b1526", "created_at" : "2019-11-15 15:44:42.595173", "id" : "79195d50-0271-41f1-bded-4c089c2502ff", "floating_ip_address" : "5.21.11.227", "external_service_port" : 0, "description" : "my dnat rule 01" } ]}
  • 请求示例 批量创建DNAT规则(第一条为指定端口的规则,第二条为all port类型的规则),其中,公网NAT网关实例的id为dda3a125-2406-456c-a11f-598e10578541",虚拟机对外提供服务的协议端口号为993,弹性公网IP的id为cf99c679-9f41-4dac-8513-9c9228e713e1,协议类型为any协议。 POST https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/batch{ "dnat_rules" : [ { "floating_ip_id" : "bf99c679-9f41-4dac-8513-9c9228e713e1", "nat_gateway_id" : "cda3a125-2406-456c-a11f-598e10578541", "port_id" : "9a469561-daac-4c94-88f5-39366e5ea193", "internal_service_port" : 993, "protocol" : "tcp", "external_service_port" : 242, "description" : "my dnat rule 01" }, { "floating_ip_id" : "cf99c679-9f41-4dac-8513-9c9228e713e1", "nat_gateway_id" : "dda3a125-2406-456c-a11f-598e10578541", "private_ip" : "192.168.1.100", "internal_service_port" : 0, "protocol" : "any", "external_service_port" : 0, "description" : "my dnat rule 01" } ]}
  • 公网NAT网关DNAT规则 权限 对应API接口 授权项(Action) IAM项目(Project) 企业项目(Enterprise Project) 创建DNAT规则 POST /v2/{project_id}/dnat_rules nat:dnatRules:create √ √ 批量创建DNAT规则 POST /v2/{project_id}/dnat_rules/batch nat:dnatRules:create √ √ 查询DNAT规则列表 GET /v2/{project_id}/dnat_rules nat:dnatRules:list √ √ 查询DNAT规则详情 GET /v2/{project_id}/dnat_rules/{dnat_rule_id } nat:dnatRules:get √ √ 删除DNAT规则 DELETE /v2/{project_id}/nat_gateways/{nat_gateway_id}/dnat_rules/{dnat_rule_id} nat:dnatRules:delete √ √ 更新DNAT规则 PUT /v2/{project_id}/dnat_rules/{dnat_rule_id} nat:dnatRules:update √ √ 父主题: 权限策略和授权项
  • 请求示例 批量添加公网NAT网关资源标签,其中,操作标识为create,标签列表中包含两个标签,其中第一个标签键为“key1”,对应的值为“value1”,第二个标签键为“key2”,对应的值为“value2”。 POST https://{VPC_endpoint}/v2.0/9ad601814ac94c80bf7bb9073ded66fc/nat_gateways/fe1a4cf0-27fe-4b97-a9b1-2c67c127f0e0/tags/action{ "action" : "create", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" } ]} 批量删除公网NAT网关资源标签,其中,操作标识为delete,标签列表中包含两个标签,其中第一个标签键为“key1”,对应的值为“value1”,第二个标签键为“key2”,对应的值为“value2”。 { "action" : "delete", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" } ]}
  • URI DELETE /v2/{project_id}/nat_gateways/{nat_gateway_id}/dnat_rules/{dnat_rule_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目的ID。 最小长度:1 最大长度:36 获取方法详见获取项目ID。 nat_gateway_id 是 String 公网NAT网关实例的ID。 长度:36 dnat_rule_id 是 String DNAT规则的ID。 长度:36
  • URI DELETE /v2/{project_id}/nat_gateways/{nat_gateway_id}/snat_rules/{snat_rule_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目的ID。 最小长度:1 最大长度:36 获取方法详见获取项目ID。 nat_gateway_id 是 String 公网NAT网关实例的ID。 长度:36 snat_rule_id 是 String SNAT规则的ID。 长度:36
  • 响应示例 状态码: 201 创建SNAT规则成功。 { "snat_rule" : { "id" : "af4dbb83-7ca0-4ed1-b28b-668c1f9c6b81", "project_id" : "cfa563efb77d4b6d9960781d82530fd8", "description" : "snat rule description", "gateway_id" : "80da6f26-94eb-4537-97f0-5a56f4d04cfb", "cidr" : "", "virsubnet_id" : "5b9ea497-727d-4ad0-a99e-3984b3f5aaed", "transit_ip_associations" : [ { "transit_ip_id" : "36a3049a-1682-48b3-b1cf-cb986a3350ef", "transit_ip_address" : "172.20.1.10" } ], "created_at" : "2019-10-22T03:31:19", "updated_at" : "2019-10-22T03:31:19" }, "request_id" : "2937502e-73f9-4ba5-ae75-2293a0b35fb8"}
  • 请求示例 创建SNAT规则,其中,SNAT规则的描述为my_snat_rule01,私网NAT网关实例的id为80da6f26-94eb-4537-97f0-5a56f4d04cfb,规则匹配的子网的id为5b9ea497-727d-4ad0-a99e-3984b3f5aaed。 https://{Endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/private-nat/snat-rules{ "snat_rule" : { "description" : "my_snat_rule01", "gateway_id" : "80da6f26-94eb-4537-97f0-5a56f4d04cfb", "virsubnet_id" : "5b9ea497-727d-4ad0-a99e-3984b3f5aaed", "transit_ip_ids" : [ "36a3049a-1682-48b3-b1cf-cb986a3350ef" ] }}
  • 响应示例 状态码: 201 创建私网NAT网关实例成功。 { "request_id" : "9882046a9b96f1405472e36d797e33dc", "gateway" : { "id" : "14338426-6afe-4019-996b-3a9525296e11", "name" : "private-nat-gateway-name", "description" : "private-nat-gateway-description", "spec" : "Small", "project_id" : "70505c941b9b4dfd82fd351932328a2f", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "status" : "ACTIVE", "created_at" : "2019-04-22T08:47:13", "updated_at" : "2019-04-22T08:47:13", "tags" : [ { "key" : "key1", "value" : "value1" } ], "downlink_vpcs" : [ { "vpc_id" : "3cb66d44-9f75-4237-bfff-e37b14d23ad2", "virsubnet_id" : "373979ee-f4f0-46c5-80e3-0fbf72646b70" } ] }}
  • 请求示例 创建私网NAT网关实例,其中,私网NAT网关实例的名称为private-nat-gateway-name,实例的规格为Small,所属的子网的id为373979ee-f4f0-46c5-80e3-0fbf72646b70。 POST https://{Endpoint}/v3/70505c941b9b4dfd82fd351932328a2f/private-nat/gateways{ "gateway" : { "name" : "private-nat-gateway-name", "description" : "private-nat-gateway-description", "spec" : "Small", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "downlink_vpcs" : [ { "virsubnet_id" : "373979ee-f4f0-46c5-80e3-0fbf72646b70" } ], "tags" : [ { "key" : "key1", "value" : "value1" } ] }}
  • 响应示例 状态码: 200 查询DNAT规则列表成功。 { "dnat_rules" : [ { "floating_ip_id" : "bf99c679-9f41-4dac-8513-9c9228e713e1", "status" : "ACTIVE", "nat_gateway_id" : "cda3a125-2406-456c-a11f-598e10578541", "admin_state_up" : true, "port_id" : "9a469561-daac-4c94-88f5-39366e5ea193", "private_ip" : "", "internal_service_port" : 993, "protocol" : "tcp", "tenant_id" : "d199ba7e0ba64899b2e81518104b1526d", "created_at" : "2017-11-15 15:44:42.595173", "id" : "79195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address" : "5.21.11.226", "external_service_port" : 242, "description" : "my dnat rule 01" }, { "floating_ip_id" : "cf99c679-9f41-4dac-8513-9c9228e713e1", "status" : "ACTIVE", "nat_gateway_id" : "dda3a125-2406-456c-a11f-598e10578541", "admin_state_up" : true, "port_id" : "", "private_ip" : "192.168.1.100", "internal_service_port" : 0, "protocol" : "any", "tenant_id" : "d199ba7e0ba64899b2e81518104b1526d", "created_at" : "2017-11-16 15:44:42.595173", "id" : "89195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address" : "5.21.11.227", "external_service_port" : 0, "description" : "my dnat rule 01" } ]}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 dnat_rules Array of NatGatewayDnatRuleResponseBody objects 查询DNAT规则列表的响应体。 表5 NatGatewayDnatRuleResponseBody 参数 参数类型 描述 id String DNAT规则的ID。 长度:36 tenant_id String 项目的ID。 description String DNAT规则的描述。长度限制为255。 最大长度:255 port_id String 虚拟机或者裸机的Port ID,与private_ip参数二选一。 长度:36 private_ip String 用户私有IP地址,例如专线连接的私有云地址,与port_id参数二选一。 internal_service_port Integer 虚拟机或者裸机对外提供服务的协议端口号。取值范围:0~65535。 最小值:0 最大值:65535 最小长度:1 最大长度:5 nat_gateway_id String 公网NAT网关实例的ID。 最小长度:1 最大长度:36 floating_ip_id String 弹性公网IP的id。 最小长度:1 最大长度:36 floating_ip_address String 弹性公网IP的IP地址。 external_service_port Integer Floatingip对外提供服务的端口号。取值范围:0~65535。 status String 功能说明:DNAT规则的状态。 枚举值: ACTIVE PENDING_CREATE PENDING_UPDATE PENDING_DELETE EIP_FREEZED INACTIVE admin_state_up Boolean 解冻/冻结状态。取值范围: − “true”: 解冻 − “false”: 冻结 internal_service_port_range String 虚拟机或者裸机对外提供服务的协议端口号范围。功能说明:该端口范围与external _service_port_range按顺序实现1:1映射。取值范围:1~65535。约束:只能以’-’字符连接端口范围。 external_service_port_range String Floatingip对外提供服务的端口号范围。功能说明:该端口范围与internal _service_port_range按顺序实现1:1映射。取值范围:1~65535。约束:只能以’-’字符连接端口范围 protocol String 协议类型,目前支持TCP/tcp、UDP/udp、ANY/any。对应协议号6、17、0。 最小长度:1 最大长度:3 枚举值: tcp udp any created_at String DNAT规则的创建时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ。 最小长度:1 最大长度:36
  • 响应示例 状态码: 200 查询SNAT规则列表成功。 { "snat_rules" : [ { "floating_ip_id" : "bf99c679-9f41-4dac-8513-9c9228e713e1", "status" : "ACTIVE", "nat_gateway_id" : "cda3a125-2406-456c-a11f-598e10578541", "admin_state_up" : true, "network_id" : "9a469561-daac-4c94-88f5-39366e5ea193", "source_type" : 0, "tenant_id" : "d199ba7e0ba64899b2e81518104b1526", "created_at" : "2017-11-15 15:44:42.595173", "id" : "79195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address" : "5.21.11.242", "freezed_ip_address" : "", "description" : "my snat rule 01" }, { "floating_ip_id" : "6e496fba-abe9-4f5e-9406-2ad8c809ac8c", "status" : "ACTIVE", "nat_gateway_id" : "e824f1b4-4290-4ebc-8322-cfff370dbd1e", "admin_state_up" : true, "network_id" : "97e89905-f9c8-4ae3-9856-392b0b2fbe7f", "source_type" : 0, "tenant_id" : "d199ba7e0ba64899b2e81518104b1526", "created_at" : "2017-11-17 07:43:44.830845", "id" : "4a1a10d7-0d9f-4846-8cda-24cffeffef5c", "floating_ip_address" : "5.21.11.142,5.21.11.143", "freezed_ip_address" : "5.21.11.142", "description" : "my snat rule 01" } ]}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 snat_rules Array of NatGatewaySnatRuleResponseBody objects 查询SNAT规则列表的响应体。 表5 NatGatewaySnatRuleResponseBody 参数 参数类型 描述 id String SNAT规则的ID。 长度:36 tenant_id String 项目的ID。 nat_gateway_id String 公网NAT网关实例的ID。 长度:36 cidr String cidr,可以是网段或者主机格式,与network_id参数二选一。source_type=0时,cidr必须是vpc子网网段的子集(不能相等); source_type=1时,cidr必须指定专线侧网段。 最小长度:9 最大长度:39 source_type Integer 0:VPC侧,可以指定network_id 或者cidr 1:专线侧,只能指定cidr 缺省值:0 floating_ip_id String 功能说明:弹性公网IP的id,多个弹性公网IP的id使用逗号分隔。取值范围:最大长度4096字节。 description String SNAT规则的描述,长度限制为255。 最大长度:255 status String 功能说明:SNAT规则的状态。 枚举值: ACTIVE PENDING_CREATE PENDING_UPDATE PENDING_DELETE EIP_FREEZED INACTIVE created_at String SNAT规则的创建时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ。 最小长度:1 最大长度:36 network_id String 规则使用的网络id。与cidr参数二选一。 长度:36 admin_state_up Boolean 解冻/冻结状态。取值范围: "true":解冻 "false":冻结 floating_ip_address String 功能说明:弹性公网IP,多个弹性公网IP使用逗号分隔。取值范围:最大长度1024字节。 freezed_ip_address String 功能说明:冻结的弹性公网IP,多个冻结的弹性公网IP使用逗号分隔。取值范围:最大长度1024字节。
  • 响应示例 状态码: 200 查询公网NAT网关实例列表成功 { "nat_gateways" : [ { "id" : "a253be25-ae7c-4013-978b-3c0785eccd63", "router_id" : "b1d81744-5165-48b8-916e-e56626feb88f", "status" : "ACTIVE", "description" : "nat01", "admin_state_up" : true, "tenant_id" : "27e25061336f4af590faeabeb7fcd9a3", "created_at" : "2017-11-15 14:50:39.505112", "spec" : "2", "internal_network_id" : "5930796a-6026-4d8b-8790-6c6bfc9f87e8", "name" : "wj3", "enterprise_project_id" : "0aad99bc-f5f6-4f78-8404-c598d76b0ed2" }, { "id" : "e824f1b4-4290-4ebc-8322-cfff370dbd1e", "router_id" : "305dc52f-13dd-429b-a2d4-444a1039ba0b", "status" : "ACTIVE", "description" : "1234", "admin_state_up" : true, "tenant_id" : "27e25061336f4af590faeabeb7fcd9a3", "created_at" : "2017-11-17 07:41:07.538062", "spec" : "2", "internal_network_id" : "fc09463b-4ef8-4c7a-93c8-92d9ca6daf9d", "name" : "lyl001", "enterprise_project_id" : "0" } ]}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 nat_gateways Array of NatGatewayResponseBody objects 查询公网NAT网关实例列表的响应体。详见NatGateway字段说明。 表5 NatGatewayResponseBody 参数 参数类型 描述 id String 公网NAT网关实例的ID。 长度:36 tenant_id String 项目的ID。 name String 公网NAT网关实例的名字,长度限制为64。 最小长度:1 最大长度:64 description String 公网NAT网关实例的描述,长度限制为255。 最大长度:255 spec String 公网NAT网关的规格。取值为:“1”:小型,SNAT最大连接数10000;“2”:中型,SNAT最大连接数50000;“3”:大型,SNAT最大连接数200000;“4”:超大型,SNAT最大连接数1000000 枚举值: 1 2 3 4 status String 公网NAT网关实例的状态。 枚举值: ACTIVE PENDING_CREATE PENDING_UPDATE PENDING_DELETE INACTIVE admin_state_up Boolean 解冻/冻结状态。取值范围: "true":解冻 "false":冻结 created_at String 公网NAT网关实例的创建时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ。 router_id String VPC的id。 internal_network_id String 公网NAT网关下行口(DVR的下一跳)所属的network id。 enterprise_project_id String 企业项目ID。创建公网NAT网关实例时,关联的企业项目ID。 最大长度:36
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用户Token也就是调用获取用户Token获取请求认证接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 表3 请求Body参数 参数 是否必选 参数类型 描述 tags 否 Array of Tag objects 包含标签对象列表,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无tag过滤条件时返回全量数据。 tags_any 否 Array of Tag objects 包含任意标签对象列表,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。 not_tags 否 Array of Tag objects 不包含标签对象列表,最多包含10个key,每个key下面的value最多10个, 结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回不包含标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。 not_tags_any 否 Array of Tag objects 不包含任意标签对象列表,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回不包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。 limit 否 String 查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1 offset 否 String (索引位置), 从offset指定的下一条数据开始查询。查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数(action为count时无此参数)如果action为filter默认为0,必须为数字,不能为负数 action 是 String 操作标识(仅限于filter,count):filter(过滤),count(查询总条数) 如果是filter就是分页查询,如果是count只需按照条件将总条数返回即可。禁止返回其他字段。 matches 否 Array of Match objects 搜索字段列表,key为要匹配的字段,如resource_name等。value为匹配的值。此字段为固定字典值。 根据不同的字段确认是否需要模糊匹配,如resource_name默认为模糊搜索(不区分大小写),如果value为空字符串精确匹配。resource_id为精确匹配。 表4 Tag 参数 是否必选 参数类型 描述 key 是 String 键。最大长度127个unicode字符。key不能为空。(搜索时不对此参数做校验) ,key不能为空或者空字符串,不能为空格,校验和使用之前先trim 前后空格。 values 是 Array of strings 值列表。每个值最大长度255个unicode字符,不能为空格,校验和使用之前先trim 前后空格。 *为系统保留字符,value可为空但不可缺省。 如果里面的value是以*开头表示按照*后面的值全模糊匹配。 如果values为空列表,则表示any_value(查询任意value)。value之间为或的关系。 表5 Match 参数 是否必选 参数类型 描述 key 是 String 键。限定为resource_name。 value 是 String 值。每个值最大长度255个unicode字符。
  • 请求示例 查询公网NAT网关资源实例,其中,操作标识为filter,进行分页查询,查询记录数为100条。 POST https://{VPC_endpoint}/v2.0/9ad601814ac94c80bf7bb9073ded66fc/nat_gateways/resource_instances/action{ "offset" : "100", "limit" : "100", "action" : "filter", "matches" : [ { "key" : "resource_name", "value" : "nat_gateways" } ], "not_tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags" : [ { "key" : "key2", "values" : [ "*value3", "value4" ] } ], "tags_any" : [ { "key" : "key3", "values" : [ "*value5", "value6" ] } ], "not_tags_any" : [ { "key" : "key4", "values" : [ "*value7", "value8" ] } ]} 查询公网NAT网关资源实例,其中,操作标识为count,按照条件将总条数返回。 POST https://{VPC_endpoint}/v2.0/9ad601814ac94c80bf7bb9073ded66fc/nat_gateways/resource_instances/action{ "action" : "count", "matches" : [ { "key" : "resource_name", "value" : "nat_gateways" } ], "not_tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags" : [ { "key" : "key2", "values" : [ "*value3", "value4" ] } ], "tags_any" : [ { "key" : "key3", "values" : [ "*value5", "value6" ] } ], "not_tags_any" : [ { "key" : "key4", "values" : [ "*value7", "value8" ] } ]}
  • 响应示例 状态码: 200 查询操作成功。 示例1:action为filter时的响应体 示例2:action为count时的响应体 示例 1 { "resources" : [ { "resource_detail" : null, "resource_id" : "e5ad289f-9c56-4daf-b08b-2e53a983473a", "resource_name" : "nat_gateways", "tags" : [ { "key" : "key2", "value" : "value4" }, { "key" : "key2", "value" : "value3" } ] } ], "total_count" : 1000} 示例 2 { "total_count" : 1000}
  • 响应示例 状态码: 200 查询DNAT规则列表成功。 { "dnat_rules" : [ { "id" : "24dd6bf5-48f2-4915-ad0b-5bb111d39c83", "project_id" : "da261828016849188f4dcc2ef94d9da9", "description" : "aa", "gateway_id" : "0adefb29-a6c2-48a5-8637-2be67fa03fec", "transit_ip_id" : "3faa719d-6d18-4ccb-a5c7-33e65a09663e", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "network_interface_id" : "dae9393a-b536-491c-a5a2-72edc1104707", "type" : "COMPUTE", "protocol" : "any", "internal_service_port" : "0", "transit_service_port" : "0", "private_ip_address" : "192.168.1.72", "created_at" : "2019-04-29T07:10:01", "updated_at" : "2019-04-29T07:10:01" }, { "id" : "25dcdb21-97de-43cd-b476-31637a47f05d", "project_id" : "da261828016849188f4dcc2ef94d9da9", "description" : "aa", "gateway_id" : "0adefb29-a6c2-48a5-8637-2be67fa03fec", "transit_ip_id" : "15abdf29-4a68-474c-9963-79c4e6d495d7", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "network_interface_id" : "9e2f0dbb-68b2-4c4b-9298-fa4f13187976", "type" : "COMPUTE", "protocol" : "any", "internal_service_port" : "0", "transit_service_port" : "0", "private_ip_address" : "192.168.1.99", "created_at" : "2019-04-29T07:15:41", "updated_at" : "2019-04-29T07:15:41" } ], "request_id" : "a7b00469-5a31-4274-bb10-59167243383e", "page_info" : { "previous_marker" : "14338426-6afe-4019-996b-018008113013", "current_count" : 2 }}
共100000条