实践篇:搭建无服务器应用--函数计算+API网关+云市场(提供手机号归属地查询服务)

本文涉及的产品
AI 网关免费试用,400元 Serverless
简介:

6月5日,阿里云的API网关上线了一个新功能,用户定义API后端服务时可以选择使用Function Compute,这样API网关的用户直接使用函数计算的技术能力,这也使得API网关具备可扩展的后端应用,与此同时函数计算也享受到API网关带来的诸多的好处,例如API的请求流量管控、安全鉴权、访问监控、统计等等。

下面我做一个简单的例子,把函数计算+API网关+云市场三者结合起来,提供一个能查询手机号归属地的服务,在这个框架里不需要配置WEB容器、不需要搭建运行环境、不需要购买负载均衡,通过配置和一段代码就能完成一个高扩容无服务器的应用服务提供出去。
API网关+函数计算+云市场的结合架构图
37c3c264876fd86ce8b9ba9465856ef072aef061

整个这个架构搭建分三部分设置,云市场服务购买(免费),编写函数代码,设置API网关,调试成功就可以开放API地址了。

进入云市场选择手机号归属地查询(免费)服务,开通该服务,获取到服务的APPCode,填写到对应的代码中。

第一步:创建一个服务

直接在函数控制台上创建一个服务,填写名称和备注,或者选择已有的服务,直接略过这步。

第二步:创建空白函数,选用Python2.7编译环境,设置执行时间:1500ms,执行的内存128MB,因为是调用云市场的接口来取到内容,该接口平均响应时间在1200ms左右。

其中函数代码块:
import logging  
import urllib, urllib2, sys
import ssl
import json

def handler(event, context):
  ct = json.loads(event)
  mob = ct['queryParameters']['mob']
  #return ct
  host = 'http://jshmgsdmfb.market.alicloudapi.com' #market aliyun provider
  path = '/shouji/query'
  method = 'GET'
  appcode = 'your appcode' 
  querys = "shouji="+ mob
  bodys = {}
  url = host + path + '?' + querys

  request = urllib2.Request(url)
  request.add_header('Authorization', 'APPCODE ' + appcode)
  response = urllib2.urlopen(request)
  content = response.read()

  rep = {
    "isBase64Encoded": "false",
    "statusCode": "200",
    "headers": {
        "x-custom-header": "no"
    },
    "body": content
}  
  return json.dumps(rep)

第三步:通过控制台调试程序:

如果想在控制台进行对程序调试,可以在执行页面的触发事件中加入模拟API网关invoke函数请求串:

{
    "body": "",
    "headers": {
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
        "X-Ca-Api-Gateway": "48351B11-52DB-44EE-8051-CE22A2F69A1C",
        "X-Forwarded-For": "100.68.30.243"
    },
    "httpMethod": "GET",
    "isBase64Encoded": false,
    "path": "/getinfo",
    "pathParameters": {},
    "queryParameters": {
        "mob": "13622439310"
    }
}

第一步:建立分组:如果没有分组,创建一个分组,如果有,直接略过,看下一步,创建API

第二步:建立API通过引导页面,完成4步操作,填写基本信息的时候,这个地方为了演示效果,选着不认证,一般对外的分组建议都选用阿里云APP认证,确保API请求安全和计量统计。

定义API请求:请求的Path就是你最终暴露给客户的路径,另外入参定义里,需要填写一个入参名,本例中设置mob,传入一个手机号,见下图:

d2b55aa1cd6781435a7ffd125133cb7c9eda114a

定义API后端服务的时候,需要选择FunctionCompute的类型,填写的Serivce和Function都是事先在函数计算中设置好,这个地方填写进去即可,

注意两点:

1、你API网关所在的区域跟函数计算的区域同一个,避免走公网响应时间变长

2、在API网关上设置的超时时间不小于你函数执行的时间,避免API网关提前终止请求响应。

84a8acd8a2a80008fd7d11597cc91c7ace7a4ee0

第三步:返回结果示例:

参考手机号归属地提供商的返回值,填写到API网关中,代码如下:

{
  "status": "0",
  "msg": "ok",
  "result": {
    "province": "浙江",
    "city": "杭州",
    "company": "中国移动",
    "cardtype": "GSM"
  }
}

第四步:测试执行效果

