文档中心>云市场>商品接入>云市场 API 网关操作说明

云市场 API 网关操作说明

最近更新时间:2024-10-24 18:02:11

我的收藏

背景

由于腾讯云产品业务调整,API 网关产品将做如下调整:2024年07月01日00:00,产品停止售卖,范围是新、老用户无法再购买或创建资源,包含实例、服务、资源包。新用户指从未创建过 API 网关资源的用户。老用户已在使用中的服务暂不受影响。API 停售公告详情查看:【重要】API 网关产品停止售卖公告
2024年07月01日之前通过 API 网关已经创建的 API 服务可以继续选择“API网关”发布云市场 API 商品;2024年07月01日后新增 API 服务请使用云市场 API 网关创建 API 服务,并且发布商品时需要选择"云市场API网关”中的 API 服务。

基本介绍

腾讯云产品业务调整后,发布 API 商品时,API 的创建动作由从 API 网关侧转移到云市场侧,本文主要引导您完成云市场 API 网关服务的创建和调试。




操作流程




1. 登录 API网关服务,选择“新建服务”。



2. 创建 API 网关服务,在创建过程中,需要填写服务商后端服务地址、访问协议(如 HTTP 或 HTTPS)、端口等关键信息。这些信息将用于 API 网关与后端服务之间的通信。API 网关服务创建成功后,在未绑定商品前,可对该服务进行编辑、删除和新建路由的操作



3. 创建 API 网关路由,单击对应网关操作栏的“新建路由”。在此网关服务基础上创建路由,当前一个 API 网关服务只能创建一个路由。在创建路由时,需要指定路由规则、请求方法(如 GET、POST 等)以及后端服务对应的具体路径。当外部请求到达 API 网关时,它会根据路由规则转发到相应的后端服务进行处理。创建后可在“API网关服务>路由管理”处单击ID名称查看路由详情



4. 绑定 API 商品,在创建 API 商品的过程中,需要选择绑定之前创建的 API 网关服务,让 API 商品继承 API 网关服务的相关配置,包括路由规则、后端服务地址等在完成 API 商品的创建及发布后供外部用户调用。




配置参数

创建 API 网关服务




字段配置
说明
服务名称
在单个地域内,服务名称必须是唯一的,且长度不得超过50个字符。
所属地域
不同地域的对外接口地址会有所不同。例如,如果选择了广州地域,网关最终部署在广州,对应的域名将为:ap-guangzhou.cloudmarket-apigw.com,可以为用户访问提供更好的服务。
服务地址
后端服务域名或者 IP 地址。
服务端口
一般 http 默认端口为80,https 默认端口为443,也可以选择自定义的端口。
服务协议
选择使用 http 或 https 协议。请注意,当您选择 https 协议时,服务端口必须选择 https 配置的端口。
服务路径
必须以“/”开头。
超时时间
用户请求经过网关后,和后台连接持续时间,超过这个时间会自动连接,默认 3000ms,不超过 10s,
重试次数
如果一次请求服务不通过,会进行 ≤重试次数 的请求,在网络条件不好的时候,建议重试次数较高。
API 鉴权参数
针对服务商的一些需求,服务商以一些固定的参数配置在网关。在用户发起请求后,固定的参数通过 path 或者 header 中传递给服务商,具体内容参考 请求及返回
添加鉴权参数:单击网关操作栏的“API 鉴权参数”。
支持鉴权参数类型:
Header:这个类型的参数会以 json 形式填写在 Header 中的 X-Auth-Config-Header 中。
Query:将配置好的查询参数添加到 url 中。
示例
假设服务商后端接口路径是:https://example.market.tencent.com/testadd,则各项值如下:
服务地址:example.market.tencent.com
服务端口:443
服务路径:/testadd

创建 API 网关路由




字段配置
说明
路由名称
在单地域内,路由名称必须是唯一的,不能与其他路由名称重复。路由名称长度需在50个字符以内。
请求方法
指对外进行 API 调用时所使用的 HTTP 方法,如 GET、POST、PUT 等。
请求路径
用户需要自定义一个对外暴露的路径,该路径将追加到对外请求地址的末尾。当请求转发到服务商后端服务时,此路径不会包含在内。例如,若请求路径设置为/index,对外请求域名为 example.market.tencent.com,则完整的对外请求路径将是 example.market.tencent.com/index。
参数配置( 参数配置用于生成接口文档供用户使用)
Query:查询参数将会拼接到 URL 路径的末尾,以问号(?)分隔。例如,若 URL 路径为/search,查询参数为keyword=test,则完整的请求 URL 将是/search?keyword=test;
Body:请求体参数适用于需要发送大量数据的场景,支持配置 JSON 结构。该部分数据会填充到 http 请求的 body 消息体中;
Header:头部参数将会设置到 HTTP 请求头中,用于传递额外信息或进行身份验证等操作。常见的头部参数包括 Content-Type、Authorization 等。
返回结构(用于生成接口文档供用户使用)
支持 JSON/HTML/TEXT/BINARY/XML 形式
成功/成功响应示例(用于生成接口文档供用户使用)
如果为 JSON 结构,自动检测结构类型。
错误码配置(用于生成接口文档供用户使用)
服务商配置一些返回码和注释,生成文档后,供用户查看。
路由详情中可以查看访问地址。访问地址生成规则:http|https://{region}.cloudmarket-apigw.com/{service-id}/路由配置的请求路径。




