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

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

小蚂蚁说:

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

3db302a745e4b3107072a931bc50d9bda13ee041

Serverless 与前端

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

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

使用 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 拥有下面这些特色能力,尤其在云函数里可直接调用支付宝开放平台接口,非常方便。

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 尚在公测期,采用邀请制,有兴趣可以打开下方链接申请公测资格哦:

http://render.46mlsv.com/p/f/fd-jmadfkyf/pages/home/index.html

— END —

蚂蚁金服官方唯一对外技术传播渠道

投稿邮箱:anttechpr@service.alipay.com

欢迎留言及个人转发,媒体转载请联系授权

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101387.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【STM32】NVIC中断优先级管理(中断向量表)

    【STM32】NVIC中断优先级管理(中断向量表)STM32F1xx官方资料:《STM32中文参考手册V10》-第9章中断和事件Cortex-M3内核支持256个中断,其中包含了16个内核中断(异常)和240个外部中断,并且具有256级的可编程中断设置。但是,STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。STM32有84个中断,包括16个内核中断(异常)和68个可屏蔽中断,具有16级可编程的中断优先级。而STM32F10…

    2022年5月28日
    287
  • 易中天 品三国

    易中天 品三国(一)大江东去观众朋友们大家好,从今天开始我们讲三国。说起三国,我们就会想起著名的赤壁之战,而说起赤壁之战,我们就会想起苏东坡那首著名的《赤壁怀古》——  “大江东去,浪淘尽,千古风流人物。故垒西边,人道是,三国周郎赤壁。乱石崩云,惊涛裂岸,卷起千堆雪。江山如画,一时多少豪杰。  遥想公瑾当年,小乔初嫁了,雄姿英发。羽扇纶巾,谈笑间,墙橹灰飞烟灭。故国神游,多情应笑我,早生华发。

    2022年6月9日
    45
  • html浮雕效果代码_css内嵌式代码

    html浮雕效果代码_css内嵌式代码前言最近在看百度地图看到了一个效果,感觉这个效果用在网页上应该蛮赞的,于是就学习了一下。效果图如下:浮雕效果需要用到伸缩盒的知识(flex)flex在chrome是完全支持的,要加-webkit-前缀,其他的浏览器有的支持有的不支持,自己去查css手册,今天主要想讲一下怎么制作出浮雕效果先附上代码:<divclass=”title”>&…

    2025年9月13日
    5
  • layui弹出层html页面,layui弹出层

    layui弹出层html页面,layui弹出层利用layui框架layer部分执行的弹出层,这样比起普通alert的弹出层更美观首先,写一个按钮点击试试js部分$(document).ready(function(){$(‘.btn’).on(‘click’,function(){layer.confirm(‘你好吗?’,{btn:[‘好’,’不好’]},function(){layer.msg(‘hao’,{ico…

    2022年6月14日
    50
  • 指纹识别模组厂家_指纹识别模块原理

    指纹识别模组厂家_指纹识别模块原理不管指纹识别的流程和传感器原理发展得有多快,如果需要商用到手机及终端设备这种民用产品上,还是有好多问题需要克服。比如我们会看到指纹模块在正面,在背面,在侧面,其原因都是sensor性能、模组结构设计、手机ID设计以及量产工艺的限制多重因素辅助、妥协形成的。一、模组位置正面毋庸置疑,代表作当然是iPhone。其实指纹识别应用在手机上并不是APPLE首次尝的禁果,HTC、Sharp、Samsung都有过

    2022年8月10日
    9
  • Spring Boot面试题(2020最新版)

    Spring Boot面试题(2020最新版)文章目录概述什么是SpringBoot?SpringBoot有哪些优点?SpringBoot的核心注解是哪个?它主要由哪几个注解组成的?配置什么是JavaConfig?SpringBoot自动配置原理是什么?你如何理解SpringBoot配置加载顺序?什么是YAML?YAML配置的优势在哪里?SpringBoot是否可以使用XML配置?springboot…

    2022年5月2日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号