华为云用户手册

  • 响应示例 状态码: 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" : "PENDING_CREATE", "billing_info" : "", "dnat_rules_limit" : 200, "snat_rule_public_ip_limit" : 20, "ngport_ip_address" : "192.168.0.138", "created_at" : "2019-04-22 08:47:13.234512" } }
  • 请求示例 批量添加 私网NAT网关 标签,其中,操作标识为create,标签列表中包含两个标签,其中第一个标签键为“key1”,对应的值为“value1”,第二个标签键为“key2”,对应的值为“value2”。 POST https://{Endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/private-nat-gateways/3320166e-b937-40cc-a35c-02cd3f2b3ee2/tags/action { "action" : "create", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" } ] } 批量删除私网NAT网关标签,其中,操作标识为delete,标签列表中包含两个标签,其中第一个标签键为“key1”,对应的值为“value1”,第二个标签键为“key2”,对应的值为“value2”。 POST https://{Endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/private-nat-gateways/3320166e-b937-40cc-a35c-02cd3f2b3ee2/tags/action { "action" : "delete", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用户Token也就是调用获取用户Token获取请求认证接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最小长度:1 最大长度:10240 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 功能说明:操作标识。 取值范围: create(创建) delete(删除) 枚举值: create delete tags 是 Array of Tag objects 标签列表。 数组长度:1 - 10 表4 Tag 参数 是否必选 参数类型 描述 key 是 String 键。最大长度128个unicode字符。key不能为空。 最小长度:1 最大长度:128 value 是 String 值。每个值最大长度255个unicode字符。 最小长度:0 最大长度:255
  • 请求示例 更新DNAT规则,其中,DNAT规则的描述为my dnat-rules 03。 PUT https://{Endpoint}/v3/da261828016849188f4dcc2ef94d9da9/private-nat/dnat-rules/24dd6bf5-48f2-4915-ad0b-5bb111d39c83 { "dnat_rule" : { "description" : "my dnat-rules 03" } }
  • 响应示例 状态码: 200 更新DNAT规则成功。 { "dnat_rule" : { "id" : "24dd6bf5-48f2-4915-ad0b-5bb111d39c83", "project_id" : "da261828016849188f4dcc2ef94d9da9", "description" : "dnat rule description", "gateway_id" : "0adefb29-a6c2-48a5-8637-2be67fa03fec", "transit_ip_id" : "3faa719d-6d18-4ccb-a5c7-33e65a09663e", "network_interface_id" : "dae9393a-b536-491c-a5a2-72edc1104707", "type" : "COMPUTE", "private_ip_address" : "192.168.1.72", "created_at" : "2019-04-29T07:10:01", "updated_at" : "2019-04-29T07:10:01" }, "request_id" : "747a911c17067a39692f75ac146fb47e" }
  • 响应示例 状态码: 200 查询操作成功。 { "request_id" : "80ef5f21-b81a-4546-b23d-84272507d330", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" }, { "key" : "key3", "value" : "value3" } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 request_id String 请求id。 最小长度:1 最大长度:36 tags Array of Tag objects 标签。 数组长度:1 - 10 表4 Tag 参数 参数类型 描述 key String 键。最大长度128个unicode字符。key不能为空。 最小长度:1 最大长度:128 value String 值。每个值最大长度255个unicode字符。 最小长度:0 最大长度:255
  • 响应示例 状态码: 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 } }
  • 响应示例 状态码: 201 创建DNAT规则成功。 { "dnat_rule" : { "floating_ip_id" : "bf99c679-9f41-4dac-8513-9c9228e713e1", "status" : "PENDING_CREATE", "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" } }
  • 请求示例 创建dnat规则。 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 POST操作正常返回。 { "dnat_rules" : [ { "floating_ip_id" : "bf99c679-9f41-4dac-8513-9c9228e713e1", "status" : "PENDING_CREATE", "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" : "PENDING_CREATE", "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" } ] }
  • 请求示例 批量创建规则(第一条为指定端口的规则,第二条为all port类型的规则)。 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" } ] }
  • 响应示例 状态码: 200 查询SNAT规则成功。 { "snat_rule" : { "id" : "8a522ff9-8158-494b-83cd-533b045700e6", "project_id" : "cfa563efb77d4b6d9960781d82530fd8", "description" : "my_snat_rule02", "gateway_id" : "80da6f26-94eb-4537-97f0-5a56f4d04cfb", "cidr" : "", "virsubnet_id" : "95df1b88-d9bc-4edd-a808-a771dd4ded32", "transit_ip_associations" : [ { "transit_ip_id" : "bbe7c2e7-3bad-445b-a067-b30acce66053", "transit_ip_address" : "172.20.1.98" } ], "created_at" : "2019-10-22T03:33:07", "updated_at" : "2019-10-22T03:33:07" }, "request_id" : "c8b21002-a594-414d-9585-2cc5963d4c3e" }
  • 响应示例 状态码: 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" } ] }
  • 请求示例 更新私网NAT网关实例,其中,私网NAT网关实例的名字为private-nat-gateway-name,私网NAT网关的描述为private-nat-gateway-description,实例的规格为Medium。 PUT https://{Endpoint}/v3/70505c941b9b4dfd82fd351932328a2f/private-nat/gateways/14338426-6afe-4019-996b-3a9525296e11 { "gateway" : { "name" : "private-nat-gateway-name", "description" : "private-nat-gateway-description", "spec" : "Medium" } }
  • 响应示例 状态码: 200 更新私网NAT网关实例成功。 { "gateway" : { "id" : "14338426-6afe-4019-996b-3a9525296e11", "name" : "private-nat-gateway-name", "description" : "private-nat-gateway-description", "spec" : "Medium", "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" } ] }, "request_id" : "e7e3323e95b348708d26e68a0ddece71" }
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 1 2 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的帐号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获取用户Token。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如 IAM 服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path 资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 1 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 命令参考 详细的gsql参数请参见表1、表2、表3和表4。 表1 常用参数 参数 参数说明 取值范围 -c, --command=COMMAND 声明gsql要执行一条字符串命令然后退出。 - -d, --dbname=DBNAME 指定想要连接的数据库名称。 另外,gsql允许使用扩展的DBNAME,即'postgres[ql]://[user[:password]@][netloc][:port][,...][/dbname][?param1=value1&...]'或'[key=value] [...]'形式的连接串作为DBNAME,gsql将从连接串中解析连接信息,并优先使用这些信息。 注意: gsql使用扩展的DBNAME创建连接时,不支持指定replication参数。 字符串。 -f, --file=FILENAME 使用文件作为命令源而不是交互式输入。gsql将在处理完文件后结束。如果FILENAME是-(连字符),则从标准输入读取。 绝对路径或相对路径,且满足操作系统路径命名规则。 -l, --list 列出所有可用的数据库,然后退出。 - -v, --set, --variable=NAME=VALUE 设置gsql变量NAME为VALUE。 变量的示例和详细说明请参见变量。 - -X, --no-gsqlrc 不读取启动文件(系统范围的gsqlrc或者用户的~/.gsqlrc都不读取)。 说明: 启动文件默认为~/.gsqlrc,或通过PSQLRC环境变量指定。 - -1 ("one"), --single-transaction 当gsql使用-f选项执行脚本时,会在脚本的开头和结尾分别加上START TRANSACTION/COMMIT用以把整个脚本当作一个事务执行。这将保证该脚本完全执行成功,或者脚本无效。 说明: 如果脚本中已经使用了START TRANSACTION,COMMIT,ROLLBACK,则该选项无效。 - -?, --help 显示关于gsql命令行参数的帮助信息然后退出。 - -V, --version 打印gsql版本信息然后退出。 - 表2 输入和输出参数 参数 参数说明 取值范围 -a, --echo-all 在读取行时向标准输出打印所有内容。 注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 - -e, --echo-queries 把所有发送给服务器的查询同时回显到标准输出。 注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 - -E, --echo-hidden 回显由\d和其他反斜杠命令生成的实际查询。 - -k, --with-key=KEY 使用gsql对导入的加密文件进行解密。 须知: 对于本身就是shell命令中的关键字符如单引号(')或双引号("),Linux shell会检测输入的单引号(')或双引号(")是否匹配。如果不匹配,shell认为用户没有输入完毕,会一直等待用户输入,从而不会进入到gsql程序。 不支持解密导入存储过程和函数。 - -L, --log-file=FILENAME 除了正常的输出源之外,把所有查询输出记录到文件FILENAME中。 注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 此参数只保留查询结果到相应文件中,主要目标是为了查询结果能够更好更准确地被其他调用者(例如自动化运维脚本)解析;而不是保留gsql运行过程中的相关日志信息。 绝对路径或相对路径,且满足操作系统路径命名规则。 -m, --maintenance 允许在两阶段事务恢复期间连接集群。 说明: 该选项是一个开发选项,禁止用户使用,只限专业技术人员使用,功能是:使用该选项时,gsql可以连接到备机,用于校验主备机数据的一致性。 - -n, --no-libedit 关闭命令行编辑。 - -o, --output=FILENAME 将所有查询输出重定向到文件FILENAME。 绝对路径或相对路径,且满足操作系统路径命名规则。 -q, --quiet 安静模式,执行时不会打印出额外信息。 缺省时gsql将打印许多其他输出信息。 -s, --single-step 单步模式运行。意味着每个查询在发往服务器之前都要提示用户,用这个选项也可以取消执行。此选项主要用于调试脚本。 注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 - -S, --single-line 单行运行模式,这时每个命令都将由换行符结束,像分号那样。 - -C,-C1, --enable-client-encryption=1 当使用-C参数连接本地数据库或者连接远程数据库时,可通过该选项打开密态数据库开关,此开关为密态等值查询基本能力开关。 - -C2,--enable-client-encryption = 2 当使用-C参数连接本地数据库或者连接远程数据库时,可通过该选项打开密态支持客户端排序的开关,支持密态等值查询基本能力以及客户端排序。 - -C3,--enable-client-encryption=3 当使用-C参数连接本地数据库或者连接远程数据库时,可通过该选项打开软硬融合密态数据库开关,支持密态等值查询基本能力以及软硬融合能力。当前特性是实验室特性,使用时请联系华为工程师提供技术支持。 - 表3 输出格式参数 参数 参数说明 取值范围 -A, --no-align 切换为非对齐输出模式。 缺省为对齐输出模式。 -F, --field-separator=STRING 设置域分隔符(默认为“|”)。 - -H, --html 打开HTML格式输出。 - -P, --pset=VAR[=ARG] 在命令行上以\pset的风格设置打印选项。 说明: 这里必须用等号而不是空格分隔名称和值。例如,把输出格式设置为LaTeX,可以键入-P format=latex - -R, --record-separator=STRING 设置记录分隔符。 - -r 开启在客户端操作中可以进行编辑的模式。 缺省为关闭。 -t, --tuples-only 只打印行。 - -T, --table-attr=TEXT 允许声明放在HTML table标签里的选项。 使用时请搭配参数“-H,--html”,指定为HTML格式输出。 - -x, --expanded 打开扩展表格式模式。 - -z, --field-separator-zero 设置非对齐输出模式的域分隔符为空。 使用时请搭配参数“-A, --no-align”,指定为非对齐输出模式。 - -0, --record-separator-zero 设置非对齐输出模式的记录分隔符为空。 使用时请搭配参数“-A, --no-align”,指定为非对齐输出模式。 - -2, --pipeline 使用管道传输密码,禁止在终端使用,必须和-c或者-f参数一起使用。 - -g, 打印来自文件的所有SQL。 - 表4 连接参数 参数 参数说明 取值范围 -h, --host=HOSTNAME 指定正在运行服务器的主机名、Unix域套接字的路径、或者域名。接受以“,”分割的字符串来指定多个主机地址,支持指定多个主机地址。 当指定多个主机地址时,默认情况下会跳过故障的节点,自动选择第一个可用的主节点进行连接。可通过设置PGTARGETSESSIONATTRS环境变量的值来选择连接到不同类型的节点,变量与节点类型对应的关系如下: PGTARGETSESSIONATTRS环境变量的值--选择连接的节点类型 read-write--可读写的节点 read-only--只读节点 primary或者不设定--主节点 standby--备节点 prefer-standby--首选备节点,没有备节点则转为any any--不进行角色检查 说明: 主CN节点和主DN节点都是主节点,一般情况下DN节点都是只读节点,可以通过设置PGTARGETSESSIONATTRS为read-write来选择连接到CN节点。 如果省略主机名,gsql将通过Unix域套接字与本地主机的服务器相联,或者在没有Unix域套接字的机器上,通过TCP/IP与localhost连接。 -p, --port=PORT 指定数据库服务器的端口号。可以配置一个或多个,当配置一个时,所有的主机地址都使用同一个端口连接;当配置多个时,顺序与主机地址顺序相同,个数必须与主机地址数相等,当不相等时会报错。 可以通过port参数修改默认端口号。 默认端口可通过编译参数来指定,不指定的话默认为5432。 -U, --username=USERNAME 指定连接数据库的用户。 说明: 通过该参数指定用户连接数据库时,需要同时提供用户密码用以身份验证。您可以通过交换方式输入密码,或者通过-W参数指定密码。 用户名中包含有字符$,需要在字符$前增加转义字符才可成功连接数据库。 字符串,默认使用与当前操作系统用户同名的用户。 -W, --password=PASSWORD 当使用-U参数连接本地数据库或者连接远端数据库时,可通过该选项指定密码。 说明: 登录CN所在服务器后连接本地CN实例时,默认使用trust连接,会忽略此参数。 用户密码中包含特殊字符“\”和"`"时,需要增加转义字符才可成功连接数据库。 如果用户未输入该参数,但是数据库连接需要用户密码,这时将出现交互式输入,请用户输入当前连接的密码。该密码最长长度为999字节,受限于GUC参数password_max_length的最大值。 字符串。 父主题: gsql
  • 任务示例 使用如下命令连接数据库。 gsql -d gaussdb -p 8000 gaussdb为需要连接的数据库名称,8000为CN的端口号。 连接成功后,系统显示类似如下信息: gsql (( GaussDB Kernel 503.1.XXX build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. 查看gsql的帮助信息。具体执行命令请参见表1。 表1 使用gsql联机帮助 描述 示例 查看版权信息 \copyright 查看GaussDB支持的SQL语句的帮助 查看GaussDB支持的SQL语句的帮助 例如,查看GaussDB支持的所有SQL语句: 1 2 3 4 5 6 gaussdb=# \h Available help: ABORT ALTER AGGREGATE ALTER APP WORKLOAD GROUP ... ... 例如,查看CREATE DATABASE命令的参数可使用下面的命令: 1 2 3 4 5 6 7 8 9 10 11 12 13 gaussdb=# \help CREATE DATABASE Command: CREATE DATABASE Description: create a new database Syntax: CREATE DATABASE database_name [ [ WITH ] {[ OWNER [=] user_name ]| [ TEMPLATE [=] template ]| [ ENCODING [=] encoding ]| [ LC_COLLATE [=] lc_collate ]| [ LC_CTYPE [=] lc_ctype ]| [ DBCOMPATIBILITY [=] compatibility_type ]| [ TABLESPACE [=] tablespace_name ]| [ CONNECTION LIMIT [=] connlimit ]}[...] ]; 查看gsql命令的帮助 例如,查看gsql支持的命令: 1 2 3 4 5 6 7 gaussdb=# \? General \copyright show GaussDB Kernel usage and distribution terms \g [FILE] or ; execute query (and send results to file or |pipe) \h(\help) [NAME] help on syntax of SQL commands, * for all commands \q quit gsql ... ...
  • 参数说明 表2 gs_ktool参数说明 参数 参数说明 参数类型 : 取值范围 -g 生成单个密钥,可在配置文件中配置默认的CMK长度。 - -l CMK_LENTH 配合-g使用,可指定生成的CMK长度。 整型 : [16, 112] bytes -d CMK_ID 删除指定CMK。 整型 : [1, 4095]; 字符型 : all -s CMK_ID 查询指定CMK的信息,不包含CMK明文或密文。 整型 : [1, 4095]; 字符型 : all -e 导出当前gs_ktool中的全部密钥到文件中,可使用-f指定导出文件。 - -i 从指定密钥文件中导入全部密钥,必须使用-f指定密钥文件;请注意该操作的覆盖特性。 - -f FILE 配合-i和-e使用,指定密钥文件的位置 (可指定绝对路径或相对路径,但必须是已存在的路径;当配合-e使用时,如果指定的文件不存在,则新建,如果已存在,则会覆盖)。 字符型 : 绝对路径/日志文件名 -p FILE_PASSWORD 配和-i和-e使用,输入密钥文件的口令 (如果未使用该参数,则默认使用交互式口令输入方式)。 字符型 : 长度区间为[8, 255],且至少包含3种类型的字符。 -R -u 轮转(更新)RK;该操作会更新CMK的密文。 - -R -s 查询RK的信息,不包含RK的明文或密文。 - -v 查看版本信息。 - -h, -? 查看使用帮助。 - 在使用gs_ktool -d all命令删除全部密钥时,命令执行的过程中,如果同时使用gs_ktool -g命令生成密钥,新生成的密钥可能会被删除。
  • 功能介绍 gs_ktool为客户端提供CMK明文,以保证其能够对CEK的进行加解密;与此同时,gs_ktool还为用户提供人机交互接口,以支持以下功能: 支持管理CMK:创建、删除、查询、导入和导出CMK。其中,查询功能不支持查询CMK的明文或者密文。目前,gs_ktool不支持更新CMK,用户仅能通过删除旧的密钥,并创建新的密钥以达到同等的效果; 全密态当前仅支持华为云KMS,gs_ktool不具备自动备份密钥能力,一旦密钥丢失,则数据无法恢复,建议gs_ktool仅作为验证与调试使用。 如果用户需要将gs_ktool中密钥进行备份,请手工执行密钥导出命令。并请注意,在进行密钥导入时,会覆盖当前gs_ktool中保存的所有密钥,请谨慎使用。 支持管理RK:查询、更新RK; 支持查询操作日志:针对上述对密钥进行管理的操作,gs_ktool均会记录相关的操作日志,用户可查看日志文件。
  • 环境变量 GS_KTOOL_FILE_PATH:gs_ktool运行时需要读取配置文件gs_ktool_conf.ini,使用GS_KTOOL_FILE_PATH来设置配置文件的路径。默认情况下,运行gs_ktool时生成的密钥存储文件和日志文件也会存储在该路径下。 解压GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_gsql.tar.gz包后,可在gs_ktool_file路径下找到gs_ktool_conf.ini配置文件,该文件中所有配置项已设置缺省值;另外,通过指令"source gsql_env.sh"可配置环境变量$GS_KTOOL_FILE_PATH。 表1 gs_ktool_conf.ini配置文件说明 配置项 配置项说明 参数类型 : 取值范围 rk_validity 生成RK时,默认的有效期(该配置项仅在生成RK时有效,即生成密钥文件时)。 整型 : [1, 10000] days cmk_validity 生成CMK时,默认的有效期。 整型 : [1, 3660] days cmk_length 生成CMK时,默认的密钥长度。 整型 : [16, 112] bytes pri_ksf 密钥存储文件。 字符型 : 绝对路径/密钥文件名 sec_ksf 备份的密钥存储文件。 字符型 : 绝对路径/密钥文件名 export_ksf 导出密钥时,默认的密钥存储文件。 字符型 : 绝对路径/密钥文件名 is_logmodule_open 是否打开日志记录功能。 字符型 : {ON, OFF} log_file 日志文件 字符型 :绝对路径/日志文件名
  • 任务示例 使用如下命令连接数据库。 gsql -d gaussdb -p 8000 gaussdb为需要连接的数据库名称,8000为CN的端口号。 连接成功后,系统显示类似如下信息: gsql ((GaussDB Kernel 503.1.XXX build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. 查看gsql的帮助信息。具体执行命令请参见表1。 表1 使用gsql联机帮助 描述 示例 查看版权信息 \copyright 查看GaussDB支持的SQL语句的帮助 查看GaussDB支持的SQL语句的帮助 例如,查看GaussDB支持的所有SQL语句: 1 2 3 4 5 6 gaussdb=# \h Available help: ABORT ALTER AGGREGATE ALTER APP WORKLOAD GROUP ... ... 例如,查看CREATE DATABASE命令的参数可使用下面的命令: 1 2 3 4 5 6 7 8 9 10 11 12 13 gaussdb=# \help CREATE DATABASE Command: CREATE DATABASE Description: create a new database Syntax: CREATE DATABASE database_name [ [ WITH ] {[ OWNER [=] user_name ]| [ TEMPLATE [=] template ]| [ ENCODING [=] encoding ]| [ LC_COLLATE [=] lc_collate ]| [ LC_CTYPE [=] lc_ctype ]| [ DBCOMPATIBILITY [=] compatibility_type ]| [ TABLESPACE [=] tablespace_name ]| [ CONNECTION LIMIT [=] connlimit ]}[...] ]; 查看gsql命令的帮助 例如,查看gsql支持的命令: 1 2 3 4 5 6 7 gaussdb=# \? General \copyright show GaussDB Kernel usage and distribution terms \g [FILE] or ; execute query (and send results to file or |pipe) \h(\help) [NAME] help on syntax of SQL commands, * for all commands \q quit gsql ... ...
  • 参数说明 表2 gs_ktool参数说明 参数 参数说明 参数类型 : 取值范围 -g 生成单个密钥,可在配置文件中配置默认的CMK长度。 - -l CMK_LENTH 配合-g使用,可指定生成的CMK长度。 整型 : [16, 112] bytes -d CMK_ID 删除指定CMK。 整型 : [1, 4095]; 字符型 : all -s CMK_ID 查询指定CMK的信息,不包含CMK明文或密文。 整型 : [1, 4095]; 字符型 : all -e 导出当前gs_ktool中的全部密钥到文件中,可使用-f指定导出文件。 - -i 从指定密钥文件中导入全部密钥,必须使用-f指定密钥文件;请注意该操作的覆盖特性。 - -f FILE 配合-i和-e使用,指定密钥文件的位置(可指定绝对路径或相对路径,但必须是已存在的路径;当配合-e使用时,如果指定的文件不存在,则新建,如果已存在,则会覆盖)。 字符型 : 绝对路径/日志文件名 -p FILE_PASSWORD 配和-i和-e使用,输入密钥文件的口令(如果未使用该参数,则默认使用交互式口令输入方式)。 字符型 : 长度区间为[8, 255],且至少包含3种类型的字符。 -R -u 轮转(更新)RK;该操作会更新CMK的密文。 - -R -s 查询RK的信息,不包含RK的明文或密文。 - -v 查看版本信息。 - -h, -? 查看使用帮助。 - 在使用gs_ktool -d all命令删除全部密钥时,命令执行的过程中,如果同时使用gs_ktool -g命令生成密钥,新生成的密钥可能会被删除。
  • 环境变量 GS_KTOOL_FILE_PATH:gs_ktool运行时需要读取配置文件gs_ktool_conf.ini,使用GS_KTOOL_FILE_PATH来设置配置文件的路径。默认情况下,运行gs_ktool时生成的密钥存储文件和日志文件也会存储在该路径下。 解压GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_gsql.tar.gz包后,可在gs_ktool_file路径下找到gs_ktool_conf.ini配置文件,该文件中所有配置项已设置缺省值;另外,通过指令"source gsql_env.sh"可配置环境变量$GS_KTOOL_FILE_PATH。 表1 gs_ktool_conf.ini配置文件说明 配置项 配置项说明 参数类型 : 取值范围 rk_validity 生成RK时,默认的有效期(该配置项仅在生成RK时有效,即生成密钥文件时)。 整型 : [1, 10000] days cmk_validity 生成CMK时,默认的有效期。 整型 : [1, 3660] days cmk_length 生成CMK时,默认的密钥长度。 整型 : [16, 112] bytes pri_ksf 密钥存储文件。 字符型 : 绝对路径/密钥文件名 sec_ksf 备份的密钥存储文件。 字符型 : 绝对路径/密钥文件名 export_ksf 导出密钥时,默认的密钥存储文件。 字符型 : 绝对路径/密钥文件名 is_logmodule_open 是否打开日志记录功能。 字符型 : {ON, OFF} log_file 日志文件。 字符型 :绝对路径/日志文件名
  • 功能介绍 gs_ktool为客户端提供CMK明文,以保证其能够对CEK的进行加解密;与此同时,gs_ktool还为用户提供人机交互接口,以支持以下功能: 支持管理CMK:创建、删除、查询、导入和导出CMK。其中,查询功能不支持查询CMK的明文或者密文。目前,gs_ktool不支持更新CMK,用户仅能通过删除旧的密钥,并创建新的密钥以达到同等的效果. 全密态当前仅支持华为云KMS,gs_ktool不具备自动备份密钥能力,一旦密钥丢失,则数据无法恢复,建议gs_ktool仅作为验证与调试使用。 如果用户需要将gs_ktool中密钥进行备份,请手工执行密钥导出命令。并请注意,在进行密钥导入时,会覆盖当前gs_ktool中保存的所有密钥,请谨慎使用。 支持管理RK:查询、更新RK. 支持查询操作日志:针对上述对密钥进行管理的操作,gs_ktool均会记录相关的操作日志,用户可查看日志文件。
  • 请求示例 查询2023-07-06 10:41:14~2023-07-10 10:41:14的100条select慢日志。 POST https://{Endpoint}/v3/2900b7b8d03e4619b8db8d43bc6234ee/influxdb/instances/4466bd981011413cb98514e1cc20fdb0in13/slow-logs { "start_time" : "2023-07-06T10:41:14+0800", "end_time" : "2023-07-10T10:41:14+0800", "limit" : 100, "line_num" : "1595659490239433658", "operate_type" : "SELECT", "node_id" : "8b76c35e91eb4c9d82fe25417d750cb5no13", "max_cost_time" : 100, "min_cost_time" : 50, "database" : "dbname" , "retention_policy" : "monitor" }
共100000条