写点什么

Basement 后端云服务正式亮相云栖大会

  • 2019-09-01
  • 本文字数:2327 字

    阅读完需:约 8 分钟

Basement 后端云服务正式亮相云栖大会

小蚂蚁说:

在今天下午的云栖 ATEC 大会上,Basement 后端云服务正式对外开放!首先服务支付宝小程序场景,提供贴身服务。为了促进支付宝小程序更好发展,蚂蚁金服还将重磅投入了一亿元云基金,给到包含 Basement 后端云服务在内的一站式小程序云计划。

Serverless 与前端

作为前端,当我们要开发一个新应用时,可能只要很短时间就可以搞定前端,但涉及服务端,却因为要关注服务器、数据库、文件存储、域名备案等等,需要耗费大量精力。



使用 Serverless 服务无疑是解决这个问题很合适的方式,它天然为前端而生,近几年 AWS、Google Cloud 等云厂商中都在大幅推广。什么是 Serverless?在 Martin Fowler 观点里,包含 BaaS(Backend as a Service)、FaaS(Functions as a Service)两部分,尤其随着容器化技术日渐成熟,越来越多原先的 BaaS 平台开始补足自己的函数计算能力,让用户可以更加完整的构建应用。


有了 Serverless 服务,我们不再需要关心服务端运维,在客户端即可完成数据存储、文件存储调用,通过云函数便能搞定服务端代码、异步处理逻辑等。这些服务一般都是按使用量计费,可自动弹性扩容,非常适合初创型产品,大幅降低投入成本。

使用 Basement 后端云服务快速打造小程序

Basement 后端云就是这样一个 Serverless 服务,诞生于蚂蚁体验科技,底层依托于蚂蚁强大稳定的金融科技平台,在过去几年里,一直服务内部 web 开发者们。在今天下午的云栖 ATEC 大会上,Basement 后端云服务正式对外开放,首先服务支付宝小程序场景,提供贴身服务。支付宝小程序事业部负责人何勇明还现场宣布将为一站式小程序云计划投入了一亿元云基金,此计划包含 Basement 后端云服务、云端应用开发等。”


代码示例

Talk is cheap, show me the code.


Basement 拥有下面这些特色能力,尤其在云函数里可直接调用支付宝开放平台接口,非常方便。



下面,我们通过具体的代码示例让大家来快速了解几大重点能力。

云函数

云函数支持使用 Node.js 进行开发,大家可通过小程序 IDE 将代码提交到云端,然后在客户端使用 Basement 提供的 API 进行调用,开发者还可以在云函数中直接通过 API 调用数据存储和文件存储的服务资源。


搭配支付宝小程序使用云函数,免配置操作,可以直接调用支付宝开放平台的海量 OpenAPI 接口。


exports.create = async (ctx) => {
// @see https://docs.open.alipay.com/api_2/alipay.user.info.share // 通过 OpenAPI 获取用户信息 const userInfo = await ctx.basement.openapi.alipay.exec('alipay.user.info.share');
// @see https://docs.open.alipay.com/api_1/alipay.trade.create // 通过 OpenAPI 创建订单 const order = await ctx.basement.openapi.alipay.exec('alipay.trade.create', { outTradeNo: `${Date.now()}${userInfo.userId}`, // 外部流水号,需要保证唯一性 buyerId: userInfo.userId, // 付款用户的 userId totalAmount: ctx.args.amount, // 金额 subject: ctx.args.subject, // 描述 });
// 返回支付结果 return { order };};
复制代码

数据存储

数据存储服务是基于 MongoDB 托管在云端的数据库,数据以 JSON 格式存储。大家可以在客户端(如支付宝小程序)内直接操作数据,也可以在云函数中读写数据。


在小程序客户端代码里,我们可以通过 basement.db 对象调用数据存储的大量 API 方法。比如:我们要获得当前存储的所有集合名词列表。


basement.db.collections().then((res) => {  this.setData({ collectionNames: res.result });}).catch(console.error);
复制代码


云函数内则可直接调用(不需要安装 SDK)同一个云服务的数据存储服务。下面是一个云函数调用的例子,同样是获得所有集合名称的列表。


module.exports = async (ctx) => {  const res = await ctx.basement.db.collections();  return res.result;};
复制代码

文件存储

文件存储服务支持文本、图片等内容存储到云端后,可通过高速 CDN 访问。同样也是可在客户端直接上传,或云函数里直接上传和读取文件,目前主要支持图片作为文件上传。


在客户端,我们可以通过 basement.file 对象调用文件存储的大量 API 方法。比如:我们将小程序客户端中选中的图片进行上传,获得图片 URL。


// 选择并上传图片,获得图片 URLattach() {  my.chooseImage({    chooseImage: 1,    success: res => {      const path = res.apFilePaths[0];      const options = {        filePath: path,        headers: {          contentDisposition: 'attachment',        },      };
basement.file.uploadFile(options).then((image) => { console.log(image); this.setData({ imageUrl: image.fileUrl, }); }).catch(console.log); }, });},
复制代码


