文档首页/ API网关 APIG/ 快速入门/ 快速开放并调用API
更新时间:2024-11-27 GMT+08:00
分享

快速开放并调用API

本章节将为您介绍如何快速使用API网关,这里以APP认证类型的简易认证为例,快速开放并调用API。

图1 APIG使用流程
  1. 准备工作

    在使用APIG之前,需要确保有可用的网络环境,请提前准备VPC、子网和安全组。

  2. 创建实例

    创建实例时,根据实际需求选择实例的规格。实例创建完成后,才能开放API并对外提供服务。

  3. 开放API

    创建一个支持简易认证的API,后端服务为Mock类型,方便调试验证API。然后调试已创建的API,无问题后进行发布。

  4. 调用API

    创建一个凭据,并添加一个AppCode作为调用API的凭证。然后使用接口测试工具,通过校验AppCode来实现对API的调用。

步骤一:准备工作

  1. 注册华为云并实名认证。

    如果您已有一个华为账号,请跳过此步骤。如果您还没有华为账户,请参考注册华为账号并开通华为云实名认证介绍,完成华为云的注册和实名认证。

  2. 在创建APIG实例前,确保账户有足够金额。

    如果您需要为账户充值,请参考账户充值

  3. 在创建APIG实例前,确保账户已拥有APIG实例的操作权限。

    如果您使用系统角色相关权限,需要同时拥有“APIG Administrator”和“VPC Administrator”权限才能创建实例。

    如果您使用系统策略,则拥有“APIG FullAccess”即可。

    如果您需要对云上的资源进行精细管理,请使用IAM服务创建IAM用户及用户组,并授权,以使得IAM用户获得具体的操作权限。具体操作请参考创建用户并授权使用APIG

  4. 在创建APIG实例前,确保已存在可用的VPC和子网。

    APIG实例可以使用当前账号下已创建的VPC和子网,也可以使用新创建的VPC和子网,请根据实际需要进行配置。

    创建VPC和子网的操作指导,请参考创建虚拟私有云和子网。请注意:创建的VPC与APIG实例必须在相同的区域。

  5. 在创建APIG实例前,确保已存在可用的安全组。

    APIG实例可以使用当前账号下已创建的安全组,也可以使用新创建的安全组,请根据实际需要进行配置。创建安全组的操作步骤,请参考创建安全组

    请添加表1所示安全组规则,其他规则请根据实际需要添加。
    表1 安全组规则

    方向

    协议

    端口

    源地址

    说明

    入方向

    TCP

    80/443

    0.0.0.0/0

    使用内网时可通过同一个VPC访问APIG实例。

    • 安全组创建后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则。此时使用内网通过同一个VPC访问APIG实例,无需添加表1的规则。
    • 除墨西哥城一、北京一区域外,在其他区域创建实例后默认开启ELB负载。开启ELB负载的实例的安全组不生效,如需禁用部分IP请使用访问控制策略
    • 开启ELB负载:ELB作为网关入口的负载均衡器,入口支持跨VPC访问。但在开启公网入口时,弹性IP地址由网关随机分配,不支持选择已有弹性IP地址。

步骤二:创建实例

  1. 进入购买实例页面。
  2. 根据下表配置实例信息。

    表2 配置实例信息

    参数

    配置说明

    计费模式

    实例的收费方式,此处选择“按需计费”。

    区域

    选择实例所属区域,请根据实际需要选择。此处选择“华东-上海一”。

    可用区

    选择实例的可用区,此处选择“可用区1,可用区2,可用区3”。

    实例名称

    填写实例的名称,此处填写“apig-test”。

    实例规格

    选择实例的规格,此处选择“基础版”。

    可维护时间窗

    指定可对实例进行维护的时间段,此处默认。

    企业项目

    选择实例所属的企业项目,此处选择“default”。

    网络

    选择已准备的VPC和子网。

    公网入口

    允许外部服务通过弹性IP地址,调用实例创建的API。此处开启公网入口。

    安全组

    选择已准备的安全组。

  3. 单击“立即购买”。
  4. 确认实例信息无误后,勾选服务协议,单击“去支付”,完成实例创建。

