简介

阿里云 函数计算(Function Compute) 是事件驱动的全托管计算服务,是阿里云的 Serverless 计算平台。基于函数计算构建应用,您无需管理服务器等基础设施,而是专注于应用逻辑的开发,大幅提高开发效率。

函数计算搭建 Serverless Web 应用(一)- HTTP 触发器 中阐述了 Web 应用(Serverless web backend) 是函数计算很重要的一个使用场景。相比于传统的在服务器上搭建 web 应用,函数计算无需您管理服务器等基础设施,只需编写代码并上传,函数计算会为您准备好计算资源,以 弹性、 可靠 的方式运行您的代码,实现毫秒级别弹性伸缩,轻松应对峰值压力。

函数计算搭建 Serverless Web 应用(二)- 自定义域名 中阐述了绑定自定义域名,通过自定义域名访问函数,配合 HTTP 触发器使用,为用户使用函数计算搭建 Web 应用提供便利。

本文对使用自定义域名 + HTTP 触发器搭建 Web 应用的步骤进行详细介绍,手把手带您三分钟搭建稳定可靠的 Web 应用。

搭建步骤

场景:本示例基于 HTTP 触发器搭建 Web 应用,有两个函数 f1 和 f2,作为示例,函数的功能只是打印出 request 请求,当然,您可以在函数中编写任意业务逻辑。

预期效果:通过自定义域名进行访问可以触发函数执行,得到预期结果。

前提:您有独立的域名,且已经接入阿里云备案(如果函数在非中国大陆节点的 region,无需备案)。

步骤一:创建配置 HTTP 触发器的函数

  1. 登录 函数计算管理控制台。
  2. 新建服务,本示例的服务名称为 web-server,开启【高级配置】,配置日志项目和日志仓库,角色创建方式为新建角色,系统授权模板选择 AliyunLogFullAccess,点击 【授权】,点击【确定】。
  3. 在左侧导航栏选择服务,进入到新建的服务中。
  4. 单击 【创建函数】,在创建函数页面:

  • 单击 【选择全部的语言】,在下拉菜单中选择 node8 或 python2.7(本示例代码会对两种语言进行介绍)。
  • 选择 【空白函数】。
  • 按如下图示配置 HTTP 触发器,单击 【下一步】。
  1. 认证方式选择 anonymous,不需要身份验证,支持匿名访问。
  2. 请求方式为此函数可以处理的 HTTP 请求方式。

  • 创建函数并填写所在服务、函数名称、描述信息和运行环境信息。
  • 单击【下一步】。
  • 核对信息无误后,单击【创建】。

然后编写函数代码

# -*- coding: utf-8 -*-
import json
HELLO_WORLD = b"Hello world!\n"def handler(environ, start_response):request_uri = environ['fc.request_uri']response_body = {'uri':environ['fc.request_uri'],'method':environ['REQUEST_METHOD']}# do something herestatus = '200 OK'response_headers = [('Content-type', 'text/json')]start_response(status, response_headers)# Python2return [json.dumps(response_body)]# Python3 tips: When using Python3, the str and bytes types cannot be mixed.# Use str.encode() to go from str to bytes# return [json.dumps(response_body).encode()]

此处以 Python 为例,其他语言的代码请参考文章 创建函数和 HTTP 触发器。

步骤二:域名解析

为了保证您的自定义域名的请求可以到达函数计算,需要您在域名解析服务器处设置域名的 CNAME 为您函数计算的 endpoint。

endpoint 的格式为 <accountID>.<region>.fc.aliyuncs.com,您可以在函数计算控制台右上角获取当前 region 的 endpoint。

使用阿里云云解析 DNS 对域名进行解析请参考 域名解析。

步骤三:绑定自定义域名

您需要在函数计算控制台绑定自定义域名:

  • 登录 函数计算控制台

  • 在控制台首页右侧点击进入 自定义域名管理,即可绑定自定义域名并设置路由。

步骤四:测试

设置成功后,访问自定义域名进行测试,示例演示通过命令行 curl url 进行测试,您也可以通过浏览器测试。

  ~ curl api.app.com
{"path": "/","queries": {},"headers": {"accept": "*/*","user-agent": "curl/7.58.0"},"method": "GET","requestURI": "/","clientIP": "42.120.75.144","serviceName": "serviceA","functionName": "functionA","body": ""
}%~ curl api.app.com/b
{"path": "/b","queries": {},"headers": {"accept": "*/*","user-agent": "curl/7.58.0"},"method": "GET","requestURI": "/b","clientIP": "42.120.75.144","serviceName": "serviceA","functionName": "functionB","body": ""
}%~ curl api.app.com/a
{"path": "/a","queries": {},"headers": {"accept": "*/*","user-agent": "curl/7.58.0"},"method": "GET","requestURI": "/a","clientIP": "42.120.75.144","serviceName": "serviceB","functionName": "functionC","body": ""
}%~ curl api.app.com/a/b
{"path": "/a/b","queries": {},"headers": {"accept": "*/*","user-agent": "curl/7.58.0"},"method": "GET","requestURI": "/a/b","clientIP": "42.120.75.144","serviceName": "serviceB","functionName": "functionD","body": ""
}%

总结

绑定自定义域名可以允许用户通过自定义域名访问 FC 的函数,配合 HTTP 触发器使用,可以快速搭建性能稳定弹性可扩容的 Web 应用,可以说是十分方便了。

