云服务器内容精选

  • 入驻API中心服务商 进入API中心服务页面。 在左侧导航栏选择“服务商入驻”。 单击页面中间的“立即入驻”。 图2 入驻API中心服务商 也可以在API中心门户网站,单击页面右上角的“服务商入驻”,进入服务商入驻页面。 填写服务商信息。 图3 申请入驻API中心 如果您已入驻成为华为云云商店服务商,则系统会自动填充服务商信息,您不需要再次填写服务商信息,直接执行5即可。 最多支持输入2个电话和2个邮箱。 勾选“我已阅读并同意《华为云API中心服务商合作协议》和《华为云隐私政策声明》”,单击“立即提交”。 根据您是否需要使用API网关代理功能,选择对应的操作。 是:联系API中心运营人员,并告知其您需要使用API网关代理功能。 否:直接执行7。 如果入驻服务商时没有开通API网关代理功能,后续如果想要使用API网关代理,可以变更服务商信息,然后联系API中心运营人员开通此功能。 等待审核。5个工作日内完成审核。您可以登录API中心管理控制台,查看审核进展。 审核通过后,您登录API中心管理控制台,就可以看到API资产管理等菜单了。
  • 查看步骤 进入API中心服务页面。 在左侧导航栏选择“API数据分析”。 资源概览区域参数的含义如表1所示。 表1 资源概览参数说明 参数名称 含义 API总数 API网关代理中,已创建的API的总个数。数据1个小时刷新一次。 API分组总数 API网关代理中,已创建的API分组的总个数。数据1个小时刷新一次。 API请求总数 API网关代理中,已发布的所有API被调用的总次数。数据10分钟刷新一次。 API请求失败总数 API网关代理中,已发布的所有API被调用失败的总次数。数据10分钟刷新一次。 在“API监控”区域,展开API右侧的下拉框,选择您想要查看调用情况的API。 选择要查看的时间范围。支持查看近1个小时、近6个小时、近24个小时或近7天的调用情况。 查看API监控指标。包括“请求次数”、“调用延时”、“数据流量”和“出错统计”。 统计数据每10分钟刷新一次。 新发布的API,最多1个小时后就能看到调用情况的统计数据。
  • 修订记录 发布日期 修订记录 2023-07-14 第九次正式发布。 优化如下章节: 服务商入驻 变更服务商信息 API资产管理 2023-05-06 第八次正式发布。 新增如下章节: 取消入驻服务商 优化如下章节: 服务商入驻 变更服务商信息 负载通道 2023-03-31 第七次正式发布。 优化如下章节: 服务商入驻 API资产管理 创建API分组 发布API API数据分析 API门户 2023-03-22 第六次正式发布。 新增如下章节: API数据分析 优化如下章节: 服务商入驻 API资产管理 创建API分组 发布API API工具库 2023-03-14 第五次正式发布。 优化如下章节: 使用前必读 服务商入驻 API工具库 2023-03-03 第四次正式发布。 优化如下章节: 服务商入驻 API资产管理 创建API分组 流量控制策略说明 2023-02-10 第三次正式发布。 新增如下章节: API订阅管理 优化如下章节: API资产管理 API门户 2023-01-04 第二次正式发布。 优化如下章节: 服务商入驻 API资产管理 创建API分组 API门户 2022-12-14 第一次正式发布。
  • 搜索API 搜索栏搜索 您可以在搜索栏输入您想要查找的API的一些关键信息,如API资产的名称,描述等,系统会显示相关的搜索结果。 按照不同维度搜索 API中心门户网站,按以下两种维度展示API资产: 按API维度展示:展示所有API资产。可以在左侧勾选“分类”、“可见范围”或“API来源”,按照API资产所属行业、公开性或来源路径筛选API资产。 按服务商维度展示:展示所有API资产的服务商。可以在左侧勾选分类,按行业筛选API资产服务商。单击服务商,可以看到该服务商拥有的所有API资产。
  • 购买API API中心支持您在线购买来自华为云市场的API,购买流程如下。 访问API中心门户网站。 选择来自华为云市场的API。 按API维度:在左侧“API来源”中勾选“华为云市场”。同时在左侧勾选“分类”、“可见范围”,筛选API资产所属行业、公开性。 按服务商维度:单击服务商名称,然后在左侧“API来源”中勾选“华为云市场”。同时在左侧勾选“分类”、“可见范围”,筛选API资产所属行业、公开性。 单击想要购买的API,进入API详情页面。 参考商品购买流程页面步骤4~6,完成 API购买
  • 获取服务商联系方式 对于不需要付费购买的API,您可以通过以下方法获取API资产服务商的联系方式。 在API中心门户网站,单击API资产。 单击页面右上角的“订阅”。 只支持已登录用户订阅服务商的联系方式。 勾选“我已阅读并同意《华为云API中心用户协议》”。 单击“确定”,完成订阅。 订阅成功后,鼠标放在“联系咨询”上面,就会显示服务商的电话和邮箱。单击“已订阅”,可以取消订阅API。 如果您想要查看当前订阅的所有API,或者对已经订阅的API单个或批量取消订阅,可以参考API订阅管理章节操作。
  • 在线调测API 对于不需要付费购买的API(技术开放型API),可以通过以下步骤在线调测API,快速试用API。 单击API资产,查看API资产的开发文档。 在需要调试的接口详情页面,单击“在线调试”。 部分API未提供调试功能,具体以详情页面展示的信息为准。 对于需要付费购买的API(来源于华为云市场的API),单击API资产,在API资产详情页面,单击“API接口”页签下的“调试API”,在线调试API。
  • 操作步骤 下面以API Arts工具为例,描述如何开发API并上架API至API中心门户网站。 进入API中心服务页面。 选择左侧导航栏中的“API工具库”。 单击API Arts工具右下角的“前往使用”,进入API Arts工具界面。 参考API设计和API测试章节指导,在API Arts完成API的设计和测试。 上架API至API中心门户网站。 在API Arts界面单击项目名称,进入目标项目详情页面。 在左侧选择“API发布”,然后单击“申请发布”,跳转至API中心“创建API资产”页面。(如果您不是API中心服务商,需要先参考服务商入驻章节,入驻成为API中心服务商,然后才能创建API资产。) 图1 申请发布 填写API资产信息。详细指导参考填写API资产信息。
  • 错误码 用户调用API失败时,系统返回的错误码如下所示。 表1 错误码 HTTP状态码 错误码 错误描述 解决方案 404 APIC.0101 The API does not exist or has not been published in the environment. 检查 域名 、方法、路径和注册的API是否一致。 检查API是否发布,如果发布到非生产环境,检查请求X-Stage头是否为发布的环境名。 500 APIC.0103 The backend does not exist. 联系技术支持。 500 APIC.0104 The plug-ins do not exist. 联系技术支持。 500 APIC.0105 The backend configurations do not exist. 联系技术支持。 400 APIC.0106 Orchestration error. 检查API配置的前后端参数是否合理。 400 APIC.0201 Bad request. 使用合法的请求。 413 APIC.0201 Request entity too large. 减小请求body大小,小于12M。 414 APIC.0201 Request URI too large. 减小请求URI大小,小于32K。 494 APIC.0201 Request headers too large. 减小请求头大小,单个请求头小于32K或所有请求头总大小小于128K。 502 APIC.0202 Backend unavailable. 检查API配置的后端地址是否可用。 504 APIC.0203 Backend timeout. 增大超时时间或缩小后端的处理时间。 401 APIC.0301 Incorrect IAM authentication information. 检查token是否正确。 403 APIC.0302 The IAM user is not authorized to access the API. 检查用户是否被黑白名单限制。 401 APIC.0303 Incorrect App authentication information. 检查请求的方法、路径、查询参数、请求体和签名使用的方法、路径、查询参数、请求体是否一致。 检查客户端机器时间是否正确。 403 APIC.0304 The app is not authorized to access the API. 检查APP是否授权访问API。 401 APIC.0305 Incorrect authentication information. 检查认证信息是否正确。 403 APIC.0306 API access denied. 检查是否授权访问API。 401 APIC.0307 The token must be updated. token需要更新。 429 APIC.0308 The throttling threshold has been reached. 等待流控时间结束后再访问API,或修改流控限制值。 403 APIC.0401 Unknown client IP address. 联系技术支持。 403 APIC.0402 The IP address is not authorized to access the API. 检查IP地址是否被黑白名单限制。 503 APIC.0404 Access to the backend IP address has been denied. 使用可用的IP地址访问后端服务。 403 APIC.0405 The app is not accessed from a trusted IP address. 检查IP地址是否被客户端访问控制策略限制。 500 APIC.0601 Internal server error. 联系技术支持。 400 APIC.0602 Bad request. 检查请求是否合法。 500 APIC.0605 Backend domain name resolution failed. 检查域名拼写,以及域名是否绑定了正确的后端地址。 500 APIC.0606 Failed to load the API configurations. 联系技术支持。 400 APIC.0607 The following protocol is supported: {xxx} 改用支持的协议(HTTP/HTTPS)访问。 500 APIC.0608 Failed to obtain the admin token. 联系技术支持。 500 APIC.0609 The VPC backend does not exist. 联系技术支持。 502 APIC.0610 No backend available. 检查所有后端是否可用。 500 APIC.0611 The backend port does not exist. 联系技术支持。 500 APIC.0612 An API cannot call itself. 修改API后端配置,递归调用层数不能超过10层。 500 APIC.0705 Backend signature calculation failed. 联系技术支持。 父主题: 调用已发布的API
  • 响应消息头 调用API时,API网关代理增加如下响应消息头。 X-Apig-Mode: debug表示响应消息头增加API网关代理调试信息。 响应消息头 描述 说明 X-Request-Id 请求ID 所有合法请求,都会返回此参数 X-Apig-Latency 从API网关代理接收请求到后端返回消息头的用时 仅在请求消息头包含X-Apig-Mode: debug时,返回此参数 X-Apig-Upstream-Latency 从API网关代理请求后端到后端返回消息头的用时 仅在请求消息头包含X-Apig-Mode: debug,且后端服务类型不为Mock时,返回此参数 X-Apig-RateLimit-api API流量控制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了API流量控制时,返回此参数 X-Apig-RateLimit-user 用户流量限制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了用户流量限制时,返回此参数 X-Apig-RateLimit-app 应用流量限制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了应用流量限制时,返回此参数 X-Apig-RateLimit-ip 源IP流量限制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了源IP流量限制时,返回此参数 X-Apig-RateLimit-api-allenv API默认流控信息 示例:remain:199,limit:200,time:1 second 仅在请求消息头包含X-Apig-Mode: debug时,返回此参数 父主题: 调用已发布的API
  • 调用API 构造API请求,示例如下: POST https://{Address}/{Path}?{Query} {Header} { {Body} } POST:请求方法,需替换为获取API的请求信息中获取的请求方法。 {Address}:请求地址,需替换为获取API的请求信息中获取的域名地址。 API网关代理使用分组分配的子域名或分组绑定的域名调用API,无需另外配置。 {Path}:请求路径,需替换为获取API的请求信息中获取的URL。 {Query}:查询参数,可选,格式为“参数名=参数取值”,例如limit=10,多个查询参数之间使用“&”隔开。需根据获取API的请求信息中获取的请求参数进行设置。 {Header}:请求头参数,格式为“参数名: 参数取值”,例如Content-Type: application/json。需根据获取API的请求信息中获取的Headers进行设置。 {Body}:请求消息体,JSON格式。需根据获取API的请求信息中获取的请求参数进行设置。 为API请求添加认证信息。 API认证方式 API请求参数配置 APP认证(签名认证) 使用获取的SDK对API请求进行签名。 APP认证(简易认证) 在API请求中添加Header参数“X-Apig-AppCode”,参数值为获取API的认证信息中获取到的AppCode。 APP认证(app_secret认证) 在API请求中添加Header参数“X-HW-ID”,参数值为获取API的认证信息中获取到的Key。 在API请求中添加Header参数“X-HW-AppKey”,参数值为获取API的认证信息中获取到的Secret。 APP认证(app_basic认证) 在API请求中添加Header参数“Authorization”,参数值为"Basic "+base64(appkey+":"+appsecret),其中appkey和appsecret分别为获取API的认证信息中获取到的Key和Secret。 IAM认证(AK/SK认证) 使用获取的SDK对API请求进行签名。 无认证 无需认证,可直接调用API。
  • 获取API的调用信息 在调用API前,您需要向API提供方获取API的调用信息。 获取API的请求信息 向API提供方获取API的“域名”、“请求方法”、“API URL”、“请求参数”和“Headers”。 获取API的调用凭据 根据API使用的安全认证方式不同,还要获取相关的请求认证信息,具体参考表1。 表1 认证信息 认证方式 认证信息 APP认证(签名认证) 向API提供方获取该API所授权凭据的Key和Secret,以及认证签名所使用的SDK。 APP认证(简易认证) 向API提供方获取该API所授权凭据的AppCode。 APP认证(app_secret认证) 向API提供方获取该API所授权凭据的Key和Secret。 APP认证(app_basic认证) 向API提供方获取该API所授权凭据的Key和Secret。 IAM认证(AK/SK认证) 获取云服务平台的用户账号的AK/SK,以及认证签名所使用的SDK。 无认证 无需认证信息。
  • 使用AppCode进行API请求的简易认证 在创建API时,选择“APP认证”并且开启“支持简易认证”。 如果您修改已有API为简易认证,需要在修改完成后,将API重新发布,使简易认证模式生效。 将支持简易认证的API绑定到已创建的凭据。 发送请求时,增加请求头部参数“X-Apig-AppCode”,省略请求签名相关信息。 以Curl方式为例,增加头部参数名称:X-Apig-AppCode,参数值填已生成的AppCode。 curl -X GET "https://api.exampledemo.com/testapi" -H "content-type: application/json" -H "host: api.exampledemo.com" -H "X-Apig-AppCode: xhrJVJKABSOxc7d***********FZL4gSHEXkCMQC"
  • 使用流程 图1 签名密钥流程图 在API中心管理控制台创建签名密钥。 将新创建的签名密钥绑定API。 API网关代理将签名后的请求发送到后端服务,此时Authorization头中包含签名信息。后端服务通过不同的开发语言(例如Java、Go、Python、JavaScript、C#、PHP、C++、C等)进行签名,通过比对签名结果和API网关代理传过来的Authorization头中签名是否一致,来校验API网关代理的合法性。
  • 配置参数说明 表1 配置参数说明 信息项 描述 密钥名称 自定义名称,用于识别不同的密钥。 类型 选择签名密钥的认证类型,可选择“HMAC”、“Basic Auth”、“Public Key”和“Aes”。 签名算法 选择Aes的签名算法,包含以下两种: aes-128-cfb aes-256-cfb Key 根据选择的密钥类型,填写不同的密钥信息。 HMAC:填写APP认证所使用密钥对的Key。 Basic Auth:填写basic认证所使用的用户名。 Aes:填写Aes认证所使用的密钥Key。 Public Key:填写Public Key认证所使用的公钥。 Secret 根据选择的密钥类型,填写不同的密钥信息。 HMAC:填写APP认证所使用密钥对的Secret。 Basic Auth:填写basic认证所使用的密码。 Aes:填写Aes认证所使用的向量。 Public Key:填写Public Key认证所使用的私钥。 确认Secret 填写与“Secret”一致的值。