步骤三:开放API

  1. 创建API。

    1. 实例创建完成后,在左侧导航栏选择“API管理 > API列表”。
    2. 单击“创建API > 创建API”,配置前端定义。
      表3 前端定义

      参数

      配置说明

      API名称

      填写API名称,此处填写“API_test”。

      所属分组

      选择默认分组“DEFAULT”,如果需要创建分组,还可以单击“新建分组”。创建API的操作步骤,请参考创建API分组

      URL

      请求方法:API调用方式,此处默认“GET”。

      请求协议:选择协议类型,此处选择“HTTPS”。

      子域名:创建API分组后,系统默认分配的一个子域名。此处为默认分组“DEFAULT”的子域名。

      路径:API请求的路径,此处填写“/test”。

      网关响应

      API网关未能成功处理API请求,从而产生的错误响应。此处网关响应默认为“default”。

    3. 根据下表参数信息,配置安全配置。
      表4 定义API请求

      参数

      配置说明

      安全认证

      选择API认证方式,此处选择“APP认证”。

      支持简易认证

      简易认证不需要对请求内容签名,API网关也仅校验AppCode,不校验请求签名,从而实现快速响应。此处勾选简易认证。

    4. 单击“下一步”,配置默认后端信息。
      表5 Mock类型定义后端服务

      参数

      配置说明

      后端服务类型

      选择后端服务类型,此处选择“Mock”,实际请求不会调用到后端服务,通常用于后端服务没有搭建好的API联调环境。如果已有搭建好的后端服务,根据实际需要配置其他后端服务类型,操作详情请参考创建API

      Mock自定义返回码

      选择API响应的HTTP状态码,此处默认“200”。

      Mock返回结果

      用于调试验证,返回预期结果,此处填写“success”。

    5. 单击“完成”,完成API的创建。

  2. 调试API。

    1. 在“API运行”页面的右侧单击“调试”。
    2. 在URL右侧单击“调试”,下方为API发送的请求信息和API请求调用后的返回结果回显。

      调用成功时,状态码显示“200”,Mock后端返回结果“success”。否则,请参考错误码处理。

  3. 发布API。

    1. 在“API运行”页面的右侧单击“发布最新版本”。
    2. 选择API需要发布的环境,此处选择默认环境“RELEASE”。如果不选择默认环境,还可以单击“创建环境”新建,创建环境的操作步骤,请参考环境管理
    3. 单击“确定”。

步骤四:调用API

  1. 创建凭据。

    1. 返回API列表页面,在左侧导航栏中选择“API管理 > 凭据管理”。
    2. 单击“创建凭据”,填写凭据名称,此处填写“apptest”。
    3. 单击“确定”。

  2. 绑定API。注意,只有通过APP认证的API才能被绑定。

    1. 在已创建凭据所在行,单击“绑定API”。
    2. 选择环境、API分组和API。
    3. 单击“确定”,完成API绑定。

  3. 添加APPCode认证信息。

    1. 在凭据列表中单击已创建的凭据名称,进入凭据详情。
    2. 在“AppCodes”区域,单击“添加AppCode”。
    3. 在弹窗中选择“自动生成”生成方式。
    4. 单击“确定”。

  4. 调用API。

    使用接口测试工具配置API请求和认证信息。

    1. 选择请求方法“GET”,在“API运行”页面将URL地址复制到接口测试工具中,URL地址由https://调试域名/路径组成。
    2. 添加Header参数名称:X-Apig-AppCode,参数值填写已生成的AppCode。
    3. 发送请求。

      调用成功后,Mock后端返回结果“success”,状态码显示“200”。否则,请参考错误码处理。

相关文档

  • 了解更多创建API详情,请参考创建API
  • 了解更多调用API详情请参考调用API
  • 调用API失败时,查看错误信息请参考错误码
  • 共享VPC是基于资源访问管理(Resource Access Manager,简称RAM)服务的机制,VPC的所有者可以将VPC内的子网共享给一个或者多个账号使用。通过共享VPC功能,可以简化网络配置,帮助您统一配置和运维多个账号下的资源,有助于提升资源的管控效率,降低运维成本。有关VPC子网共享的更多信息,请参见共享VPC

相关文档