云服务器内容精选

  • 前提条件 已获取API的调用信息,具体请参见认证前准备。 已安装Python安装包2.7.9或3.X版本,如果未安装,请至Python官方下载页面下载。 Python安装完成后,在cmd/shell窗口中使用pip安装“requests”库。 pip install requests 如果pip安装requests遇到证书错误,请下载并使用Python执行此文件,升级pip,然后再执行以上命令安装。 已安装IntelliJ IDEA 2018.3.5或以上版本,如果未安装,请至IntelliJ IDEA官方网站下载。 已在IntelliJ IDEA中安装Python插件,如果未安装,请按照图1所示安装。 图1 安装Python插件
  • 调用API示例 在工程中引入apig_sdk。 1 2 3 from apig_sdk import signer import requests import os 生成一个新的Signer,填入AppKey和AppSecret。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux系统为例在本地将已获取的AK/SK设置为环境变量。 打开终端,输入以下命令打开环境变量配置文件。 vi ~/.bashrc 设置环境变量,保存文件并退出编辑器。 export HUAWEICLOUD_SDK_AK="已获取AK值" export HUAWEICLOUD_SDK_SK="已获取SK值" 输入以下命令使配置文件生效。 source ~/.bashrc 生成一个新的Signer,填入已设置的环境变量。 1 2 3 4 5 sig = signer.Signer() // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. sig.Key = os.getenv('HUAWEICLOUD_SDK_AK') sig.Secret = os.getenv('HUAWEICLOUD_SDK_SK') 生成一个Request对象,指定方法名、请求uri、header和body。 1 2 3 4 r = signer.HttpRequest("POST", "https://c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com/app1?a=1", {"x-stage": "RELEASE"}, "body") 进行签名,执行此函数会在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 X-Sdk-Date是一个必须参与签名的请求消息头参数。 1 sig.Sign(r) 访问API,查看访问结果。 1 2 3 resp = requests.request(r.method, r.scheme + "://" + r.host + r.uri, headers=r.headers, data=r.body) print(resp.status_code, resp.reason) print(resp.content)
  • 获取SDK 请在API网关控制台,选择“帮助中心”,在“SDK使用指引”页签中下载对应语言所使用SDK。 或直接下载SDK的最新版本,获取“ApiGateway-python-sdk.zip”压缩包,解压后目录结构如下: 名称 说明 apig_sdk\__init__.py SDK代码 apig_sdk\signer.py main.py 示例代码 backend_signature.py 后端签名示例代码 licenses\license-requests 第三方库license文件
  • 步骤1:构造规范请求 使用APP方式进行签名与认证,首先需要规范请求内容,然后再进行签名。客户端与API网关使用相同的请求规范,可以确保同一个HTTP请求的前后端得到相同的签名结果,从而完成身份校验。 HTTP请求规范伪代码如下: CanonicalRequest = HTTPRequestMethod + '\n' + CanonicalURI + '\n' + CanonicalQueryString + '\n' + CanonicalHeaders + '\n' + SignedHeaders + '\n' + HexEncode(Hash(RequestPayload)) 通过以下示例来说明规范请求的构造步骤。 假设原始请求如下: GET https://c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com/app1?b=2&a=1 HTTP/1.1 Host: c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com X-Sdk-Date: 20191111T093443Z 构造HTTP请求方法(HTTPRequestMethod),以换行符结束。 HTTP请求方法,如GET、PUT、POST等。请求方法示例: GET 添加规范URI参数(CanonicalURI),以换行符结束。 释义: 规范URI,即请求资源路径,是URI的绝对路径部分的URI编码。 格式: 根据RFC 3986标准化URI路径,移除冗余和相对路径部分,路径中每个部分必须为URI编码。如果URI路径不以“/”结尾,则在尾部添加“/”。 举例: 示例中的URI:/app1,此时规范的URI编码为: GET /app1/ 计算签名时,URI必须以“/”结尾。发送请求时,可以不以“/”结尾。 添加规范查询字符串(CanonicalQueryString),以换行符结束。 释义: 查询字符串,即查询参数。如果没有查询参数,则为空字符串,即规范后的请求为空行。 格式: 规范查询字符串需要满足以下要求: 根据以下规则对每个参数名和值进行URI编码: 请勿对RFC 3986定义的任何非预留字符进行URI编码,这些字符包括:A-Z、a-z、0-9、-、_、.和~。 使用%XY对所有非预留字符进行百分比编码,其中X和Y为十六进制字符(0-9和A-F)。例如,空格字符必须编码为%20,扩展UTF-8字符必须采用“%XY%ZA%BC”格式。 对于每个参数,追加“URI编码的参数名称=URI编码的参数值”。如果没有参数值,则以空字符串代替,但不能省略“=”。 例如以下含有两个参数,其中第二个参数parm2的值为空。 parm1=value1&parm2= 按照字符代码以升序顺序对参数名进行排序。例如,以大写字母F开头的参数名排在以小写字母b开头的参数名之前。 以排序后的第一个参数名开始,构造规范查询字符串。 举例: 示例中包含两个可选参数:a、b GET /app1/ a=1&b=2 添加规范消息头(CanonicalHeaders),以换行符结束。 释义: 规范消息头,即请求消息头列表。包括签名请求中的所有HTTP消息头列表。消息头必须包含X-Sdk-Date,用于校验签名时间,格式为ISO8601标准的UTC时间格式:YYYYMMDDTHHMMSSZ。如果API发布到非RELEASE环境时,需要增加自定义的环境名称。 客户端须注意本地时间与时钟服务器的同步,避免请求消息头X-Sdk-Date的值出现较大误差。 API网关除了校验时间格式外,还会校验该时间值与网关收到请求的时间差,如果时间差大于15分钟,API网关将拒绝请求。 格式: CanonicalHeaders由多个请求消息头共同组成,CanonicalHeadersEntry0 + CanonicalHeadersEntry1 + ...,其中每个请求消息头(CanonicalHeadersEntry)的格式为Lowercase(HeaderName) + ':' + Trimall(HeaderValue) + '\n' Lowercase:表示将所有字符转换为小写字母的函数。 Trimall:表示删除值前后的多余空格的函数。 最后一个请求消息头也会携带一个换行符。叠加规范中CanonicalHeaders自身携带的换行符,因此会出现一个空行。 消息头名称要保持唯一性,出现多个相同消息头名称时,无法完成认证。 举例: GET /app1/ a=1&b=2 host:c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com x-sdk-date:20191111T093443Z //此处为空行 规范消息头需要满足以下要求: 将消息头名称转换为小写形式,并删除前导空格和尾随空格。 按照字符代码对消息头名称进行升序排序。 例如原始消息头为: Host: c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com\n Content-Type: application/json;charset=utf8\n My-header1: a b c \n X-Sdk-Date:20191111T093443Z\n My-Header2: "a b c" \n 规范消息头为: content-type:application/json;charset=utf8\n host:c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com\n my-header1:a b c\n my-header2:"a b c"\n x-sdk-date:20191111T093443Z\n 添加用于签名的消息头声明(SignedHeaders),以换行符结束。 释义: 用于签名的请求消息头列表。通过添加此消息头,向API网关告知请求中哪些消息头是签名过程的一部分,以及在验证请求时API网关可以忽略哪些消息头。X-Sdk-date必须作为已签名的消息头。 格式: SignedHeaders = Lowercase(HeaderName0) + ';' + Lowercase(HeaderName1) + ";" + ... 已签名的消息头需要满足以下要求:将已签名的消息头名称转换为小写形式,按照字符代码对消息头进行排序,并使用“;”来分隔多个消息头。 Lowercase表示将所有字符转换为小写字母。 举例: 以下表示有两个消息头参与签名:host、x-sdk-date GET /app1/ a=1&b=2 host:c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com x-sdk-date:20191111T093443Z host;x-sdk-date 基于HTTP或HTTPS请求正文中的body体(RequestPayload),使用SHA-256哈希函数创建哈希值。 释义: 请求消息体。消息体需要做两层转换:HexEncode(Hash(RequestPayload)),其中Hash表示生成消息摘要的函数,当前支持SHA-256算法。HexEncode表示以小写字母形式返回摘要的Base-16编码的函数。例如,HexEncode("m") 返回值为“6d”而不是“6D”。输入的每一个字节都表示为两个十六进制字符。 计算RequestPayload的哈希值时,对于“RequestPayload==null”的场景,直接使用空字符串""来计算。 举例: 本示例为GET方法,body体为空。经过哈希处理的body(空字符串)如下: GET /app1/ a=1&b=2 host:c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com x-sdk-date:20191111T093443Z host;x-sdk-date e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 对构造好的规范请求进行哈希处理,算法与对RequestPayload哈希处理的算法相同。经过哈希处理的规范请求必须以小写十六进制字符串形式表示。 算法伪代码:Lowercase(HexEncode(Hash.SHA256(CanonicalRequest))) 经过哈希处理的规范请求示例: af71c5a7ef45310b8dc05ab15f7da50189ffa81a95cc284379ebaa5eb61155c0
  • 步骤2:创建待签字符串 对HTTP请求进行规范并取得请求的哈希值后,将其与签名算法、签名时间一起组成待签名字符串。 StringToSign = Algorithm + \n + RequestDateTime + \n + HashedCanonicalRequest 伪代码中参数说明如下。 Algorithm 签名算法。对于SHA 256,算法为SDK-HMAC-SHA256。 RequestDateTime 请求时间戳。与请求消息头X-Sdk-Date的值相同,格式为YYYYMMDDTHHMMSSZ。 HashedCanonicalRequest 经过哈希处理的规范请求。 上述例子得到的待签字符串为: SDK-HMAC-SHA256 20191111T093443Z af71c5a7ef45310b8dc05ab15f7da50189ffa81a95cc284379ebaa5eb61155c0
  • 步骤3:计算签名 将APP secret和创建的待签字符串作为加密哈希函数的输入,计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(APP secret, string to sign)) 其中HMAC指密钥相关的哈希运算,HexEncode指转十六进制。伪代码中参数说明如表1所示。 表1 参数说明 参数名称 参数解释 APP secret 签名密钥 string to sign 创建的待签字符串 假设APP secret为FWTh***XMD8,则计算得到的signature为: 5ac0b7c4035112cd840397e12d10cd1ca065328d03a6242d5cbfbbd63659c011
  • 步骤4:添加签名信息到请求头 在计算签名后,将它添加到Authorization的HTTP消息头。Authorization消息头未包含在已签名消息头中,主要用于身份验证。 伪代码如下: Authorization header创建伪码: Authorization: algorithm Access=APP key, SignedHeaders=SignedHeaders, Signature=signature 需要注意的是算法与Access之前没有逗号,但是SignedHeaders与Signature之前需要使用逗号隔开。 得到的签名消息头为: Authorization: SDK-HMAC-SHA256 Access=FM9RLCN************NAXISK, SignedHeaders=host;x-sdk-date, Signature=01cc37e53d***e00b15822 得到签名消息头后,将其增加到原始HTTP请求内容中,请求将被发送给API网关,由API网关完成身份认证。身份认证通过后,该请求才会发送给后端服务进行业务处理。
  • 配额限制 如果您需要修改默认限制值,请参考如何申请扩大配额。专享版更多参数配置,请参见配置参数。 新增或修改的APIG资源存在数据同步延迟,需要5-10秒才生效。 在高并发情况下会出现略超最大配额数限制的情况,不影响资源的正常使用。 表3 专享版配额管理明细 限制项 默认限制 能否修改 实例数量 每个用户最多创建5个实例。 √ API分组数量 每个实例最多创建1500个API分组。 √ API数量 每个实例: 基础版:250 专业版:800 企业版:2000 铂金版:8000 √ API数量 每个分组最多创建1000个API。 x 后端策略数量 每个实例最多创建5个后端策略。 √ 凭据数量 每个实例最多创建50个凭据。凭据配额包括用户自行创建的应用。 √ 流控策略数量 每个实例最多创建300个流控策略。 用户流量限制不超过API流量限制。 应用(凭据)流量限制不超过用户流量限制。 源IP流量限制不超过API流量限制。 √ 环境数量 每个实例最多创建10个环境。 √ 签名密钥数量 每个实例最多创建200个签名密钥。 √ 访问控制策略数量 每个实例最多可以创建100个访问控制策略。 √ VPC通道(负载通道)数量 每个实例最多创建200个VPC通道。 √ 变量数量 每个分组在任意一个环境中,最多创建50个变量。 √ 独立 域名 数量 每个分组最多可以绑定5个独立域名。 √ 云服务器数量 每个VPC通道最多添加10个云服务器。 √ 参数数量 每个API最多创建50个参数。 √ 发布历史数量 同一个API在每个环境中最多记录10条最新的发布历史。 √ 每个API的访问频率 不超过6000次/秒。 √ 特殊应用(凭据) 每个流控策略最多可创建30个特殊应用。 √ 特殊租户 每个流控策略最多可创建30个特殊租户。 √ 子域名(调试域名)访问次数 每个子域名每天最多可以访问1000次。 x 调用请求包的大小 API每次最大可以调用12M的请求包。 √ TLS协议 支持TLS1.1和TLS1.2,推荐使用TLS1.2。 √ 自定义认证数量 每个实例最多创建50个自定义认证。 x 插件数量 每个实例最多创建500个插件策略。 √ HTTP协议 使用HTTP协议时,URL+Header的大小上限为32K。 x 编排规则数量 每个API最多关联5个参数编排规则。 √ 表4 共享版配额管理明细 限制项 默认限制 能否修改 API分组数量 每个用户最多创建50个API分组。 √ API数量 每个用户最多创建200个API。 √ 后端策略数量 每个用户最多创建5个后端策略。 √ 应用数量 每个用户最多创建50个应用。应用配额包括用户自行创建的应用和API云商店购买API生成的应用。 √ 流控策略数量 每个用户最多创建30个流控策略。 用户流量限制不超过API流量限制。 应用流量限制不超过用户流量限制。 源IP流量限制不超过API流量限制。 √ 环境数量 每个用户最多创建10个环境。 √ 签名密钥数量 每个用户最多创建30个签名密钥。 √ 访问控制策略数量 每个用户最多可以创建100个访问控制策略。 √ VPC通道数量 每个用户最多创建30个VPC通道。 √ 变量数量 每个分组在任意一个环境中,最多创建50个变量。 √ 独立域名数量 每个分组最多可以绑定5个独立域名。 √ 云服务器数量 每个VPC通道最多添加200个云服务器。 √ 参数数量 每个API最多创建50个参数。 √ 发布历史数量 同一个API在每个环境中最多记录10条最新的发布历史。 √ 每个API的访问频率 不超过200次/秒。 √ 特殊应用 每个流控策略最多可创建30个特殊应用。 √ 特殊租户 每个流控策略最多可创建30个特殊租户。 √ 子域名访问次数 每个子域名每天最多可以访问1000次。 x 调用请求包的大小 API每次最大可以调用12M的请求包。 x 自定义认证数量 每个用户最多创建20个自定义认证。 √
  • 实例 表1 实例约束与限制 限制项 约束与限制 用户权限 如果您使用系统角色相关权限,需要同时拥有“APIG Administrator”和“VPC Administrator”权限才能创建实例。 如果您使用系统策略,则拥有“APIG FullAccess”权限即可。 如果您使用自定义策略,请参考APIG自定义策略。 网络 如果用户使用192.x.x.x或10.x.x.x网段,APIG则会使用172.31.32.0/19作为内部网段。 如果用户使用172.x.x.x网段,APIG则会使用192.168.32.0/19作为内部网段。 子网中可用私有地址数量 API网关专享实例的基础版、专业版、企业版,以及铂金版分别需要3、5、6、7个私有地址。在铂金版的基础上,铂金版X依次增加4个私有地址。例如,铂金版x2需要11个私有地址,铂金版x4需要19个私有地址。请确保您选择的子网段有足够多的私有地址可用,私有地址可在虚拟私有云服务的控制台查询。 负载 创建实例后,不支持修改虚拟私有云(负载)。 负载均衡模式为LVS模式或ELB模式。当前仅墨西哥城一、北京一区域支持LVS模式,其他区域支持ELB模式。 规格 规格变更过程中,长连接会发生闪断,需要重新建链,建议业务低峰期进行规格变更。 只能升配到更高规格,无法降配规格。 规格变更时,出私网IP会发生变化,如有相关防火墙配置或者白名单配置需要完全放通,防止网络问题导致业务受损!变更期间请勿对实例进行任何操作!变更完成后,请根据业务需要重新调整相关防火墙配置或者白名单配置。 安全组 仅墨西哥城一、北京一区域配置的安全组生效。在其他区域购买实例后安全组不生效,如需禁用部分IP请使用访问控制策略。
  • API 表2 API约束与限制 限制项 约束与限制 API分组 一个API只能属于一个API分组。 SSL证书 仅支持添加pem编码格式的SSL证书。 添加的SSL证书仅支持RSA、ECDSA加密算法。 域名 调试域名默认只能在与实例相同VPC内的服务器上解析和访问,如果调试域名要支持公网解析与访问,请在实例上绑定公网入口弹性IP。 调试域名不能用于生产业务,且仅限应用程序调试使用。 同一实例下的不同分组不能绑定相同的独立域名。 独立域名绑定端口时,同一域名不支持绑定相同端口。 同一域名不同端口,无论哪个端口绑定/修改/解绑SSL证书、开启/关闭客户端认证,所有端口都会同步生效。 如果您通过负载通道访问后端服务,那么独立域名绑定的端口需与负载通道中后端服务器的访问端口保持一致。 独立域名绑定端口后,如果您通过IP地址访问非DEFAULT分组下的,那么需要在请求消息中添加Header参数“host”,host值必须带有对应的访问协议的端口(默认的80/443端口,host值可以不带)。 如果您通过IP地址访问API,则无法使用域名证书完成SSL认证,除非配置了IP证书。因此,不推荐使用IP地址访问API,否则无法保证链路安全。 启用http to https自动重定向时,由于浏览器限制,非GET或非HEAD方法的重定向可能导致数据丢失,因此,API请求方法限定为GET或HEAD。仅当API的请求协议选择“HTTPS”或“HTTP&HTTPS”,且独立域名已绑定SSL证书时重定向生效。 API策略 同一个环境中,一个API只能被一个同类型(流控策略、响应缓存策略、第三方认证策略等类型)策略绑定,但一个同类型策略可以绑定多个API。 策略和API本身相互独立,只有为API绑定策略后,策略才对API生效。为API绑定策略时需指定发布环境,策略只对指定环境上的API生效。 策略的绑定、解绑、更新会实时生效,不需要重新发布API。 API的下线操作不影响策略的绑定关系,再次发布后仍然会带有下线前绑定的策略。 如果策略与API有绑定关系,则策略无法执行删除操作。 凭据 每个凭据最多绑定1000个API。 每个凭据最多可创建5个AppCode。
  • API网关系统角色 默认情况下,管理员创建的 IAM 用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 API网关服务部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问API网关服务时,需要先切换至授权区域。 权限根据授权精细程度分为角色和策略,策略是角色的升级版。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对API网关服务,管理员能够控制IAM用户进行指定的管理操作。权限策略以API接口为粒度进行权限拆分,API网关服务支持的API授权项请参见权限策略支持的授权项。 如表1所示,包括了API网关的所有系统角色和策略。 表1 API网关的系统角色或策略 系统角色/策略名称 描述 类别 依赖关系 APIG Administrator API网关服务的管理员权限。拥有该权限的用户可以使用专享版和共享版API网关服务的所有功能。 系统角色 如果在操作过程中涉及其他服务资源的创建、删除、变更等,则还需要在同项目中勾选对应服务的Administrator权限。 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" } ] }
  • APIG控制台功能依赖的角色或策略 表2 APIG控制台依赖服务的角色或策略 控制台功能 依赖服务 需配置角色/策略 导入 CS E微服务 微服务引擎 CSE IAM用户设置了APIG FullAccess权限后,需要增加CSE ReadOnlyAccess权限后才能导入CSE微服务。 对接 APM 应用 应用性能管理 APM IAM用户设置了APIG FullAccess权限后,需要增加以下权限点:“apm:apm2BusinessBusiness:list”,“apm:apm2Admin:create”,“apm:apm2Admin:update”,“apm:apm2Admin:delete”,“apm:apm2Admin:get”才能为APIG实例绑定APM应用列表。 查询LTS结构化配置 云日志 服务 LTS IAM用户设置了APIG FullAccess权限后,需要增加“lts:structConfig:get”权限后才能查询LTS结构化配置。
  • 到期后影响 下图描述了包年/包月实例各个阶段的状态。购买后,在计费周期内实例正常运行,此阶段为有效期;实例到期而未续费时,将陆续进入宽限期和保留期。 图2 包年/包月实例生命周期 到期预警 包年/包月实例在到期前第7天内,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到华为云账号的创建者。 到期后影响 当您的包年/包月实例到期未续费,首先会进入宽限期,实例状态变为“已过期”。宽限期内您可以正常访问实例。如果您在宽限期内仍未续费包年/包月实例,那么就会进入保留期,实例状态变为“已冻结”,您将无法对处于保留期的包年/包月实例执行任何操作。 保留期到期后,若包年/包月实例仍未续费,那么实例将被释放,数据无法恢复。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。
  • 共享版API网关 共享版API网关按调用量费用+公网流量费用计费,调用量指API调用次数,流量指API调用的下行网络流量。计费模式详情请参考表3。 共享版APIG已下线,当前仅存量用户可以使用。关于计费模式详情请参考价格详情,下文不再具体描述。 表3 共享版API网关计费模式 计费模式 按需计费 付费方式 后付费 按照实际使用量计费。 计费周期 按天结算。 账单出账时间通常在当前计费周期结束后一小时内,最长不超过三个小时。 适用计费项 使用量(包含API调用量和公网流量) 如果后端服务与API网关不在同一区域,或后端服务不在华为云,将会额外收取API网关到后端服务的流量费用。 适用场景 适用于API需求较小的场景。
  • 计费示例 以按需使用为例,假设您已开通API网关实例专业版且未使用公网带宽,该版本按需计费的实例版本单价为12.88元/小时/实例。您于2023/03/08 15:50:04在API网关上购买了1个实例,在2023/03/10 17:50:00使用完成后删除实例。费用计算如下: 费用计算结果保留小数点后两位,第三位四舍五入。如遇四舍五入后不足¥0.01,则按¥0.01展示。因此,费用为643.99元。