当前位置: 首页 > news >正文

阿里云API网关 产品的使用笔记

阿里云的产品虽多,还是一如既往的一用一个看不懂,该模块的文档依旧保持“稳定”发挥,磕了半天才全部跑通。
用阿里云API网关的原因是,在Agent中写插件调用API的时候,需要使用Https协议,又嫌搞备案、证书等事情麻烦与不太会,就使用阿里云API网关来中转测试。

API网关关联文档:

  • 接口开放太麻烦?试试阿里云API网关吧
  • 阿里云API网关使用教程
  • 创建后端服务为HTTP的API

1 API网关基本信息

1.1 价格

文档:API调用量费用

在这里插入图片描述

说明:

  • 计费方式:按量后付费
  • 计费周期:天
  • 账单时间: 账单出账时间通常在当前计费周期结束后一小时内,最长不超过三个小时;
  • 扣费方式: 账单生成后会自动从您的账户余额中扣除费用以结算账单;
  • 计费币种:人民币
  • 有效调用次数: API网关收到的所有API请求,均为有效调用,会计入收费范围;
  • 每月(自然月)前一百万次API调用免费,当月超过部分按阶梯计费。

1.2 一些使用限制

使用限制
在这里插入图片描述


2 实战

2.1 笔者的使用场景

在这里插入图片描述
要测试一个agent的插件,需要调用一个非常简单的数据接口,示例如下:

import requests
url = "http://0.0.0.0:2024/analysis/"sample = {"lf": 1500,"hf": 0,"id": "_xlVJ4QxW1hMlI8B",
}response = requests.post(url, json=sample)
print(response)

2.2 来,为自己配一个API网关

API网关工作台,在【API列表】中创建API,同时还可以进行调试
在这里插入图片描述

第一步:【新建API】
这里建议小白 安全认证 可以直接选择【无认证】,如果要选阿里云APP,就要搞半天的验证代码

在这里插入图片描述

第二步:【定义API请求】
这里请求path,很关键,/getUserInfo/[userId],因为笔者对这一块了解不多,

  • 对这个[userId]非常费解,回过味来是动态参数
  • 还有这个入参定义,在之前笔者的API中,是不是要把lf hf id当做入参定义呢?
    实际是不用的如果要设置入参定义,最后的请求url就是: http://0.0.0.0:2024/analysis/lf=lf&hf=hf&id=id,并不是笔者想要的

所以这个页面只需要设置两个地方 请求path 以及 http method

# 如果这里[userId]是如下的格式,可变的
http://0.0.0.0:2024/analysis/阿珍
http://0.0.0.0:2024/analysis/阿强

在这里插入图片描述

第三步,设置【后端基础定义】
这个步骤是最关键的,笔者也因为这个环节一个下午抓耳挠腮的

  • 后端地址,源API服务器一定要给API网关开白名单,或者全部放开,笔者找了一下文档,没看到API网关具体地址,只能全部放开了,不然一直会报错timeout
  • 后端请求PATH:这里一定要加上后面的/, 不然会报错307,这个问题最坑,或者说是坑新手,看到这个报错压根不知道怎么调整,后面只能笨办法,所有的可能性都遍历,坑

在这里插入图片描述

第四步:【返回结果基础定义】
可以定义,也可以什么都不动,直接【创建】

在这里插入图片描述

2.3 调试API

如果需要在阿里云网页调试,需要给一个授权权限

在这里插入图片描述
这里【发布】后,会有三种状态、环境 : 线上、预发、测试
要调试的话,需要三遍授权
这里会出现应用,然后再授权
在这里插入图片描述

来到调试界面:

  • 需要设置为POST才可以输入body
  • 在body,输入json格式的输入参数
  • 在右边看结果,其中这里的Response 数字为 422,说明还是有问题,正常来说的话是200
    在这里插入图片描述

如果你希望用代码测试,下面这是阿里云的测试示例,一团糟,示例代码应该是py2的:

  • urllib2在Py3没有需要改成urllib.request
  • appcode需要到【应用管理】才能找到
    在这里插入图片描述

在这里插入图片描述


撒花
结束,可以继续agent测试了!

http://www.lryc.cn/news/342911.html

相关文章:

  • 基于H.264的RTP打包中的组合封包以及分片封包结构图简介及抓包分析;FU-A FU-B STAP-A STAP-B简介;
  • OPENAI中Semantic Kernel实现原理以及示例代码用PYTHON来实现
  • 关于路由懒加载的实现
  • 如何去官网下载windows10操作系统iso镜像
  • JavaScript中如何实现函数缓存,函数缓存有哪些应用场景
  • 以中国为目标的DinodasRAT Linux后门攻击场景复现
  • Day 24 数据库管理及数据类型
  • MAC 本地搭建Dify环境
  • vue3使用tsx/jsx时报错:JSX 元素隐式具有类型 “any“,因为不存在接口 “JSX.IntrinsicElements“。
  • 卷价格不如卷工艺降本增效狠抓模块规范化设计
  • [报错解决]Failed to load driver class oracle.jdbc.OracleDriver
  • 前端科举八股文-CSS篇
  • tracert命令
  • goget配置多个golang 运行环境
  • 小程序预览或上传代码时,遇到app.json未找到某个wxml文件的解决方法
  • VUE v-for 数据引用
  • 嵌入式linux学习第一天
  • 基于Springboot的教学辅助系统(有报告)。Javaee项目,springboot项目。
  • CentOS7编译安装freeswitch1.10.11
  • 网络知识点之—QoS
  • LeetCode 每日一题 ---- 【741.摘樱桃】
  • 新火种AI|挑战谷歌,OpenAI要推出搜索引擎?
  • 选择适用的无尘棉签:保障洁净生产环境下的高效擦拭
  • 通信录的动态版本
  • FineReport高频面试题及参考答案
  • git merge 命令合并指定分支到当前分支
  • 【在线OJ】Vue创建OJ管理系统
  • 常用算法汇总
  • W801学习笔记二十二:英语背单词学习应用——下
  • Vue路由的模式和原理