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

云市场 API 网关操作说明

最近更新时间:2024-12-06 11:36:22

我的收藏

背景

由于腾讯云产品业务调整,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 服务。在创建过程中,需要填写名称、选择服务所属的地域、同意服务条款。API 网关服务创建成功后,在未绑定商品前,可对该服务进行编辑、删除和新建 API 的操作
3. 创建 API 。单击对应网关操作栏的“新建API”,在此网关服务基础上创建一个 API。在创建 API 时,分为三个步骤,前端路由、后端服务、响应参数。当外部请求到达 API 网关时,它会根据路由规则转发到相应的后端服务进行处理。创建后可在 API 网关服务 > API 列表处单击 ID 名称查看路由详情。



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




配置参数

创建 API 产品需要配置服务参数及API 参数。

服务参数




字段配置
说明
服务名称
在单个地域内,服务名称必须是唯一的,且长度不得超过50个字符。
所属地域
不同地域的对外接口地址会有所不同,如果一个服务选择一个地域,后续不可更改。例如,如果选择了广州地域,网关最终部署在广州,对应的域名将为:ap-guangzhou.cloudmarket-apigw.com。
支持的地域列表:
上海:ap-shanghai.cloudmarket-apigw.com
广州:ap-guangzhou.cloudmarket-apigw.com
北京:ap-beijing.cloudmarket-apigw.com

API 参数

创建 API 分为三个部分,如下文描述。

前端路由





字段配置
说明
API 名称
在单服务内,API 名称必须是唯一的,不能与其他 API 名称重复。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、Request-ID 等。
支持 CORS
当选择 CORS 复选框,开启后将默认在响应头中添加 access-control-allow-origin:*

后端服务




字段配置
说明
服务地址
后端服务域名或者 IP 地址。
服务端口
一般 http 默认端口为80,https 默认端口为443,也可以选择自定义的端口。
服务协议
选择使用 HTTP 或 HTTPS 协议。请注意,当您选择 HTTPS 协议时,服务端口必须选择 HTTPS 配置的端口。
服务路径
必须以“/”开头。
超时时间
用户请求经过网关后,和后台连接持续时间,超过这个时间会自动连接,默认 3000ms,不超过 10s。
重试次数
如果一次请求服务不通过,会进行≤ 重试次数的请求,在网络条件不好的时候,建议重试次数较高。
API 鉴权参数
针对服务商的一些需求,服务商以一些固定的参数配置在网关。在用户发起请求后,固定的参数通过 path 或者 header 中传递给服务商,具体内容参考 请求及返回
添加鉴权参数:单击网关操作栏的“API 鉴权参数”。

支持鉴权参数类型:

Header:这个类型的参数会以 json 形式填写在 Header 中的 X-Auth-Config-Header 中。
Query:将配置好的查询参数添加到 url 的query参数中。
HeaderOrg: 将配置的参数填写在请求头中。注意名称不能含有 “_”。
Body:将配置参数写入到 Body 中,不过仅支持 application/x-www-form-urlencoded 类型,其他类型自动忽略这个参数。
示例
假设服务商后端接口路径是:https://example.market.tencent.com/testadd,则各项值如下:
服务地址:example.market.tencent.com
服务端口:443
服务路径:/testadd

响应结果




字段配置
说明
返回结构(用于生成接口文档供用户使用)
支持 JSON/HTML/TEXT/BINARY/XML 形式。
成功/成功响应示例(用于生成接口文档供用户使用)
如果为 JSON 结构,自动检测结构类型。
错误码配置(用于生成接口文档供用户使用)
服务商配置一些返回码和注释,生成文档后,供用户查看。

访问地址

配置完成后 API 详情中可以查看访问地址。访问地址生成规则:http|https://{region}.cloudmarket-apigw.com/{service-id}/{RoutePath}。




API 网关调试

调试接口用来测试服务商服务是否成功接入到云市场 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
传递鉴权信息格式不对。
415
域名禁止访问,DNS 配置 IP 有问题。
420<code<430
这类错误为内部错误。
500
其他类型错误。
≥500
检查后端服务的具体配置。

服务日志

日志查看

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




日志下载

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




日志查询

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




监控与告警

监控

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




告警

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