阿里云视觉智能服务
Quick Start
本示例演示了基于 Python 语言开发调用阿里云视觉智能开放能力的应用,展示了 「文字识别服务」与「图像增强服务」两个视觉智能 AI 的应用。
前置准备
开通阿里云视觉智能 viapi_ocr_public_cn/文字识别服务 https://common-buy.aliyun.com/?commodityCode=viapi_ocr_public_cn#/open
开通阿里云视觉智能 viapi_imageenhan_public_cn/图像增强服务,选择「智能构图」 https://common-buy.aliyun.com/?commodityCode=viapi_imageenhan_public_cn#/open
打开此链接查看:https://vision.aliyun.com/ 更多阿里云视觉智能开放能力
登录云开发平台,点击「免费云开发」,点击「应用管理」,点击「新建应用」,选择「NodeJs」,选择「通过模版创建」,选择「官方模板」,选择「阿里云视觉智能服务」,点击下一步,填写完信息之后,点击下一步,选择「计算服务」,开通项目所依赖的云服务,点击完成
应用创建完成后,点击「在线开发部署」,等待代码仓库完成初始化,自动进入 CloudIDE页面,之后打开 README.md 详细阅读
在应用卡片的【环境管理】的【环境变量】中,填写您在阿里云的 AccessKeyId 和 AccessKeySecret 信息ACCESS_KEY=你的阿里云AccessKeyIdSECRET_KEY=你的阿里云AccessKeySecret
在 index.py 和 list.py 文件中列举的图片地址如果您要替换成自己的图片,有一个注意事项,这些图片必须上传到您在上海Region 的 OSS Bucket 中才可以
快速查看效果
我们可以在开发时调试应用程序,首先在容器内安装aliyunsdk
打开终端输入命令:
`sudo pip install aliyun-python-sdk-core==2.13.26 --target ./ -i https://pypi.tuna.tsinghua.edu.cn/simple`
然后在CloudIDE中点击左侧「WB」插件,点击「测试」tab,点击「测试」按钮查看输出,进入浏览器访问输出URL即可(测试时的URL不可作为生产环境使用)。
部署
点开 CloudIDE 左侧菜单栏里的「WB」插件,点击「部署」tab,直接将此应用部署到「日常环境」
部署成功后,可以直接用云开发平台分配的临时域名访问(Tips:临时域名有效期为 30 分钟,每次部署都会重新分配)
项目文件描述
`index.py 首页`
`list.py 调用阿里云视觉智能开放服务并返回结果`
`.workbench 路由配置文件`
路由配置表 .workbench 文件介绍
`{`
` "fcRouteDefault" : [`
` {"apiUri":"/",`
` "fcHandler":"index.handler",`
` "httpMethod":"GET"`
` },`
` {"apiUri":"/list/[listId]",`
` "fcHandler":"list.handler",`
` "httpMethod":"GET"`
` }`
` ]`
`}`
`apiUri / 访问URL https://域名/`
`fcHandler index.handler 访问 / 路由都会进入到 index.py 的 handler 函数进行处理`
`httpMethod ANY 支持任意请求方法,如:GET / POST / DELETE 等`
``
`apiUri /list/[listId] 访问URL https://域名/list/12345`
`fcHandler list.handler 访问 /list 路由都会进入到 list.py 的 handler 函数进行处理`
`httpMethod ANY 支持任意请求方法,如:GET / POST / DELETE 等`
Restful API
/list/[listId] 对应URL https://域名/list/123 或者 https://域名/list/456 ,在代码中用
`request = json.loads(event)`
`listId = request['pathParameters']['listId']`
可以获取到 123/456
参数透传
任何 URL 都会完全透传请求参数,参数格式:?id=456&name=fc,在处理函数中可以通过
`request.queryParameters.xxx`
获取对应的请求参数,如:https://域名/list/200156?action=bizcard 请求到应用根目录的list.py,在 list.py 文件的handler函数中,是这样获取到action这个参数的:
`request = json.loads(**event**)`
`request['queryParameters']['action']`
可以获取到 bizcard
三套环境的部署
「日常环境」测试没有问题,就可以继续部署到「预发环境」,预发环境测试没有问题,就可以部署到「线上环境」为您的客户提供服务了
部署「线上环境」需要您绑定自己的域名,在「应用列表」找到您创建的应用,打开「环境管理」,选择「线上环境」,输入您自己的域名并保存
同时,您需要将自己的域名做一个 CNAME 操作,按照「绑定域名」处给出的指引操作就行