检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
02:28 调用API(签名认证) 最佳实践 API网关 APIG 在API网关上开放内网ELB中的服务 08:36 API网关跨VPC开放后端服务 API网关 APIG 介绍SDK的获取和使用 02:22 如何获取和使用SDK API网关 APIG 介绍如何调用API 02:28
打开工程 打开Android Studio,选择“File > Open”。 在弹出的对话框中选择解压后的SDK路径。 打开工程后,目录结构如下。 图1 工程目录结构 调用API示例 在Android工程中的“app/libs”目录下,加入SDK所需jar包。其中jar包必须包括: java-sdk-core-x
运行服务器,验证代码正确性。下面示例使用JavaScript SDK中的html签名工具生成签名。 填入如图所示字段后,单击“Send request”,复制生成的curl命令,并在命令行中执行,服务器返回200。 如果使用错误的Key和Secret访问,服务器返回401认证不通过。 父主题:
无法创建API是什么原因? API的响应码如何定义? API的后端服务是否支持绑定私网ELB地址? API的后端服务地址支持填写私有地址(子网IP)吗? APIG是否支持多后端节点方案? API可以绑定内网域名吗? 为什么跨域调用API失败? API网关如何开放部署在华为云上的服务?
发布API 对API的修改是否需要重新发布? API发布到RELEASE环境可以正常访问,发布到非RELEASE环境无法访问如何处理? API发布到不同环境后,会调用不同的后端服务吗? 调试API的时候,如何指定环境?
共享流控针对绑定了该策略的所有API进行总流量统计和控制。 时长 流量限制的时长。 与“API流量限制”配合使用,表示单位时间内的单个API请求次数上限。 与“用户流量限制”配合使用,表示单位时间内的单个用户请求次数上限。 与“应用流量限制”配合使用,表示单位时间内的单个APP请求次数上限。
方案架构 图1 后端服务器访问原理 方案优势 方案一:API分组通过域名方式对外提供服务,具备更强的可扩展性。 方案一(推荐):WAF侧注册对外访问域名并配置证书,通过APIG实例的分组调试域名访问后端服务 在APIG实例中,新建API分组,并记录域名,将API添加在新建的分组中。
如何将API服务上架到华为云商店上售卖? API分组为什么无法上架到云商店? API、环境、凭据之间的关系? API网关共享版是否可以升级到专享版? APIG控制台所有按钮均无法单击如何处理? 怎样保护API的调用安全? 怎样保证API网关调用后端服务器的安全?
完成API的创建、发布等工作 此部分操作在API网关服务中完成,您可以参考《API网关用户指南》。 其他相关操作包括“API分组”、“API管理”和“环境管理”等。 (可选)配置API的流量控制策略 流量控制主要用来限制单位时间内API的被调用次数,保护后端服务的稳定。 此部分
将看到所需的配置费用。 图1 按需计费配置费用示例 配置费用包括版本、公网带宽、实例数以及使用时长。 计费周期 按需计费时,实例按秒计费,每一个小时整点结算一次费用(以GMT+08:00时间为准),结算完毕后进入新的计费周期。计费的起点以部署在API网关上实例启动运行的时间点为准,终点以实例删除的时间为准。
参数 参数类型 描述 restrict_cidrs Array of strings 受限的IP网段的CIDR列表。 resource_subnet_cidr String 资源租户的IP网段的CIDR。 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_code
实例ID,在API网关控制台的“实例信息”中获取。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 响应参数 状态码:
实例ID,在API网关控制台的“实例信息”中获取。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 响应参数 状态码:
实例ID,在API网关控制台的“实例信息”中获取。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 响应参数 状态码:
实例ID,在API网关控制台的“实例信息”中获取。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 响应参数 状态码:
项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 group_id 是 String 分组的编号 domain_id 是 String 域名的编号 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token
把API信息和已设置的环境变量替换到HttpClientDemo.java中对应位置。 HttpClientDemo中引用以下类,可在“获取SDK”包中的“src”文件下查看: Constant:demo中用到的常量。 SSLCipherSuiteUtil:tls认证配置参数的工具类,比如配置客户端不校验证书。
项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 authorizer_id 是 String 自定义认证的编号 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token
项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 group_id 是 String 分组的编号 response_id 是 String 响应编号 请求参数 表2 请求Header参数 参数 是否必选
实例ID,在API网关控制台的“实例信息”中获取。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数