云服务器内容精选

  • Psycopg接口参考 Psycopg接口是一套提供给用户的API方法,本节将对部分常用接口做具体描述。 psycopg2.connect() connection.cursor() cursor.execute(query,vars_list) cursor.executemany(query,vars_list) connection.commit() connection.rollback() cursor.fetchone() cursor.fetchall() cursor.close() connection.close() 父主题: API参考
  • 脚本配置示例 { "scope": "basic", "default_interval": 60, "default_time_unit": "second", "api_limit": 100, "app_limit": 50, "user_limit": 50, "ip_limit": 20, "specials": [ { "type": "app", "policies": [ { "key": "e9230d70c749408eb3d1e838850cdd23", "limit": 10 } ] }, { "type": "user", "policies": [ { "key": "878f1b87f71c40a7a15db0998f358bb9", "limit": 10 } ] } ], "algorithm": "counter", "parameters": [ { "id": "3wuj354lpptv0toe0", "value": "reqPath", "type": "path", "name": "reqPath" }, { "id": "53h7e7j11u38l3ocp", "value": "method", "type": "method", "name": "method" }, { "id": "vv502bnb6g40td8u0", "value": "Host", "type": "header", "name": "Host" } ], "rules": [ { "match_regex": "[\"Host\",\"==\",\"www.abc.com\"]", "rule_name": "u8mb", "time_unit": "second", "interval": 2, "limit": 5 } ] }
  • 配置参数说明 表1 配置参数说明 参数 配置说明 流控类型 推荐使用高性能流控。 高精度流控:高并发场景下实例内部会有一定的性能损耗,适用于并发量较小的场景。 高性能流控:高并发场景下实例内部性能损耗较小,单位时间内会偶现较小的误差值,适用于并发量较大的场景。 单机流控:实例的每个节点各自进行流控,高并发场景下实例内部性能损耗最小,单位时间内会存在一定的误差值,适用于并发量更大的场景。 策略生效范围 单个API生效 对单个API进行流量统计和控制。 API共享生效 对绑定了该策略的所有API进行总流量统计和控制。 时长 流量限制的时长。 与“API流量限制”配合使用,表示单位时间内的单个API请求次数上限。 与“用户流量限制”配合使用,表示单位时间内的单个用户请求次数上限。 与“凭据流量限制”配合使用,表示单位时间内的单个凭据请求次数上限。 与“源IP流量限制”配合使用,表示单位时间内的单个IP地址请求次数上限。 API流量限制 单个API被调用次数上限。 与“时长”配合使用,表示单位时间内的单个API请求次数上限。 用户流量限制 单个用户调用API次数上限,如果API认证方式为 IAM 认证,用户流量根据项目ID来限制;如果API认证方式为APP认证,用户流量根据账号ID来限制。账号ID和项目ID请参考下文“特殊租户”配置说明。 不超过“API流量限制”。 与“时长”配合使用,表示单位时间内的单个用户请求次数上限。 如果主账号下有多个子用户访问API,按主账号累计的调用次数进行限制。 凭据流量限制 单个凭据调用API次数上限,仅适用于API的安全认证方式为APP认证时。 不超过“API流量限制”。 与“时长”配合使用,表示单位时间内的单个凭据请求次数上限。 源IP流量限制 单个IP地址调用API次数上限。您可以选择配置实例的“real_ip_from_xff”参数使用X-Forwarded-For头中的IP作为流控的判断依据。 不超过“API流量限制”。 与“时长”配合使用,表示单位时间内的单个IP地址请求次数上限。 参数流控配置 参数流控配置开关。开启后,以参数维度进行流控限制。 定义参数 定义用于规则匹配的参数。 参数位置:用于规则匹配的参数位置。 path:API请求的URI,系统默认配置。 method:API请求方法,系统默认配置。 Header:请求头的key值。 说明: 建议不要设置敏感信息,以防泄露。 Query:QueryString的key值。 System:系统参数。 参数:用于判断与规则匹配中的参数值是否匹配。 定义规则 定义规则的匹配条件,以及API流量限制和时长。 单击“添加规则”,可添加多个规则。 规则 单击,可添加多个条件表达式,选择“定义参数”中的参数名和判断条件,以及输入参数值。 =为等于 !=为不等于 pattern为正则表达式 enum为枚举值,多个参数值之间用英文逗号分隔 API流量限制 API调用次数的最大值。 时长 定义规则的流量控制时长,如果此处不配置时长,规则的流量控制时长以“策略基本信息”的时长为准。 例如,在“定义参数”中添加参数“Host”,参数位置选择“Header”;在“定义规则”中添加一条规则,匹配条件设置成“Host = www.abc.com”,API流量限制为10,时长为60s。表示在60s内,对于请求头域中Host参数等于“www.abc.com”的API,且API调用次数达到10,参数流控生效。 特殊流控配置 特殊流控配置开关。开启后,“基础流控”的用户流量限制/凭据流量限制与“特殊流控”的特殊租户/特殊凭据共同作用时,以特殊流控值为准。 特殊租户 租户ID为账号ID或项目ID。 绑定APP认证的API时,租户ID为项目ID,获取项目ID。 绑定华为IAM认证的API时,租户ID为账号ID,不支持细分到IAM用户维度,获取账号名和账号ID。 阈值为单位时间内,此租户访问API的最大值,不超过“基础流控”的API流量限制值。 特殊凭据 选择已有凭据,阈值为单位时间内,此凭据访问API的最大值,不超过“基础流控”的API流量限制值。
  • 脚本配置示例 { "breaker_condition":{ "breaker_type":"timeout", "breaker_mode":"counter", "unhealthy_threshold":30, "time_window":15, "open_breaker_time":15, "unhealthy_percentage":51, "min_call_threshold":20 }, "scope":"share", "downgrade_default":{ "type":"http", "passthrough_infos":null, "func_info":null, "mock_info":null, "http_info":{ "isVpc":false, "vpc_channel_id":"", "address":"10.10.10.10", "scheme":"HTTP", "method":"GET", "path":"/demo", "timeout":5000 }, "http_vpc_info":null }, "downgrade_parameters":[ { "name":"reqPath", "type":"path", "value":"path", "disabled":true, "focused":true, "id":"92002eqbpilg6g" }, { "name":"method", "type":"method", "value":"method", "disabled":true, "focused":true, "id":"tuvxetsdqvcos8" }], "downgrade_rules":[ { "rule_name":"rule-test1", "parameters":[ "reqPath", "method" ], "match_regex":"[\"reqPath\",\"==\",\"/test\"]", "downgrade_backend":{ "type":"mock", "passthrough_infos":null, "func_info":null, "mock_info":{ "status_code":200, "result_content":"{status: ok}", "headers":[] }, "http_info":null, "http_vpc_info":null }, "breaker_condition":{ "breaker_type":"timeout", "breaker_mode":"percentage", "unhealthy_threshold":30, "time_window":15, "open_breaker_time":15, "unhealthy_percentage":51, "min_call_threshold":20 } }] }
  • 配置参数说明 表1 配置参数 参数 配置说明 策略生效范围 单个API生效 对单个API进行控制。 API共享生效 对绑定了该策略的所有API进行控制。 断路器类型 选择断路器的触发类型。 超时降级:断路器以后端服务超时作为触发条件。 匹配条件降级:断路器以“匹配条件”中的设置作为触发条件。 条件模式 选择断路器的触发模式。 计数器:在时间窗内满足触发条件的请求次数达到设定阈值,则立即触发断路器。 百分比:在时间窗内满足触发条件的请求率达到设定阈值,时间窗结束后触发断路器。 匹配条件 仅当“断路器类型”选择“匹配条件降级”时需配置。 配置断路器的触发条件。 响应错误码:后端响应状态码符合设定值,则该后端请求满足触发条件。 触发降级响应时延:后端响应时延超过设定值,则该后端请求满足触发条件。 时间窗(秒) 断路器的触发次数统计时间窗,与“阈值”或“最小百分比”参数配合使用,当时间窗内的触发次数达到设定阈值或百分比,则触发断路器。 阈值(次) 仅当“条件模式”选择“计数器”时需配置。 断路器的触发阈值,与“时间窗”参数配合使用。在时间窗内,满足触发条件的后端请求次数达到阈值,则触发断路器。 说明: 断路器策略是按单个网关组件分开触发,如果API网关存在多个网关组件,则各个网关组件的触发统计分开计数。 如果某个网关组件在时间窗内的触发次数超过阈值,则发送到该网关组件上的请求会触发断路器,其他未超过阈值的网关组件依然正常转发请求。 您可以在API网关实例控制台的“实例信息”页面,在“出私网IP”下查看网关组件的IP个数,一个IP表示为一个网关组件。 最小调用次数 仅当“条件模式”选择“百分比”时需配置。 时间窗内触发断路器的API最小调用次数。如果时间窗内API的总调用次数小于该值,则不触发断路器。 最小百分比(%) 仅当“条件模式”选择“百分比”时需配置。 断路器的触发阈值,与“时间窗”参数配合使用。当时间窗内的满足触发条件的后端请求百分比达到阈值,则触发断路器。 开启时长(秒) 断路器开启的持续时间,断路器开启时间达到该值后将关闭。 后端降级策略 后端降级策略开关。 开启:触发降级的API将把请求转发到指定后端服务。 关闭:触发降级的API不会把请求转发到任何后端服务,直接返回服务不可用的错误信息,返回的HTTP状态码为“503”。 后端策略类型 仅当“后端降级策略”开启时需配置。 断路器开启后,后端请求的转发策略类型。 说明: 建议不要设置敏感信息,以防泄露。 Mock:把配置的响应结果作为后端服务响应固定返回。 Mock自定义返回码:后端服务响应的状态码。 Mock返回结果:后端服务响应的Body信息,JSON格式。 响应头参数:后端服务响应的Header参数。 HTTP&HTTPS:把后端服务请求转发给指定HTTP&HTTPS后端服务。 负载通道:是否使用负载通道访问后端服务。如果选择“使用”,您需要提前创建负载通道。 后端URL:配置要转发的后端服务请求地址。 后端超时(ms):后端服务请求的超时时间,默认为5000ms。 FunctionGraph:把后端服务请求转发给指定函数。 函数URN:函数请求的唯一标识。单击“添加”,添加作为后端服务的函数URN。 函数名:选择函数URN后自动配置。 版本或别名:选择要使用的函数版本。 调用类型:选择函数的调用类型。 Synchronous:表示同步调用,后端函数服务收到调用请求后立即执行并返回调用结果,客户端发送请求后同步等待,收到后端响应后关闭连接。 Asynchronous:表示异步调用,后端函数服务收到调用请求后将请求排队,执行成功后返回调用结果,服务端在空闲的情况下会逐个处理排队的请求,客户端不关注请求调用的结果。 后端超时(ms):后端服务请求的超时时间,默认为5000ms。 Passthrough:把后端服务请求转发给API的原后端服务。 单击“添加参数”,可为转发给后端服务的请求添加请求头参数。 降级参数配置 降级参数配置开关。开启后可为断路器自定义规则,API请求优先匹配自定义规则中的触发条件和降级策略,仅当未匹配到自定义规则时才执行上方配置的默认触发条件和降级策略。 如果匹配到自定义规则,则执行规则内配置的触发条件和降级策略。如果匹配到的自定义规则内未配置触发条件或降级策略,则执行上方配置的默认触发条件或降级策略。 如果未匹配到自定义规则,则执行上方配置的默认触发条件和降级策略。 定义参数 定义用于规则匹配的参数。 说明: 建议不要设置敏感信息,以防泄露。 参数位置:参数在API请求中的位置。 参数:用于做规则匹配的参数名。 系统默认包含reqPath(请求路径)和method(请求方法)参数。单击“添加参数”,可添加其他匹配参数。 定义规则 自定义断路器的匹配规则。单击“添加规则”,可添加规则,系统根据从上到下的顺序匹配规则,可通过上下移动调整规则优先级。 匹配条件:单击“”编辑匹配条件表达式。如果表达式数量大于等于3个,可通过“转子层级”对表达式进行分层设置。 =为等于 !=为不等于 pattern为正则表达式 enum为枚举值,多个参数值之间用英文逗号分隔 触发条件和后端降级策略配置可参考上方的默认触发条件和降级策略配置。 例如,开启“降级参数配置”,按顺序添加“rule01”和“rule02”规则,“rule01”关闭“触发条件配置”并且开启“后端降级策略”,“rule02”两者都开启。断路器优先判断“rule01”匹配条件,如果匹配则会按照上方配置的默认触发条件开启断路器(rule01内未配置触发条件),并执行rule01内的后端降级策略。如果不匹配则会继续判断“rule02”,以此类推。
  • 脚本配置示例 { "auth_request": { "method": "GET", "protocol": "HTTPS", "url_domain": "192.168.10.10", "timeout": 5000, "path": "/", "vpc_channel_enabled": false, "vpc_channel_info": null }, "custom_forbid_limit": 100, "carry_body": { "enabled": true, "max_body_size": 1000 }, "auth_downgrade_enabled": true, "carry_path_enabled": true, "return_resp_body_enabled": false, "carry_resp_headers": [], "simple_auth_mode_enabled": true, "match_auth": null, "rule_enabled": false, "rule_type": "allow" }
  • 配置参数说明 表1 配置参数说明 参数 说明 负载通道 是否使用负载通道作为第三方接口的鉴权服务。 选择“使用”时,配置鉴权服务的负载通道。 选择“不使用”时,配置鉴权服务的访问地址。 后端URL 请求方法 支持GET、POST、PUT、HEAD请求方法。 请求协议 HTTP或HTTPS,传输重要或敏感数据时推荐使用HTTPS。 负载通道(可选) 仅在“使用”负载通道时,需要设置。选择已创建的负载通道名称,如果没有可选的负载通道,您也可以单击“新建负载通道”创建。 后端服务地址(可选) 仅在不使用负载通道时,需要设置。 填写鉴权服务的访问地址,格式:“主机:端口”。主机为鉴权服务的访问IP地址/ 域名 ,未指定端口时,HTTP协议默认使用80端口,HTTPS协议默认使用443端口。 说明: 目前仅支持IPv4地址。 路径 鉴权服务的路径,即服务的url。 后端超时(ms) 鉴权服务请求的超时时间。超时时间不超过后端响应超时时间上限,超时时间上限可在API网关控制台的“配置参数”中查看。 自定义host头域 仅在使用负载通道时配置。 在请求被发送到负载通道中的云服务器前,允许您自定义请求的host头域,默认将使用请求中原始的host头域。 防暴力拦截阈值 当源IP访问在5分钟内进行第三方认证失败的次数达到此处配置的阈值时,将触发源IP请求拦截,在这5分钟后解除请求拦截。 例如,5分钟内,源IP访问在第三分钟进行第三方认证失败的次数达到此处配置的阈值,触发源IP请求拦截,再过2分钟解除请求拦截。 身份来源 将从API原始请求中获取此处配置的参数进行第三方鉴权接口鉴权(最大支持10个header参数和10个query参数)。身份来源信息为空时,携带API原始请求的请求参数(header参数和query参数)调用第三方鉴权接口进行鉴权。 宽松模式 开关开启后,当鉴权服务不可用(与鉴权服务建立连接失败或者鉴权服务返回5xx)时,API网关仍然接受客户端请求。 允许携带原始请求体 开关开启后,将携带API原始请求体调用鉴权接口鉴权。 请求体大小(字节) 仅在开启“允许携带原始请求体”时配置。 请求体大小不能超过实例允许的最大请求体大小。实例的最大请求体大小可在API网关控制台“配置参数”中查看。 允许携带原始请求路径 开关开启后,将API原始请求路径拼接到鉴权接口路径之后调用鉴权接口鉴权。 直接返回鉴权响应 开关开启后,鉴权失败时,将直接返回鉴权服务的响应。 允许携带的响应头部 鉴权成功时,原始请求将从鉴权服务返回的响应头中获取此处配置的头部,传到业务后端。 最大支持配置10个头部。 简易鉴权模式 开关开启后,鉴权服务返回状态码“2xx”时,表示认证通过。 鉴权结果匹配 仅在“简易鉴权模式”关闭后可配置。 根据鉴权服务返回的响应头中的参数名和参数值进行校验,响应头中存在此处配置的参数名,并且参数值相等则认证通过。 黑白名单配置 开关开启后,原始API请求匹配黑/白名单规则将进行/不进行第三方认证鉴权。 规则类型 白名单规则 如果原始API请求匹配白名单规则,将不进行第三方认证鉴权。 黑名单规则 如果原始API请求匹配黑名单规则,将进行第三方认证鉴权。 定义参数 定义用于规则的参数。 说明: 建议不要设置敏感信息,以防泄露。 参数位置:用于规则匹配的参数位置。 path:API请求的URI,系统默认配置。 method:API请求方法,系统默认配置。 header:请求头的key值。 query:QueryString的key值。 system:系统参数。 参数:用于判断与规则中的参数值是否匹配。 定义规则 定义用于规则的判断条件。 单击“添加规则”,编辑规则名称和规则条件。在“条件表达式”弹窗中,选择“定义参数”中的参数名和判断条件,以及输入参数值。 说明: 建议不要设置敏感信息,以防泄露。 =为等于 !=为不等于 pattern为正则表达式 enum为枚举值,多个参数值之间用英文逗号分隔
  • URI URI格式 GET /v3.1/{project_id}/instances/{instance_id}/errorlog?start_date={start_date}&end_date={end_date} 参数说明 表1 参数说明 名称 是否必选 说明 project_id 是 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 instance_id 是 要查询的实例ID。 start_date 是 开始时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 end_date 是 结束时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 只能查询当前时间前一个月内的错误日志。 offset 否 索引位置,偏移量。 从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。 limit 否 每页多少条记录(查询结果),取值范围是1~100,不填时默认为10。 level 否 日志级别,默认为ALL,可取值如下: ALL INFO LOG WARNING ERROR FATAL PANIC NOTE
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 error_log_list Array of objects 具体信息。 详情请参见表3 errorLogList字段数据结构说明。 total_record Integer 总记录数。 表3 error_log_list字段数据结构说明 名称 参数类型 说明 time String 日期时间UTC时间。 level String 日志级别。 content String 错误日志内容。 正常响应样例 { "error_log_list": [ { "time": "2022-08-23T22:59:17Z", "level": "WARNING", "content": "Occur error when reading bytes from a network handler. Client actively closes the connection." }, { "time": "2022-08-23T22:54:17Z", "level": "WARNING", "content": "Occur error when reading bytes from a network handler. Client actively closes the connection." } ], "total_record": 2 } 异常响应 请参见异常请求结果。
  • 请求消息 请求参数 无。 URI样例 GET https://{endpoint}/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/cee5265e1e5845649e354841234567dfin01/errorlog?offset=1&limit=10&start_date=2022-08-23T07:41:50+0800&end_date=2022-08-24T07:41:50+0800&level=ALL
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 versions Object API版本详细信息列表。 详情请参见表3。 version Object API版本详细信息列表。 详情请参见表3。 表3 versions字段数据结构说明 名称 参数类型 说明 id String API版本号。 links Array 对应该API版本的链接信息,该字段为空。 详情请参见表4。 status String 版本状态。 updated String 版本更新时间,格式为“yyyy-mm-dd Thh:mm:ssZ”。 其中,T指某个时间的开始;Z指UTC时间。 表4 links字段数据结构说明 名称 参数类型 说明 href String 对应该API的URL,该字段为""。 rel String 取值为“self”,表示href为本地链接。 正常响应样例 { "version": { "id": "v1", "links": [], "status": "DEPRECATED", "updated": "2017-02-07T17:34:02Z" }, "versions": { "id": "v1", "links": [], "status": "DEPRECATED", "updated": "2017-02-07T17:34:02Z" } } 异常响应 请参见异常请求结果。
  • URI URI格式 GET /v3/{project_id}/storage-type/{database_name}?version_name={version_name}&ha_mode={ha_mode} 参数说明 表1 参数说明 名称 是否必选 说明 project_id 是 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 database_name 是 数据库引擎名。支持如下数据库引擎,不区分大小写: MySQL PostgreSQL SQLServer version_name 是 数据库引擎版本号,获取方法请参见查询数据库引擎的版本。 对于MySQL引擎,需转化为其大版本号,例如5.6、5.7、8.0。 ha_mode 否 主备模式,取值如下: single:单机模式。 ha:主备模式。 replica:只读模式。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 在构造请求中以调用获取用户Token接口为例说明了如何调用API。 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 1 2 3 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。
  • 响应消息 正常响应要素说明 表3 要素说明 参数 参数类型 描述 job_id String 任务ID。 restart_required Boolean 实例是否需要重启。 true:需要重启。 false:不需要重启。 正常响应样例 { "job_id" : "e7a7535b-eb9b-45ac-a83a-020dc5016d94", "restart_required" : false } 异常响应 请参见异常请求结果。