前者可以理解为其解决方案范围处在服务端;后者可以译为少量的;组合起来就是较少服务端干预的服务端解决方案。
Serverless 俗称为“无服务器架构”,Serverless 不是具体的一个编程框架、类库或者工具。简单来说,Serverless 是一种软件系统架构思想和方法,它的核心思想是用户无须关注支撑应用服务运行的底层主机。这种架构的思想和方法将对未来软件应用的设计、开发和运营产生深远的影响。
所谓“无服务器”,并不是说基于 Serverless 架构的软件应用不需要服务器就可以运行,其指的是用户无须关心软件应用运行涉及的底层服务器的状态、资源(比如 CPU、内存、磁盘及网络)及数量。软件应用正常运行所需要的计算资源由底层的云计算平台动态提供。
serverless详细介绍 什么是FCFC(函数计算):阿里云函数计算是事件驱动的全托管计算服务。通过函数计算,用户无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码,并提供日志查询、性能监控、报警等功能。
FC工作流程
-
开发者使用编程语言编写应用和服务。函数计算支持的开发语言,请参见开发语言列表。
-
开发者上传应用到函数计算。
上传途径包括:- 通过函数计算控制台上传。
- 通过Serverless Devs上传。
- 通过API或SDK上传。
-
触发函数执行。触发方式包括事件触发以及函数计算API、SDK等。
-
动态扩缩容以响应请求。函数计算可以根据用户请求量自动扩缩容,该过程对您和您的用户均透明无感知。
-
根据函数的实际执行时间按量计费。
- 文字识别服务
- 函数计算
弹性实例等设置可在配置之后修改
- 首先添加依赖包
【身份证识别附件】附件.zip
将这三个文件上传至项目根目录
* 在项目根目录新建 recognizeIdentityCard.py 文件 * 在recognizeIdentityCard.py中写入如下代码:#!/usr/bin/env python
# coding=utf-8
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkocr.request.v20191230.RecognizeIdentityCardRequest import RecognizeIdentityCardRequest
ak = 'LTA***************ixV' # AccessKey ID
secret = '4r*********************cK' # AccessKey Secret
region_id = 'cn-shanghai'
# url转换
def generate_url(or_url):
from viapi.fileutils import FileUtils
file_utils = FileUtils(ak, secret)
oss_url = file_utils.get_oss_url(or_url, "jpg", False)
print(oss_url)
return oss_url
# 识别身份证正面信息
def face_recognizeIdentityCard(face_url):
face_url = generate_url(face_url)
client = AcsClient(ak=ak, secret=secret, region_id=region_id)
request = RecognizeIdentityCardRequest()
request.set_accept_format('json')
# 识别正面
request.set_Side("face")
request.set_ImageURL(face_url)
request = client.do_action_with_exception(request)
re = str(request, encoding='utf-8')
# print(re)
re_dict = eval(re)
info = re_dict['Data']['FrontResult']
info_dict = {}
info_dict['IDNumber'] = info['IDNumber']
info_dict['Name'] = info['Name']
info_dict['Gender'] = info['Gender']
info_dict['Nationality'] = info['Nationality']
info_dict['BirthDate'] = info['BirthDate']
info_dict['Address'] = info['Address']
# print(info_dict)
return info_dict
def back_recognizeIdentityCard(back_url):
back_url = generate_url(back_url)
client = AcsClient(ak=ak, secret=secret, region_id=region_id)
request = RecognizeIdentityCardRequest()
# 识别背面
request = RecognizeIdentityCardRequest()
request.set_Side("back")
request.set_ImageURL(back_url)
request = client.do_action_with_exception(request)
re = str(request, encoding='utf-8')
# print(re)
re_dict = eval(re)
info = re_dict['Data']['BackResult']
info_dict = {}
info_dict['StartDate'] = info['StartDate']
info_dict['EndDate'] = info['EndDate']
info_dict['Issue'] = info['Issue']
# print(info_dict)
return info_dict
def get_IdentityCardInfo(face_url, back_url):
re_dict = {
'FrontResult': face_recognizeIdentityCard(face_url),
'BackResult': back_recognizeIdentityCard(back_url)
}
print(re_dict)
return json.dumps(re_dict)
- 更改 ak 和 secret
ak = 'LTA***************ixV' #你自己的 AccessKey ID secret = '4r*********************cK'# 你自己的 AccessKey Secret
- AccessKey ID 和 AccessKey Secret 获取方法如下
-
注意:为方便使用,建议下载并保存Secret
-
在main.py 中注册身份证识别接口路由:
@app.route('/idcard', methods=['GET'])
def idcard():
from recognizeIdentityCard import get_IdentityCardInfo
face_url=request.args.get('FaceUrl')
back_url=request.args.get('BackUrl')
re=get_IdentityCardInfo(face_url,back_url)
resp = make_response(re, 200)
return resp
5.点击部署
6.获取身份证识别服务接口url
- 点击调用
- 拿到请求地址后拼接上我们自己定义的路由’idcard’得到最终的url:
列如 请求地址为:
https://18xxxxxxxxxx89.cn-hangzhou.fc.aliyuncs.com/2016-08-15/proxy/id_identify.LATEST/id_identify/
则最终的url为:
https://18xxxxxxxxxx89.cn-hangzhou.fc.aliyuncs.com/2016-08-15/proxy/id_identify.LATEST/id_identify/idcard
7.使用接口测试工具进行测试
在APIPost中填入最终url
选用get方法
参数位置 Query
(注意:阿里云身份证识别服务按流量计费,每次调用成本约为0.08元)
参考文章:https://blog.csdn.net/qq_45385867/article/details/115272821