您在使用过程中遇到任何问题都可以随时 联系我们,函数计算团队所有工程师都会在群里实时进行答疑,没错,所有工程师,任何问题,随时联系。

期待您的使用~~

原文链接
本文为云栖社区原创内容,未经允许不得转载。

函数计算搭建 Serverless Web 应用(三)- 三分钟搭建 Web 应用相关推荐

  1. 从函数计算到 Serverless 架构

    作者:秋雨陈 前言 随着 Serverless 架构不断发展,各云厂商和开源社区都已经布局 Serverless 领域,一方面表现在云厂商推出传统服务/业务的 Serverless 化版本,或者 Se ...

  2. 基于函数计算的 Serverless AI 推理

    前言概述 本文介绍了使用函数计算部署深度学习 AI 推理的最佳实践, 其中包括使用 FUN 工具一键部署安装第三方依赖.一键部署.本地调试以及压测评估, 全方位展现函数计算的开发敏捷特性.自动弹性伸缩 ...

  3. 单机 搭建kafka集群 本地_10分钟搭建单机Kafka集群

    单机版kafka集群有什么作用 练习上手用. 搭建zookeeper集群首先下载zookeeper解压 apache zookeeper tar -zxvf apache-zookeeper-3.5. ...

  4. 【函数计算月报】2018年12月刊

    重点新闻 阿里组织架构再调整:阿里云升级为阿里云智能事业群 11月26日,阿里巴巴集团 CEO 张勇发出全员公开信,宣布阿里最新一次面向未来的组织升级:阿里云事业群升级为阿里云智能事业群,将中台的智能 ...

  5. 函数计算: 让小程序开发进入 Serverless 时代

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 吴天龙(木吴 ...

  6. 一元建站-基于函数计算 wordpress 构建 serverless 网站

    前言 本文旨在通过 快速部署一个 wordpress 网站到阿里云函数计算平台 这个示例来展示 serverless web 新的开发模式, 包括 FUN 工具一键初始化 NAS, 同步网站到 NAS ...

  7. 【函数计算月报】2018年10月刊

    重点新闻 阿里新任 CEO 张勇首次电视采访:云计算将是阿里未来主要业务 阿里巴巴新任 CEO 张勇在接受 CNBC 的电视采访时表示坚信未来的每项业务都将由云计算提供支持,非常乐意在新的数字时代建立 ...

  8. 基于阿里云函数计算实现需要用到超大依赖包的 Python 无服务器计算

    文章目录 引言 一.阿里云函数计算是什么? 开发流程 函数计算的触发调用 函数计算运行实例的生命周期 二.示例应用的架构及简介 三.具体开发部署步骤所遇到的坑和~~避坑指南~~ 坑1. 超大依赖包的部 ...

  9. “晕乎乎的概念”:阿里云函数计算的“应用”又是个啥

    作者:刘宇 曾经,有人问我:阿里云函数计算的服务和函数是啥关系?我相信至今还有小伙伴没有搞清楚他们之间彼此的联系. 这几天阿里云又正式发布了一个"概念":应用.那么阿里云函数计算单 ...

  10. 急速搭建 Serverless AI 应用:为你写诗

    前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): [函数计算](https://statistics.functioncompute.com/?titl ...

最新文章

  1. 超越Facebook、谷歌、微软,百度发布全球首个百亿参数对话预训练生成模型PLATO-XL...
  2. Day12 前端html
  3. html border阴影效果_一篇文章教会你使用html+css3制作炫酷效果
  4. Kafka的常见错误分析
  5. SVN版本管理工具使用中常见的代码提交冲突问题的解决方法
  6. binlog日志_MySQL三大日志binlog、redo log和undo log
  7. 60分钟快速入门 PyTorch
  8. js 用下标获取map值_js map方法处理返回数据,获取指定数据简写方法
  9. 修改EIGRP 路径cost 值,以及分析和实现等价与非等价负载均衡
  10. python贪吃蛇设计思路_Python深度剖析贪吃蛇游戏的设计与实现
  11. mysql5.7 bulk insert_Bulk Insert 高效快速插入数据
  12. 搭建简单JAVA分布式爬虫系统
  13. 自然语言分析包NLTK安装及入门
  14. steam社区打不开,解决mac无法打开steam社区的方法
  15. 软件工程——团队作业4
  16. 手写简易版spring MVC框架
  17. wamp5 mysql 启动不了_wamp5安装问题之mysql无法启动
  18. 带你了解“不拘一格去创新,别出心裁入场景”的锐捷
  19. 微信公众号举报能封号吗
  20. php网页报告2500字,教你写作文2500字

热门文章

  1. mysql群集配置_CentOS7 - 建立一个MySQL集群
  2. 安装python环境与运行_linux下怎么安装python的运行环境
  3. 内固定取出术后护理_股骨内固定钢板取出术后护理查房记录范文
  4. 宝塔linux忘记密码,宝塔忘记登录入口了怎么解决 宝塔面板密码忘记了怎么办
  5. c++语言成绩统计系统数组,急求!!!关于学生成绩管理系统的C++ 结构体数组...
  6. 如何用notepad写php,notepad新手怎么使用
  7. python pd Series 添加行_Python数据分析与挖掘的常用工具
  8. java divide 用法_java中BigDecimal加减乘除基本用法
  9. gdb 调试_GDB调试指南-源码查看
  10. 【先生】丘成桐:中国人可以做世界一流学者