华为云用户手册

  • 使用须知 实例状态为“正常”、“异常”、“恢复检查中”,支持重启实例。 重启实例后,该实例下所有节点将会被重启。 重启实例会导致服务中断,请谨慎操作。请在业务低峰期重启,重启前请做好业务安排并确保应用有重连机制。 开启操作保护的用户,在进行敏感操作时,通过进行二次认证再次确认您的身份,进一步提高账号安全性,有效保护您安全使用云产品。关于如何开启操作保护,具体请参考《统一身份认证服务用户指南》的内容。
  • 使用须知 建议您先在标签管理服务系统中设置预定义标签。 标签由“键”和“值”组成,每个标签中的一个“键”只能对应一个“值”。关于标签键和标签值的命名规则,请参见表1。 每个实例默认最多支持10个标签配额,如果您需要使用更多标签,可以联系客服申请至20个标签配额。 标签命名需要满足表1规则。 表1 命名规则 参数 规则 示例 标签键 不能为空。 对于每个实例,每个标签的键唯一。 长度不超过36个字符。 只能包含数字、英文字母、下划线、中划线和中文。 Organization 标签值 可以为空。 长度不超过43个字符。 只能包含数字、英文字母、下划线、点、中划线和中文。 nosql_01
  • 操作场景 标签管理服务(Tag Management Service,简称TMS)用于用户在云平台,通过统一的标签管理各种资源。标签管理服务与各服务共同实现标签管理能力,标签管理服务提供全局标签管理能力,各服务维护自身标签管理 。 为GeminiDB Redis实例添加标签,可以方便用户识别和管理拥有的GeminiDB Redis资源。您可以在创建实例时添加标签,也可以在实例创建完成后,在实例详情页添加标签。 标签添加成功后,您可以通过搜索标签键或值,快速查询关联的资源信息。
  • 约束与限制 包年/包月的云数据库绑定的资源(弹性公网IP)可能不支持随云数据库同步变更计费模式,请参考表1查看绑定资源的计费规则及处理措施。 表1 弹性公网IP计费模式变更规则 资源 计费模式 计费方式 带宽类型 是否支持随GeminiDB Redis包年/包月转按需 处理措施 弹性公网IP 包年/包月 按带宽计费 独享带宽 否 在控制台的弹性公网IP页面进行按需转包年/包月操作。 详细内容,请参见变更弹性公网IP计费方式。 弹性公网IP 包年/包月 按流量计费 独享带宽 否 包年/包月EIP不支持直接转为按需、按流量计费EIP。变更方法如下: 先转为按需、按带宽计费EIP。 再由按需、按带宽计费EIP转为按需、按流量计费EIP。 详细内容,请参见变更弹性公网IP计费方式。
  • 计费项 图引擎服务的计费简单、易于预测,对您选择的图规格(边数)、数据存储空间和公网流量收费。 表1 GES计费项说明 计费项 计费说明 图规格(边数) 根据您选择的边数大小计费。 针对边数提供预付费实例和按需(小时)两种计费模式。 数据存储空间 GES的数据通过对象存储服务(OBS)上传或导出,存储计费按照OBS的计费规则,详情可参考对象存储服务价格详情。 公网流量 GES支持绑定公网IP,所需费用按照虚拟私有云(VPC)服务的EIP计费规则进行计费;GES在华为云内部网络产生的流量不计费。 图引擎服务计费详情及样例,请参见产品价格详情。您可以通过图引擎服务提供的价格计算器,选择您需要的图规格,快速计算出创建图的参考价格。
  • 后端服务地址支持填写私有地址(子网IP)吗? 专享版:支持。实例所在同一个vpc子网内IP,或者通过专线打通的本地数据中心私有地址。 不支持专享版的网段: 0.0.0.0/8 10.0.0.0/8 100.125.0.0/16 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 192.88.99.0/24 192.168.0.0/16 198.18.0.0/15 198.51.100.0/24 203.0.113.0/24 224.0.0.0/4 240.0.0.0/4 255.255.255.255/32 共享版:不支持。后端服务如为相同Region下的弹性云服务器,且弹性云服务器未绑定弹性IP地址,请使用VPC通道,不能直接填写弹性云服务器的私有地址。 父主题: API创建
  • 如何将API服务上架到华为云商店上售卖? API服务上架到华为云商店,您需要按如下流程完成部署和配置: 完成API的创建、发布等工作 此部分操作在API网关服务中完成,您可以参考《API网关用户指南》。 其他相关操作包括“API分组”、“API管理”和“环境管理”等。 (可选)配置API的流量控制策略 流量控制主要用来限制单位时间内API的被调用次数,保护后端服务的稳定。 此部分操作在API网关服务中完成,您可以参考流量控制章节。 (可选)配置API的访问控制策略 访问控制主要用于禁止或仅允许某些账号/源访问IP的API调用。 此部分操作在API网关服务中完成,您可以参考访问控制章节。 在华为云商店中,入住卖家中心,将您的API开放售卖。 将API上架到华为云商店售卖。 此部分操作在华为云商店完成,您需要作为卖家入驻云商店,然后发布API商品。 专享版实例暂不支持将API上架到云商店公开售卖。 父主题: 其他
  • 怎样保护API? 使用身份认证 创建API时,为API调用增加身份认证,如使用IAM认证或API网关提供的APP认证,防止API被恶意调用。 设置访问控制策略 从IP地址(或地址区间)以及账号等不同维度,设置白名单/黑名单。 将API绑定流控策略,通过流控策略保护API。 API网关默认API流量控制为每秒200次,如果您的后端服务不能支撑单个API 200次/秒的调用请求,可设置流量控制策略,将限额调低。 父主题: API安全
  • 支持的授权项 细粒度策略支持的操作与API相对应,授权项列表说明如下: 权限:自定义策略中授权项定义的内容即为权限。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 对应API接口:自定义策略实际调用的API接口。 授权范围:自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM项目和企业项目的区别。 API网关服务管理控制操作相关的授权项,明细如下表所示。用户调用如下API时,需要获取对应的权限。权限获取请参考统一身份认证服务(IAM)的帮助指导。 表1 API网关权限明细 权限描述 授权项 对应的API IAM项目(Project) 企业项目(Enterprise Project) 创建API网关专享版实例 apig:instances:create POST /v2/{project_id}/apigw/instances √ √ 删除API网关专享版实例 apig:instances:delete DELETE /v2/{project_id}/apigw/instances/{instance_id} √ √ 更新API网关专享版实例 apig:instances:update PUT /v2/{project_id}/apigw/instances/{instance_id} √ √ 查看API网关专享版实例 apig:instances:get GET /v2/{project_id}/apigw/instances/{instance_id} √ √ 查看API网关专享版实例列表 apig:instances:list GET /v2/{project_id}/apigw/instances √ √ 创建API分组 apig:groups:create POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups √ √ 删除API分组 apig:groups:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id} √ √ 查看API分组 apig:groups:get GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id} √ √ 查看API分组列表 apig:groups:list GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups √ √ 创建分组域名 apig:domains:create POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains √ √ 删除分组域名 apig:domains:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id} √ √ 分组域名绑定证书 apig:domains:bindCertificate POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate √ √ 分组域名解绑证书 apig:domains:unbindCertificate DELETE /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id} √ √ 查看分组域名绑定的证书 apig:domains:getCertificate GET /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id} √ √ 创建环境变量 apig:variables:create POST /v2/{project_id}/apigw/instances/{instance_id}/env-variables √ √ 删除环境变量 apig:variables:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id} √ √ 查看环境变量 apig:variables:get GET /v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id} √ √ 查看环境变量列表 apig:variables:list GET /v2/{project_id}/apigw/instances/{instance_id}/env-variables √ √ 创建API apig:apis:create POST /v2/{project_id}/apigw/instances/{instance_id}/apis √ √ 删除API apig:apis:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id} √ √ 发布API apig:apis:publish POST /v2/{project_id}/apigw/instances/{instance_id}/apis/action √ √ 下线API apig:apis:offline POST /v2/{project_id}/apigw/instances/{instance_id}/apis/action √ √ 调试API apig:apis:debug POST /v2/{project_id}/apigw/instances/{instance_id}/apis/debug/{api_id} √ √ 导入API apig:apis:import POST /v2/{project_id}/apigw/instances/{instance_id}/openapi/import √ √ 导出API apig:apis:export POST /v2/{project_id}/apigw/instances/{instance_id}/openapi/export √ √ 授权API apig:apis:grantAppAccess POST /v2/{project_id}/apigw/instances/{instance_id}/app-auths √ √ 解授权API apig:apis:relieveAppAccess DELETE /v2/{project_id}/apigw/instances/{instance_id}/app-auths/{app_auth_id} √ √ API绑定签名 apig:apis:bindSigns POST /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings √ √ API解绑签名 apig:apis:unbindSigns DELETE /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/{sign_bindings_id} √ √ API绑定访问控制 apig:apis:bindAcls POST /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings √ √ API解绑访问控制 apig:apis:unbindAcls DELETE /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/{acl_bindings_id} √ √ API绑定流控 apig:apis:bindThrottles POST /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings √ √ API解绑流控 apig:apis:unbindThrottles DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/{throttle_binding_id} √ √ 查看API apig:apis:get GET /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id} √ √ 查看API列表 apig:apis:list GET /v2/{project_id}/apigw/instances/{instance_id}/apis √ √ 查看API绑定的APP列表 apig:apis:listBindedApps GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apps √ √ 查看API绑定的签名列表 apig:apis:listBindedSigns GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-signs √ √ 查看API绑定的访问控制列表 apig:apis:listBindedAcls GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/binded-acls √ √ 查看API绑定的流控列表 apig:apis:listBindedTrottles GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-throttles √ √ 创建环境 apig:envs:create POST /v2/{project_id}/apigw/instances/{instance_id}/envs √ √ 删除环境 apig:envs:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/envs/{env_id} √ √ 查看环境列表 apig:envs:list GET /v2/{project_id}/apigw/instances/{instance_id}/envs √ √ 创建应用 apig:apps:create POST /v2/{project_id}/apigw/instances/{instance_id}/apps √ √ 删除应用 apig:apps:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id} √ √ 查看应用 apig:apps:get GET /v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id} √ √ 查看应用列表 apig:apps:list GET /v2/{project_id}/apigw/instances/{instance_id}/apps √ √ 查看应用绑定的api列表 apig:apps:listBindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apis √ √ 查看应用未绑定的api列表 apig:apps:listUnbindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/app-auths/unbinded-apis √ √ 创建签名 apig:signs:create POST /v2/{project_id}/apigw/instances/{instance_id}/signs √ √ 删除签名 apig:signs:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id} √ √ 查看签名列表 apig:signs:list GET /v2/{project_id}/apigw/instances/{instance_id}/signs √ √ 查看签名绑定的api列表 apig:signs:listBindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-apis √ √ 查看签名未绑定的api列表 apig:signs:listUnbindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/unbinded-apis √ √ 创建访问控制 apig:acls:create POST /v2/{project_id}/apigw/instances/{instance_id}/acls √ √ 删除访问控制 apig:acls:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/acls/{acl_id} √ √ 查看访问控制 apig:acls:get GET /v2/{project_id}/apigw/instances/{instance_id}/acls/{acl_id} √ √ 查看访问控制列表 apig:acls:list GET /v2/{project_id}/apigw/instances/{instance_id}/acls √ √ 查看访问控制绑定的api列表 apig:acls:listBindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/binded-apis √ √ 查看访问控制未绑定的api列表 apig:acls:listUnbindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/unbinded-apis √ √ 创建流量控制 apig:throttles:create POST /v2/{project_id}/apigw/instances/{instance_id}/throttles √ √ 删除流量控制 apig:throttles:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id} √ √ 查看流量控制 apig:throttles:get GET /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id} √ √ 查看流量控制列表 apig:throttles:list GET /v2/{project_id}/apigw/instances/{instance_id}/throttles √ √ 查看流量控制绑定的api列表 apig:throttles:listBindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-apis √ √ 查看流量控制未绑定的api列表 apig:throttles:listUnbindedApis GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/unbinded-apis √ √ 创建特殊流量控制 apig:specialThrottles:create POST /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials √ √ 删除特殊流量控制 apig:specialThrottles:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials/{strategy_id} √ √ 查看特殊流量控制列表 apig:specialThrottles:get GET /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials √ √ 创建负载通道 apig:vpcChannels:create POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels √ √ 删除负载通道 apig:vpcChannels:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} √ √ 更新负载通道 apig:vpcChannels:update PUT /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} √ √ 创建后端实例 apig:vpcChannels:addInstance POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/members √ √ 删除后端实例 apig:vpcChannels:deleteInstance DELETE /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/members/{member_id} √ √ 查看负载通道 apig:vpcs:get GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id} √ √ 查看负载通道列表 apig:vpcs:list GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels √ √ 创建自定义认证 apig:authorizers:create POST /v2/{project_id}/apigw/instances/{instance_id}/authorizers √ √ 删除自定义认证 apig:authorizers:delete DELETE /v2/{project_id}/apigw/instances/{instance_id}/authorizers/{authorizer_id} √ √ 查看自定义认证 apig:authorizers:get GET /v2/{project_id}/apigw/instances/{instance_id}/authorizers/{authorizer_id} √ √ 查看自定义认证列表 apig:authorizers:list GET /v2/{project_id}/apigw/instances/{instance_id}/authorizers √ √ 查看标签列表 apig:tags:list GET /v2/{project_id}/apigw/instances/{instance_id}/tags √ √ 查看实例特性列表 apig:features:list GET /v2/{project_id}/apigw/instances/{instance_id}/features √ √ 创建实例特性 apig:features:create POST /v2/{project_id}/apigw/instances/{instance_id}/features √ √
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在“我的凭证”下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 父主题: 使用前必读
  • URI HTTP/HTTPS请求方法以及URI如下表所示。 表1 HTTP/HTTPS请求方法以及URI 请求方法 URI POST /v1/{project_id}/apigw/instances/{instance_id}/throttle-specials URI中的参数说明如下表所示。 表2 参数说明 名称 是否必选 类型 说明 project_id 是 String 项目ID。可从控制台“我的凭证”中获取region下项目ID,管理员权限可查询。 instance_id 是 String 实例ID,可从API网关控制台的专享版实例信息中获取。
  • 请求消息 表3 参数说明 参数 是否必选 类型 说明 call_limits 是 Integer 流控时间内特殊对象能够访问API的最大次数限制 instance_id 是 String 特殊APP的编号或特殊租户的账号ID instance_type 是 String 对象类型:APP/USER strategy_id 是 String 流控策略编号 请求消息样例: { "call_limits": 150, "instance_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4", "instance_type": "APP", "strategy_id": "a3106cfe-801f-4919-b0d7-d785dc5b47f9" }
  • 响应消息 表4 参数说明 参数 类型 说明 id String 特殊配置的编号 strategy_id String 流控策略编号 instance_id Integer 特殊对象的身份标识 instance_name String 作用的APP或租户的名称 instance_type Integer 特殊对象的类型 call_limits Integer 特殊对象在流控时间内能够访问API的最大次数限制 apply_time Timestamp 设置时间 app_id String 作用的APP编号 app_name String 作用的APP名称 响应消息样例: { "id": "778879b8-df10-495b-a087-874859fdea6d", "strategy_id": "a3106cfe-801f-4919-b0d7-d785dc5b47f9", "instance_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4", "instance_name": "app_002", "instance_type": "APP", "call_limits": 150, "apply_time": "2017-12-29T03: 11: 18.2698381Z", "app_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4", "app_name": "app_002" }
  • 响应消息 表3 参数说明 名称 类型 说明 throttle_specials 字典数据类型 本次查询返回的特殊配置列表 total Integer 符合条件的特殊设置总数 size Integer 本次查询返回的列表长度 表4 throttle_specials参数说明 参数 类型 说明 id String 特殊配置的编号 strategy_id String 流控策略编号 instance_id Integer 特殊对象的身份标识 instance_name String 作用的APP或租户的名称 instance_type Integer 特殊对象的类型 call_limits Integer 特殊对象在流控时间内能够访问API的最大次数限制 apply_time Timestamp 设置时间 app_id String 作用的APP编号 app_name String 作用的APP名称 响应消息样例: { "total": 1, "size": 1, "throttle_specials": [{ "id": "778879b8-df10-495b-a087-874859fdea6d", "strategy_id": "a3106cfe-801f-4919-b0d7-d785dc5b47f9", "instance_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4", "instance_name": "app_002", "instance_type": "APP", "call_limits": 180, "apply_time": "2017-12-29T03:11:18Z", "app_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4", "app_name": "app_002" }] }
  • URI HTTP/HTTPS请求方法以及URI如下表所示。 表1 HTTP/HTTPS请求方法以及URI 请求方法 URI GET /v1/{project_id}/apigw/instances/{instance_id}/throttle-specials/{strategy_id}[?page_size, page_no, instance_type, app_name, user] 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。 查询条件可为以下字段以及对应的值:strategy_id、app_name、user、 page_size、page_no。 URI中的参数说明如下表所示。 表2 参数说明 名称 是否必选 类型 说明 project_id 是 String 项目ID。可从控制台“我的凭证”中获取region下项目ID,管理员权限可查询。 instance_id 是 String 实例ID,可从API网关控制台的专享版实例信息中获取。 strategy_id 是 String 流控策略的编号 page_size 否 Integer 每页显示的条数,默认值:20 page_no 否 Integer 页码,默认值:1 instance_type 否 String 特殊流控类型: APP, USER app_name 否 String 筛选的特殊应用名称 user 否 String 筛选的特殊租户的账号ID
  • URI HTTP/HTTPS请求方法以及URI如下表所示。 表1 HTTP/HTTPS请求方法以及URI 请求方法 URI GET /v1.0/apigw/throttle-specials/{strategy_id}[?page_size, page_no, instance_type, app_name, user] 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。 查询条件可为以下字段以及对应的值:strategy_id、app_name、user、 page_size、page_no。 URI中的参数说明如下表所示。 表2 参数说明 名称 是否必选 类型 说明 strategy_id 是 String 流控策略的编号 page_size 否 Integer 每页显示的条数,默认值:20 page_no 否 Integer 页码,默认值:1 instance_type 否 String 特殊流控类型: APP,USER app_name 否 String 筛选的特殊应用名称 user 否 String 筛选的特殊租户的账号ID
  • 响应消息 表3 参数说明 名称 类型 说明 throttle_specials 字典数据类型 本次查询返回的特殊配置列表 total Integer 符合条件的特殊设置总数 size Integer 本次查询返回的列表长度 表4 throttle_specials参数说明 参数 类型 说明 id String 特殊配置的编号 strategy_id String 流控策略编号 instance_id Integer 特殊对象的身份标识 instance_name String 作用的APP或租户的名称 instance_type Integer 特殊对象的类型 call_limits Integer 特殊对象在流控时间内能够访问API的最大次数限制 apply_time Timestamp 设置时间 app_id String 作用的APP编号 app_name String 作用的APP名称 响应消息样例: { "total": 1, "size": 1, "throttle_specials": [{ "id": "778879b8-df10-495b-a087-874859fdea6d", "strategy_id": "a3106cfe-801f-4919-b0d7-d785dc5b47f9", "instance_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4", "instance_name": "app_002", "instance_type": "APP", "call_limits": 180, "apply_time": "2017-12-29T03:11:18Z", "app_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4", "app_name": "app_002" }] }
  • 响应示例 状态码: 200 OK { "available_zone_ids" : "[xx-xxx-7a, xx-xxx-7b]", "bandwidth_size" : 5, "description" : "test create instance", "enterprise_project_id" : "0", "instance_name" : "apig-demo", "maintain_begin" : "22:00:00", "maintain_end" : "02:00:00", "security_group_id" : "36d0ec18-bd10-4da7-86f3-ad7a5ddc55d7", "spec" : "PROFESSIONAL", "subnet_id" : "a938121c-11c4-4c91-b983-bc9acd347bb5", "vpc_id" : "0957108c-257c-4ce0-9e93-527d279ce763" } 状态码: 400 Bad Request { "error_code" : "APIC.7211", "error_msg" : "Parameter value does not match the rules, parameter name[maintainBegin]" } 状态码: 401 Unauthorized { "error_code" : "APIC.7102", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIC.7106", "error_msg" : "No permissions to request for the method" } 状态码: 404 Not Found { "error_code" : "APIC.7302", "error_msg" : "Instance not found" } 状态码: 500 Internal Server Error { "error_code" : "APIC.9000", "error_msg" : "Failed to request internal service" }
  • 响应消息 表3 参数说明 参数 类型 说明 id String 特殊配置的编号 strategy_id String 流控策略编号 instance_id Integer 特殊对象的身份标识 instance_name String 作用的APP或租户的名称 instance_type Integer 特殊对象的类型 call_limits Integer 特殊对象在流控时间内能够访问API的最大次数限制 apply_time Timestamp 设置时间 app_id String 作用的APP编号 app_name String 作用的APP名称 响应消息样例: { "id": "778879b8-df10-495b-a087-874859fdea6d", "strategy_id": "a3106cfe-801f-4919-b0d7-d785dc5b47f9", "instance_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4", "instance_name": "app_002", "instance_type": "APP", "call_limits": 150, "apply_time": "2017-12-29T03: 11: 18.2698381Z", "app_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4", "app_name": "app_002" }
  • 请求消息 表2 参数说明 参数 是否必选 类型 说明 call_limits 是 Integer 流控时间内特殊对象能够访问API的最大次数限制 instance_id 是 String 特殊APP的编号或特殊租户的账号ID instance_type 是 String 对象类型:APP/USER strategy_id 是 String 流控策略编号 请求消息样例: { "call_limits": 150, "instance_id": "98efd77d-10b5-4eca-8170-ed30a4a286a4", "instance_type": "APP", "strategy_id": "a3106cfe-801f-4919-b0d7-d785dc5b47f9" }
  • 到期后影响 下图描述了包年/包月实例各个阶段的状态。购买后,在计费周期内实例正常运行,此阶段为有效期;实例到期而未续费时,将陆续进入宽限期和保留期。 图2 包年/包月实例生命周期 到期预警 包年/包月实例在到期前第7天内,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到华为云账号的创建者。 到期后影响 当您的包年/包月实例到期未续费,首先会进入宽限期,实例状态变为“已过期”。宽限期内您可以正常访问实例。如果您在宽限期内仍未续费包年/包月实例,那么就会进入保留期,实例状态变为“已冻结”,您将无法对处于保留期的包年/包月实例执行任何操作。 保留期到期后,若包年/包月实例仍未续费,那么实例将被释放,数据无法恢复。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。
  • 续费相关的功能 包年/包月实例续费相关的功能如表1所示。 表1 续费相关的功能 功能 说明 手动续费 包年/包月实例从购买到被自动删除之前,您可以随时在管理控制台为实例续费,以延长实例的使用时间。 自动续费 开通自动续费后,实例会在每次到期前自动续费,避免因忘记手动续费而导致资源被自动删除。 在一个包年/包月实例生命周期的不同阶段,您可以根据需要选择一种方式进行续费,具体如图所示。 图1 实例生命周期 实例从购买至到期前,处于正常运行阶段,资源状态为“运行中”。 到期后,资源状态变为“已过期”。 到期未续费时,实例首先会进入宽限期,宽限期到期后仍未续费,资源状态变为“已冻结”。 超过宽限期仍未续费将进入保留期,如果保留期内仍未续费,资源将被自动删除。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 在实例到期前均可开通自动续费,到期前7日凌晨3:00首次尝试自动续费,如果扣款失败,每天凌晨3:00尝试一次,直至实例到期或者续费成功。到期前7日自动续费扣款是系统默认配置,您也可以根据需要修改此扣款日。
  • 概述 API网关(API Gateway)是为您提供高性能、高可用、高安全的API托管服务,帮助您轻松构建、管理和部署任意规模的API。借助API网关可以简单、快速、低成本、低风险地实现内部系统集成、业务能力开放。 若您想快速体验开放API和调用API能力,请参考体验Demo,一键式快速完成操作。 若您想快速体验开放API和调用API的操作流程,请参考开放API和调用API。这里以APP认证类型的简易认证举例,端到端操作快速上手。
  • 产品功能 API生命周期管理 包括API的创建、发布、下线和删除的完整生命周期管理功能。通过API生命周期管理功能,您可以快速、高效的开放成熟的业务能力。 云原生网关 API网关将流量入口和微服务治理能力融合,用一个网关去同时支持了k8s Ingress和Gateway API的功能,不仅大幅提升了性能,还简化了架构,降低了部署和运维成本。 便捷调试工具 API网关提供页面调试工具,您可以使用该工具添加HTTP头部参数与body体参数,对API进行调试,简化API开发,降低API的开发维护成本。 版本管理 API可以发布到不同的环境,如果您需要再次发布此API到之前已发布的环境,那么此次的发布版本将立即覆盖之前的版本。API网关支持查看API发布历史(如版本、发布说明、发布时间和发布环境),并支持回滚到任一API历史版本,以便满足业务灰度发布、版本升级、回滚等需求。 环境变量 环境变量是指在环境上创建可管理的一种变量,该变量固定在环境上。当API发布到不同环境时,发布过程中变量标识会被相应环境的变量值替换,API本身定义不变。通过创建环境变量,实现同一个API,在不同环境中调用不同的后端服务。 精细流量控制 针对不同的业务等级、用户等级,可实施API的请求频率、用户的请求频率、应用(凭据)的请求频率和源IP的请求频率的管控,用于保障后端服务的稳定运行。 针对API调用path、query、header等参数精细化配置不同的流量的限制。 流量控制的时间单位可以是秒、分钟、小时或天。 针对特殊的应用和租户设置特殊的流控限制。 监控告警 提供实时、可视化的API监控,包括:API请求次数、API调用延迟和API错误信息,通过监控面板更清晰地了解API的调用情况,识别可能影响业务的潜在风险。 安全防护 域名访问认证支持TLS1.1、TLS1.2防护,支持mTLS双向认证。 访问控制策略主要用来控制访问API的IP地址和账户,您可以通过设置IP地址或账户的黑白名单来拒绝/允许某个IP地址或账户访问API。 断路器策略是API网关在后端服务出现性能问题时保护系统的机制,支持通过熔断降级的方式保护后端服务。 身份认证策略支持通过AKSK、Token等多种方式进行服务认证,支持用户通过函数自定义API访问认证逻辑,支持对后端服务进行证书校验,支持签名密钥用于后端服务验证API网关的身份。 VPC通道(负载通道) 在API网关中创建VPC通道(负载通道)来访问VPC环境中的资源,并将部署在VPC中的后端服务开放为API。VPC通道(负载通道)具有负载均衡功能,可对接服务器、微服务注册中心,支持后端流量的均衡、灰度策略,从而实现后端服务的负载均衡。 模拟响应 API网关支持设置模拟的API后端响应,支持利用Mock响应支持熔断降级、重定向等场景。 API云商店 将华为云上创建的API通过华为云商店开放给合作伙伴及第三方开发者,从而实现业务能力变现。目前仅支持共享版API上架云商店。
  • 自定义认证 自定义认证指在API调用过程中,用户可自行定义认证规则,实现API网关对调用方发起的请求、后端服务对API网关转发的请求进行有效性以及完整性校验。 自定义认证包含以下两种认证: 前端自定义认证:如果您希望使用自己的认证系统,而不是APP认证/华为IAM认证对API的访问进行认证鉴权时,您可以使用自定义认证,通过您自定义的函数进行认证鉴权。 后端自定义认证:当不同的后端服务使用不同的认证系统时,导致您需要为不同的认证系统定制化开发API,而APIG通过自定义认证功能,将多种认证系统集成,简化API开发的复杂度。您只需要在APIG中创建自定义的函数认证,APIG通过此函数对接后端认证系统,获取后端服务的访问授权。
  • API网关系统角色 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 API网关服务部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问API网关服务时,需要先切换至授权区域。 权限根据授权精细程度分为角色和策略,策略是角色的升级版。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对API网关服务,管理员能够控制IAM用户进行指定的管理操作。权限策略以API接口为粒度进行权限拆分,API网关服务支持的API授权项请参见权限策略支持的授权项。 如表1所示,包括了API网关的所有系统角色和策略。 表1 API网关的系统角色或策略 系统角色/策略名称 描述 类别 依赖关系 APIG Administrator API网关服务的管理员权限。拥有该权限的用户可以使用专享版和共享版API网关服务的所有功能。 系统角色 无。 APIG FullAccess API网关服务所有权限。拥有该权限的用户可以使用专享版API网关服务的所有功能。 系统策略 无。 APIG ReadOnlyAccess API网关服务的只读访问权限。拥有该权限的用户只能查看专享版API网关服务的各类信息。 系统策略 无。 以上系统角色或策略的具体权限内容,可以从IAM服务控制台查看。例如APIG FullAccess的策略内容为: { "Version": "1.1", "Statement": [ { "Action": [ "apig:*:*", "vpc:*:get*", "vpc:*:list*", "vpc:ports:create", "vpc:ports:update", "vpc:ports:delete", "vpc:publicIps:update", "FunctionGraph:function:listVersion", "FunctionGraph:function:list", "FunctionGraph:function:getConfig", "ecs:servers:list", "lts:groups:list", "lts:logs:list", "lts:topics:list" ], "Effect": "Allow" } ] }
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的云安全挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的 IaaS、PaaS 和 SaaS 类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的 IaaS、PaaS 和 SaaS 类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、虚拟主机和访客虚拟机的操作系统,虚拟防火墙、API 网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 执行结果 执行结果由3部分组成:函数返回、执行摘要和日志。 表2 执行结果说明 参数项 执行成功 执行失败 函数返回 返回函数中定义的返回信息。 返回包含错误信息、错误类型和堆栈异常报错信息的JSON文件。格式如下: { "errorMessage": "", "errorType": "", "stackTrace": [] } errorMessage:Runtime返回的错误信息 errorType:错误类型 stackTrace:Runtime返回的堆栈异常报错信息 执行摘要 显示请求ID、配置内存、执行时长、实际使用内存和收费时长。 显示请求ID、配置内存、执行时长、实际使用内存和收费时长。 日志 打印函数日志,最多显示4KB的日志。 打印报错信息,最多显示4KB的日志。
  • 执行结果 执行结果由3部分组成:函数返回、执行摘要和日志。 表3 执行结果说明 参数项 执行成功 执行失败 函数返回 返回函数中定义的返回信息。 返回包含错误信息和错误类型的JSON文件。格式如下: { "errorMessage": "", "errorType": "" } errorMessage:Runtime返回的错误信息 errorType:错误类型 执行摘要 显示请求ID、配置内存、执行时长、实际使用内存和收费时长。 显示请求ID、配置内存、执行时长、实际使用内存和收费时长。 日志 打印函数日志,最多显示4KB的日志。 打印报错信息,最多显示4KB的日志。
  • 测试缺陷 单击“测试”状态的缺陷标题,系统显示“测试”详情页。 在处理缺陷过程中,还可以对缺陷进行评论、关联工作项、添加附件、新增工时和查看历史记录等操作,具体请参见编辑缺陷详情。 测试完成后,单击页面右上角的“测试通过”,弹出“测试通过”信息填写窗口。 单击“退回到修复”,填写“退回原因”和“责任人”后,该缺陷的状态变为“修复”。 单击“挂起”,填写“挂起原因”后,可挂起该缺陷。 根据项目实际情况填写“责任人”和“测试报告”。 单击“确定”,该缺陷的状态变为“验收”。
共100000条