云函数可直接调用(不需要安装 SDK)同一个云服务的文件存储服务。下面是一个云函数调用的例子,将上述客户端中上传的图片删除掉。


module.exports = async (ctx) => {  // ctx.args 是从客户端传过来的参数  const res = await ctx.basement.file.deleteFile({ fileUrl: ctx.args.fileUrl });  return res;};
复制代码


为了让大家能够近距离体验到 Basement,在 9.19-9.21 云栖大会 ATEC 展馆里举办了小程序云+端挑战赛,以及集训营,在这可以近距离接触到 Basement 后端云开发团队。因极简的开发模式,昨天现场一位 11 岁小朋友,都轻松上手,赢得比赛鼓励奖:)


无法到现场的同学,我们还提供了在线示例(请复制链接至浏览器打开):


https://tech.antfin.com/codelabs/eouxrp


目前 Basement 尚在公测期,采用邀请制,有兴趣可以点击阅读原文申请公测资格哦。


本文转载自公众号蚂蚁金服科技(ID:Ant-Techfin)。


原文链接:


https://mp.weixin.qq.com/s/38LVVC6xtXroVLTcIfbSHQ


2019-09-01 21:542281
用户头像

发布了 150 篇内容, 共 39.8 次阅读, 收获喜欢 38 次。

关注

评论

发布
暂无评论
发现更多内容

算法题每日一练---第12天:算式900

知心宝贝

程序员 算法 前端 后端 7月月更

Qt | 信号和槽的一些总结

YOLO.

qt 7月月更

Linux操作系统下Docker的完整部署过程

Java永远的神

Docker 程序员 架构 程序人生 云原生

定了!就在7月30日!

腾源会

开源

精品方案|海泰方圆全栈式数据安全治理方案 为数据设一把“安全锁”

电子信息发烧客

新闻速递 | MobTech袤博科技参与中国信通院“绿色SDK产业生态共建行动”

MobTech袤博科技

数据安全 sdk

什么样的知识付费系统功能,更有利于平台与讲师发展?

CRMEB

OpenAtom OpenHarmony分论坛圆满举办,生态与产业发展迈向新征程

OpenHarmony开发者

OpenHarmony

C# 之 方法参数传递机制

陈言必行

7月月更

语音聊天app——如何规范开发流程?

开源直播系统源码

软件开发 直播系统源码 语音聊天系统

什么是WordPress

hum建应用专家

Wordpress 博客部署 WordPress

备战金九银十,Java研发面试题整理PDF,走到哪刷

程序知音

Java 程序员 java面试 后端技术 八股文

谈谈基于JS实现阻止别人调试通过控制台调试网站的问题

南极一块修炼千年的大冰块

7月月更

本地化、低时延、绿色低碳:阿里云正式启用福州数据中心

阿里云弹性计算

公有云 本地Region

18张图,直观理解神经网络、流形和拓扑

OneFlow

神经网络 深度学习

数字经济时代的开源数据库创新 | 2022 开放原子全球开源峰会数据库分论坛圆满召开

kk-OSC

开放原子全球开源峰会

C# 窗体应用使用对象绑定 DataGridView 数据绑定

IC00

C# 7月月更

疫情期间佩戴口罩检测之训练检测口罩模型算法实现口罩检测步骤以及报错解决

南蓬幽

Python AI OpenCV 7月月更

分布式定时器

腾讯企点技术团队

redis 分布式 定时器

巧用ngx_lua做流量分组

转转技术团队

nginx

开源汇智创未来 | 2022 开放原子全球开源峰会 OpenAtom openEuler 分论坛圆满召开

kk-OSC

开放原子全球开源峰会

聚变云原生,赋能新里程 | 2022 开放原子全球开源峰会云原生分论坛圆满召开

kk-OSC

产学研用 共建开源人才生态 | 2022 开放原子全球开源峰会教育分论坛圆满召开

kk-OSC

开放原子全球开源峰会

API 网关 APISIX 在Google Cloud T2A 和 T2D 的性能测试

API7.ai 技术团队

网关 API Gateway 谷歌云 网关性能测试

开源社区三十年 | 2022 开放原子全球开源峰会开源社区三十年专题活动圆满召开

kk-OSC

开放原子全球开源峰会

《我的Vivado实战—单周期CPU指令分析》

攻城狮杰森

cpu 计算机组成原理 7月月更 vivado 计算机科学与技术

苹果手机iCloud钥匙串的加密缺陷

神锁离线版

apple 密码管理 密码技术 icloud keychain

JAVA编程规范之应用分层

源字节1号

软件开发 前端开发 后端开发 小程序开发

不用Swagger,那我用啥?

江南一点雨

行业落地呈现新进展 | 2022 开放原子全球开源峰会 OpenAtom OpenHarmony 分论坛圆满召开

kk-OSC

开放原子全球开源峰会

论治理与创新 | 2022 开放原子全球开源峰会 OpenAnolis 分论坛圆满召开

kk-OSC

开放原子全球开源峰会

Basement 后端云服务正式亮相云栖大会_服务革新_Geek_cb7643_InfoQ精选文章