Serverless 初体验:快速开发与部署一个Hello World(Java版)
点击上方蓝色“程序猿DD”,选择“设为星标”
回复“资源”获取独家整理的学习资料!
昨天被阿里云的这个酷炫大屏吸引了!
我等85后开发者居然这么少!挺好奇到底什么鬼东西都是90、95后在玩?就深入看了一下。
这是一个关于Serverless的体验活动,Serverless在国内一直都处于不温不火的状态,所以很多开发者其实都不太了解Serverless到底是啥!
如果你也有这样的好奇,那么可以跟我一样来体验一下,简单的写个Hello World,有个最直观的感受这个充满未来感产品吧!
P.S. 参加活动,加入钉钉群还能每天抽奖一次,有机会赢取AirPods、高达PG模型(我喜欢的)、Cherry机械键盘等丰富大礼哦!
如何参与
-【官方】活动主页:https://developer.aliyun.com/topic/yiqi/hol?utm_content=g_1000180354
-【官方】通关宝典:https://help.aliyun.com/document_detail/181573.html
官方文档还是如其他阿里项目一样的有待提高(lan)....
如果你最自己的探索能力有足够信心,可以直接通过官方文档来试试。
如果想少踩坑,可以看我下面写的超细致通关宝典,完成一个Java版本的Hello World!
第一步:进入产品列表,点击创建应用
第二步:选择“空应用”标签
Serverless应用服务器选择:“函数计算FC”
开发语言选择:Java
第三步:填写应用名称、应用介绍,自己定义就好
第四步:点击新建的应用卡片中的“开发部署”按钮
第五步:新建 helloworld.java
内容如下:
package com.alibaba.serverless.helloworld;import java.io.UnsupportedEncodingException;
import java.util.UUID;import com.aliyun.fc.runtime.Context;
import com.aliyun.fc.runtime.FunctionComputeLogger;
import com.aliyun.fc.runtime.FunctionInitializer;
import com.aliyun.fc.runtime.PojoRequestHandler;
import com.aliyuncs.utils.Base64Helper;/*** 对应到部署路由中的函数名:* com.alibaba.serverless.helloworld.helloworld::handleRequest*/
public class helloworld implements FunctionInitializer, PojoRequestHandler<ApiGwRequest, ApiGwResponse> {/** 云函数运行时初始化时的回调函数。*/@Overridepublic void initialize(Context context) {FunctionComputeLogger logger = context.getLogger();logger.debug(String.format("RequestID is %s %n", context.getRequestId()));}/** Web云函数处理入口,每次调用时的入口。* @param request 每次请求的所有信息都在request中*/@Overridepublic ApiGwResponse handleRequest(ApiGwRequest request, Context context) {FunctionComputeLogger logger = context.getLogger();// 读取请求对象String requestPath = request.getPath();String bodyContext = "";if (requestPath.startsWith("")) {bodyContext = "你好,世界!";}// 构建返回对象ApiGwResponse response = new ApiGwResponse();response.getHeaders().put("responseHeader", "testValue");response.getHeaders().put("Content-type", "text/html; charset=utf-8");boolean isBase = false;if ( isBase ) {try {bodyContext = Base64Helper.encode(bodyContext, "UTF-8");} catch (UnsupportedEncodingException e) {isBase = false;}}response.setBody( bodyContext );response.setBase64Encoded( isBase );response.setStatusCode(200);logger.info("Response返回:" + bodyContext );return response;}
}
第六步:按下图操作,提交代码
第七步:部署应用到日常环境
点击左侧工具栏的第一个图标,进入部署界面,点击“添加一条路由”。
图中2部分的内容为:com.alibaba.serverless.helloworld.helloworld::handleRequest
,对应的就是之前创建的 helloworld.java
中的handleRequest法,意思就是/helloworld请求会被这个类中的handleRequest来处理。
注意,请求方法要设置为POST,后面会说为什么!
第八步:测试/helloworld接口
在部署标签边上就有一个测试工具,输入用户路径/helloworld
,点击测试就可以发起请求了,获得结果如下图所示:
回过头来看一下代码,对用的body内容:
这个测试工具是不是总觉得有点怪?!是的,居然没有HTTP Request Method的选择,这个请求默认都是用POST来发的,所以在上一步中我们配置了/helloworld为POST请求,不然这里就不会成功。看官方宝典的兄弟,发现这个坑了吗?
怎么样的?你的第一次Serverless之旅还算顺利吗?
点击这里一起来试试这种未来的开发方式吧
往期推荐
老司机给我们解读 Spring Boot 最流行的 16 条忠告
赠书:面向对象的两大迷思,再给你们解答一次
SpringBoot整合Netty并使用Protobuf进行数据传输
程序员接私活完整攻略+赠开源管理系统
记一次由Redis分布式锁造成的重大事故
三种 MySQL 大表优化方案
点击“阅读原文”直达活动首页
Serverless 初体验:快速开发与部署一个Hello World(Java版)相关推荐
- wordcount代码_通过腾讯云 Serverless Regsitry 快速开发与部署一个 WordCount 实例
在学习 MapReduce 的过程中,不少人接触的第一个项目就是单词计数.单词计数通过两个函数 Map 和 Reduce,可以快速地统计出文本文件中每个单词出现的个数,它虽然简单,但也是最能体现 Ma ...
- 小熊派4G开发板初体验SDK开发
小熊派4G开发板初体验 开发板硬件资源介绍 前阵子小熊派发布了一款超高性价比的4G开发板(19.8元包邮),但是板子仅限量1000套.小熊派官方给我送了一块,我们一起来学习学习: 板子做得小巧精致,控 ...
- 002开发、部署一个共享自行车区块链网络
前言 在本系列第 1 部分文章的中,我们一起学习了 Fabric.Composer 基础知识,利用 Hyperledger Compose 搭建了 Fabric 本地开发环境,运行了一个示例区块链网络 ...
- Python web 开发:部署一个3行代码的wsgi app
通过前面的两篇: Python Web开发:从 wsgi 开始 Python Web开发:开发wsgi中间件 我们已经知道我们平时开发的 django.flask 等 python web 项目本质上 ...
- 如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用
Jerry之前的文章30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 发布之后,有朋友问我,"没错, 我是在你的文章里看到了Fiori应用的 ...
- 用MUI花两天时间快速开发『One·一个』App,兼容Android、iOS双平台 1
『One·一个』App 线上开源地址 App下载地址 MUI在线文档 以下所有 API 均由产品公司自身提供,本人皆从网络获取.获取与共享之行为或有侵犯产品权益的嫌疑.若被告知需停止共享与使用,本人会 ...
- [Django快速开发1]搭建一个简单的博客系统(1)
系列文章目录 Django快速开发0快速搭建环境并得到django项目的hello world 文章目录 系列文章目录 前言 从Django的模型层开始书写 定义文章模型: 使用脚本向sqlite3中 ...
- wifidog java_家用环境下部署wifidog认证服务器(java版)
本文所讲的是基于一个java版wifidog认证服务器的开源项目,在windows环境下搭建wifidog认证服务器配合apfree固件实现用户名密码的认证. 大致步骤如下: 一,准备 1.搭建硬件及 ...
- OWT (Open WebRTC Toolkit) 5.0 初体验与开发环境搭建
介绍 OWT是Intel前些年开源的基于互联网的视频会议解决方案,可以支持WebRTC和SIP终端.这几年WebRTC应用的特别广泛,使用OWT可以快速搭建一个WebRTC视频会议系统.OWT最初仅支 ...
最新文章
- 标准成本、目标成本、实际成本
- 轻松一下——高考笑句
- 从0学习css开发之 font-size的基本用法
- 文献记录(part14)--Biclustering with dominant sets
- Blazor 准备好为企业服务了吗?
- 推荐+1置顶+1(分享、讨论、实现)通用软件注册功能之建立有效的软件保护机制...
- (原创)C++ IOC框架
- 推荐几个代码自动生成器,神器!!!
- c语言贪吃蛇(简易版本含完整代码)
- 大平原顾问快讯FRX移至新服务器
- linux skype的安装
- Netty和Tomcat有什么区别
- 惊蛰(insects awaken)
- 什么是敏捷项目管理?
- 计网自顶向下 学习笔记:Chap1
- AUTOSAR架构软件结构简介
- pytorch b站练习-5
- 工程项目成本为什么总是管不住?关键在管理方式
- cs ss ds es
- Linux字符串截取