更新时间:2022-03-18 GMT+08:00
分享

创建API服务

ROMA API提供了API服务能力,通过API服务把后端服务封装成标准RESTful格式API,并开放给其他用户使用。

目前支持三种创建服务方式:

创建API服务

  1. 登录ROMA API控制台。
  2. 在控制台单击,选择区域,在“ROMA API”下选择待操作的应用。
  1. 在左侧导航栏选择“API管理 > API服务”。
  2. 在当前应用关联的实例中,根据实际业务选择实例。
  3. 单击页面右上角的“创建API服务 > 创建API服务”。
  4. 在弹框中填写服务信息。

    图1 填写服务信息

  5. 单击“确定”创建完成。

    创建服务成功后,用户可新建API,具体操作请参考创建API

导入API设计文件

  1. 登录ROMA API控制台。
  2. 在控制台单击,选择区域,在“ROMA API”下选择待操作的应用。
  1. 在左侧导航栏选择“API管理 > API服务”。
  2. 在当前应用关联的实例中,根据实际业务选择实例。
  3. 单击页面右上角的“创建API服务 > 导入API设计文件”。
  4. 在弹窗中选择要开放API所在的设计文件,单击“确定”。
  5. 系统根据默认API导入规则检测API文件。

    • 如需修复问题,单击“修复问题”根据修改建议修改问题。
    • 如忽略问题,单击“继续导入”。

  6. 填写服务名称,或默认系统自动生成的名称。
  7. 在“API接口”列表中勾选要开放的API,单击“立即导入”。
  8. (可选)单击“全局配置(可选)”。

    1. 安全配置。
      表1 安全配置参数说明

      参数

      参数说明

      安全认证

      API使用的认证方式,推荐使用APP认证。

      • APP认证:表示由ROMA API进行API请求的安全认证。
      • 华为IAM认证:表示通过IAM服务进行安全认证。
      • 自定义认证:表示使用自定义的后端函数API进行安全认证。
      • 无认证:表示不需要认证。
      须知:
      • 使用IAM认证方式时,任何租户均可以访问此API,会存在恶意刷流量,导致过量计费的风险。
      • 使用无认证方式时,任何公网用户均可以访问此API,会存在恶意刷流量,导致过量计费的风险。

      支持简易认证

      简易认证指APP认证方式下调用API时,在HTTP请求头部消息增加一个参数X-Apig-AppCode,而不需要对请求内容签名,ROMA API也仅校验AppCode,不校验请求签名,从而实现快速响应。

      注意仅支持HTTPS方式调用,不支持HTTP方式。具体使用请参考管理应用

      说明:

      如果首次创建API未开启简易认证,那么之后开启简易认证,需要重新发布API。请参考发布API发布。

      支持双重认证

      仅当“后端认证”选择“APP认证”或“华为IAM认证”时可配置。

      是否对API的调用进行双重安全认证。若选择启用,则在使用APP认证或IAM认证对API请求进行安全认证时,同时使用自定义的函数API对API请求进行安全认证。

      自定义认证

      仅当“后端认证”选择“自定义认证”时可配置。

      需要先创建自定义认证,自定义认证通过函数服务实现,在函数服务中编写一个函数,实现您的认证鉴权流程,或者使用函数调用您的统一鉴权服务。

      说明:

      后端认证依赖函数服务,此功能仅在部分区域开放。

      支持跨域CORS

      配置API是否支持跨域访问CORS。

      CORS请求分为两类:

      • 简单请求:头信息之中,增加一个Origin字段。
      • 非简单请求:在正式通信之前,增加一次HTTP查询请求。

      开启CORS(非简单请求)时,您需要单独创建一个“Method”为“OPTIONS”的API,具体操作请参考开启跨域访问

    2. 后端请求配置。

      根据选择不同的“后端服务类型”,所需要配置的参数有所不同。

      FunctionGraph类型依赖于函数工作流服务FunctionGraph,若当前环境中未部署FunctionGraph服务,则后端服务类型FunctionGraph不可用。

      表2 HTTP&HTTPS类型定义后端服务

      服务参数

      参数说明

      负载通道

      是否使用负载通道。

      负载通道可允许后端直接访问ECS上面的实例地址。

      URL

      URL地址由请求方法、请求协议、负载通道/后端服务地址和路径组成。

      • 请求方法

        GET、POST、DELETE、PUT、PATCH、HEAD、OPTIONS、ANY,其中ANY表示该API支持任意请求方法。

      • 请求协议

        HTTP或HTTPS,传输重要或敏感数据时推荐使用HTTPS。

        说明:

        支持WebSocket通信。

      • 负载通道(可选)

        仅在使用负载通道时,需要设置。选择已创建的负载通道名称。

        说明:

        VPC通道中,云服务器的安全组必须允许100.125.0.0/16网段访问,否则将导致健康检查失败及业务不通。

      • 后端服务地址(可选)

        仅在不使用负载通道时,需要设置。

        格式:“主机:端口”,主机为IP地址/域名,未指定端口时,HTTP协议默认使用80端口,HTTPS协议默认使用443端口。

        端口范围:1 ~ 65535。

        如果需要创建变量标识,则填写“#变量名#”,如#ipaddress#。支持创建多个变量标识,如#ipaddress##test#。

      • 路径

        后端服务的路径,即服务的uri,可以包含路径参数,以{路径参数}形式表示,比如/getUserInfo/{userId}。

        如果请求路径中含有环境变量,则使用#变量名#的方式将环境变量定义到请求路径中,如/#path#。支持创建多个环境变量,如/#path##request#。

      自定义host头域

      仅在使用负载通道时,可设置。

      在请求被发送到负载通道中主机前,允许您自定义请求的Host头域,默认将使用请求中原始的Host头域。

      后端超时

      请求超时时间,1 ~ 60000ms。

      如果在API调试过程中,遇到后端响应超时之类的错误,请适当调大后端超时时间,以便排查原因。

      TLS双向认证

      是否选择“使用backend_client_certificate配置的证书做客户端认证”,若选择,您需在实例详情的“配置参数”页签中提前配backend_client_certificate证书。

      后端认证

      当您的后端服务需要对API调用增加自己的认证,则需要开启后端认证。

      后端认证需要先添加一个自定义认证,自定义认证通过函数服务实现,在函数服务中编写一个函数,实现您的认证鉴权流程,或者使用函数调用您的统一鉴权服务。

      说明:

      后端认证依赖函数服务,此功能仅在部分区域开放。

      表3 FunctionGraph类型定义后端服务

      服务参数

      参数说明

      函数名

      函数名称。选择函数后,自动生成。

      函数URN

      函数请求唯一标识。

      单击“添加”,添加所需的functionURN。

      版本

      函数的版本。

      调用类型

      • Synchronous:同步调用。指后端函数服务收到调用请求后立即执行并返回调用结果,客户端发送请求后同步等待,收到后端响应后关闭连接。
      • Asynchronous:异步调用。客户端不关注请求调用的结果,服务端收到请求后将请求排队,排队成功后请求就返回,服务端在空闲的情况下会逐个处理排队的请求。

      后端超时

      请求超时时间,1 ~ 60000ms。

      后端认证

      当您的后端服务需要对API调用增加自己的认证,则需要开启后端认证。

      后端认证需要先添加一个自定义认证,自定义认证通过函数服务实现,在函数服务中编写一个函数,实现您的认证鉴权流程,或者使用函数调用您的统一鉴权服务。

      说明:

      后端认证依赖函数服务,此功能仅在部分区域开放。

      表4 Mock类型定义后端服务

      服务参数

      参数说明

      Mock返回结果

      Mock一般用于开发调试验证。在应用初始阶段,后端服务没有搭建好API联调环境,可以使用Mock模式,将预期结果固定返回给API调用方,方便调用方进行应用开发。

      后端认证

      当您的后端服务需要对API调用增加自己的认证,则需要开启后端认证。

      后端认证需要先添加一个自定义认证,自定义认证通过函数服务实现,在函数服务中编写一个函数,实现您的认证鉴权流程,或者使用函数调用您的统一鉴权服务。

      说明:

      后端认证依赖函数服务,此功能仅在部分区域开放。

    3. 单击“完成”,完成配置。

  9. 在弹窗中选择是否现在发布API到环境。

    • 若选择“现在发布”,还需要选择API要发布的环境,将API服务下的所有API发布到环境上。
    • 若选择“稍后发布”,请参考发布API发布。

  1. 单击“确定”,跳转到“API运行”页面,可查看服务下的API。

导入Swagger文件

  1. 登录ROMA API控制台。
  2. 在控制台单击,选择区域,在“ROMA API”下选择待操作的应用。
  1. 在左侧导航栏选择“API管理 > API服务”。
  1. 在当前应用关联的实例中,根据实际业务选择实例。
  1. 单击页面右上角的“创建API服务 > 导入Swagger文件”。
  2. 在弹窗中选择本地路径下的API设计文件,然后单击“打开”导入文件。

    导入的YAML或JSON格式文件大小不能超过3MB,否则将无法导入API服务。

  3. 在页面中修改服务名称,或默认系统自动生成的服务名称。
  4. 在“API接口”列表勾选需要导入的API,单击“立即导入”。
  5. (可选)单击“全局配置(可选)”,请参考全局配置
  6. 在弹窗中选择是否现在发布API到环境。

    • 若选择“现在发布”,还需要选择API要发布的环境,将API服务下的所有API发布到环境上。
    • 若选择“稍后发布”,请参考发布API发布。

  7. 单击“确定”,跳转到“API运行”页面,可查看服务下的API。

相关文档