点击调试API页面,在请求串里填写手机号,执行后,即可看到手机号归属地的返回。
05cbb814086b25eecbef8403f45d87463c83a780

通过URL地址发请求效果:

在API网关中,如果自己有域名,在分组中设置自己的域名,也可以通过系统提供的二级域名来简单试验一下,看下图,把地址拼接完整的请求地址,可以通过浏览器试验一下效果如何。

在分组详情中可以查到二级域名:

51cf6d0dd706cad60ba613d2a05bab2284fc866c

在浏览器请求的演示效果:

667dea8f5be674bcc0a9ab8279b50dcb1303ae11




目录
相关文章
|
6月前
|
人工智能 安全 Serverless
企业AI落地实践(三):使用 AI 网关解决 AI Agent 与 LLM 的交互挑战
无论是编码方式构建 AI Agent,还是可视化流程式构建 AI Agent,一旦脱离了 LLM,就不存在 AI 一说了。所以 AI Agent 如何合理地、生产级地与 LLM 结合,将是我们今天文章的核心内容。
865 17
|
8月前
|
弹性计算 Ubuntu Linux
阿里云服务器镜像怎么选?公共/自定义/共享/云市场/社区镜像区别与适用场景梳理
在购买阿里云服务器的过程中,选择合适的镜像(即云服务器的操作系统)是至关重要的一步。阿里云服务器镜像涵盖了公共镜像、自定义镜像、共享镜像、云市场镜像(镜像市场)和社区镜像等多种类型,对于新手用户来说,面对这些不同类型的镜像,往往会感到困惑,不知道它们之间的区别,更不知道如何根据自身需求进行选择。本文为大家解析这些镜像的特点、区别,并为大家提供选择参考。
1481 60
|
7月前
|
缓存 安全 网络协议
如何使用Bluetown Cloud服务器及其CDN服务来掩护VPS的真实IP地址。
最终,通过Bluetown Cloud的CDN服务,你的VPS不仅仅是隐藏在一层又一层的保护之下,同时也因为CDN的全球节点而享受到加速访问的优势,无所不在又不被发现,像是一位能在互联网世界中自由穿梭的幽灵特工。
159 14
|
7月前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
397 14
|
7月前
|
物联网
云服务器搭建rttys服务
RTTYS是一款基于Web的串口调试工具,分为服务端(rttys)和客户端(rtty)。服务端负责连接串口设备并提供接口,客户端通过浏览器访问实现远程串口调试。它具有跨平台、易部署的特点,适用于物联网、嵌入式开发等场景,极大提升调试效率。
|
10月前
|
存储 人工智能 安全
做网站如何选择云服务器?(二)服务篇
在现代互联网时代,云服务器成为企业与个人满足业务需求的首选。选择云服务商时需关注多个方面:稳定性与数据保护(如99.95%高可用性、99.999%数据可靠性)、安全防护体系(DDoS防护、入侵检测等)、弹性扩展功能、技术支持体系(24/7支持)、高性价比与灵活付费模式、快速供应与部署能力、多区域覆盖与线路选择、不限流量与IP更换、垂直场景方案(如游戏云、AI训练)及用户评价与案例分析。特别关注不同行业需求,如初创团队的成本控制、大型企业的合规性审查、金融医疗的安全合规等。综合考虑这些因素,才能确保网站高效运行和持续发展。
248 1
|
11月前
|
存储 弹性计算 安全
阿里云服务器购买后设置密码、安全组、基础安全服务、挂载云盘等流程简介
对于初次选购阿里云服务器的用户来说,通过阿里云推出的各类活动买到心仪的云服务器仅仅是第一步。为了确保云服务器能够正常运行并承载您的应用,购买之后还需要给云服务器设置远程登录密码、设置安全组规则、设置基础安全、购买并挂载云盘等操作之后,我们才能使用并部署自己的应用到云服务器上。本文将详细介绍在阿里云的活动中购买云服务器后,您必须完成的几个关键步骤,助您快速上手并充分利用云服务器的强大功能。
|
安全 Serverless 开发者
阿里云宣布推出Serverless Kubernetes服务 30秒即可完成应用部署
阿里云宣布推出Serverless Kubernetes服务,容器服务新增Serverless形态。
22007 1
|
3月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
575 30