API 网关调试

调试接口用来测试服务商服务是否成功接入到云市场 API 网关中,需进入到各路由详情页面进行调试。
注意:
不要在调试页面更改地址栏中后缀地址(实际可更改),否则会调试失败。




请求及返回

针对不同的服务商的配置,API 网关会添加值到 Header 中。

服务端

Key
Value
X-TCloudMarket-Custom-AuthConfig
服务商在 API 鉴权参数中 配置的值。例如:{"test_json":1233,"test_parmar":"testvalue"}
X-TCloudMarket-Trace-Consumer
标记此请求来源的用户的 ID。例如:MQarpkSIP2mpNbMZwIV5ng==
Request-Id
当用户发起请求时,可以在请求的头部(header)中添加一个名为 "request-id" 的字段来标记该请求。如果用户没有提供该字段,网关会自动生成一个 "request-id" 字段,用于记录和跟踪该请求。
X-TCloudMarket-Request-Info
这次请求返回的是使用计划 ID、使用量和配额。例如:{"used":16994,"total":88888,"useplanid":"planId-0"}。
需要注意的是,使用量仅供参考。如果请求通过了网关鉴权,但服务端返回的状态码≥300,该请求将不会计入使用量中,使用量的(used)异步减少。
Authorization
用户请求的鉴权参数,包含请求的 sid,请求时间:{"id": "AKIDXXX", "x-date": "Date:Mon, 19 Mar 2018 12:08:40 GMT"}'

用户端

Key
Value
Request-Id
网关会将用户在请求头部填写的 "request-id" 字段返回给用户。如果用户没有填写该字段,网关会生成一个 "request-id" 并将其返回给用户端和服务端。
X-TCloudMarket-Request-Info
返回这次请求的使用计划 ID,使用量和总和量,用户可以根据返回值判断当前使用计划的剩余量,例如:{"used":16994,"total":88888,"useplanid":"planId-0"}
需要注意的是,使用量仅供参考。如果请求通过了网关鉴权,但服务端返回的状态码≥300,该请求将不会计入使用量中,使用量的(used)异步减少。

网关错误返回

如果用户的请求在网关被拦截,http 返回 status≥300,返回错误的具体样式如下:
{
"requestid": "1728995097970162775",
"message": "签名校验信息不对"
}
常见的网关返回错误如下表:
status
message
401
当前使用计划已经耗尽
402
签名信息未校验通过
403
签名时间超时,请重新生成签名
404
密钥已经失效
405
服务商已经停用该使用计划
411
鉴权信息未在 header 中找到
412
签名或者密钥格式不正确
413
签名日期格式不对
414
传递鉴权信息格式不对
420<code<430
这类错误为内部错误
500
内部错误



服务日志

日志查看

您可以单击对应网关操作栏中的"服务日志",来查看当前服务的最近访问日志。




日志下载

您可以按照以下步骤下载当前查询条件下的服务日志:
1. 单击对应网关操作栏中的"服务日志"。
2. 在服务日志页面,找到并单击下载图标。
3. 将触发下载操作,您能够下载当前查询条件下的日志。
注意:
最多只能下载1万条日志。




日志查询

1. 单击添加筛选条件,选择所需的筛选条件,
2. 单击查询图标,查看查询结果。




监控与告警

监控

当您单击对应网关操作栏的"监控与告警"时,您可以查看当前用户的所有服务实例的使用情况,包括服务实例和使用计划。
服务实例:您可以通过下拉框选择不同的服务实例,并查看该服务实例的请求数量。
使用计划:您可以查看已售出的所有订单对应的使用计划。
监控内容主要包含三个部分:
网关返回:这是指从用户发起请求后,在网关进行拦截后直接返回给用户的响应。
服务端返回:这是指经过网关转发到服务端后,最终返回给用户的响应。
所有请求:这包括用户发起的所有请求。例如,一个请求成功的响应必须经过网关和服务端。




告警

单击对应网关操作栏的“监控与告警”,单击设置告警,跳转到告警设置页面,根据策略类型,选择服务实例或者使用计划。详细说明可以参考 告警管理