前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >华哥有约第二期:云开发“三大件”&环境共享

华哥有约第二期:云开发“三大件”&环境共享

原创
作者头像
腾讯云开发TCB
修改2021-08-31 15:37:35
6770
修改2021-08-31 15:37:35
举报
文章被收录于专栏:云开发

栏目介绍

「华哥有约」是云开发Cloud Base官方出品的问答专栏,将由社区产品经理“华哥”分主题从不同维度解答云开发的热门门问题、剖析常见误区,帮助开发者更高效地使用云开发。

Q:云函数时区问题,怎么解决?

华哥:云函数中的时区为 UTC+0,不是UTC+8,可以通过语言的时间处理相关库或代码包(如 moment-timezone),识别 UTC 时间并转换为+8 区北京时间。

Q:云函数费用是按设置内存还是实际运行使用的内存计费?

华哥:云函数费用是按照函数配置内存和计费时长来计算费用的。

资源使用量 = 函数配置内存 X 运行计费时长。用户资源使用量,是由函数配置内存,乘以函数运行时的计费时长得出,其中配置内存转换为 GB 单位,计费时长由毫秒(ms)转换为秒(s)单位,因此,资源使用量的计算单位为 GBs(GB-秒)。计费时长最小粒度为100ms,不足100ms向上取整。例如,配置为 256MB 的函数,单次运行了 1760 ms,计费时长为 1800 ms,则单次运行的资源使用量为 (256/1024)*(1800/1000) = 0.45 GBs。针对函数的每次运行,均会计算资源使用量,并按月汇总求和,作为当月的资源使用量。

Q:跨账号环境共享,调用方(小程序B)上传文件资源至共享方(小程序A)且能正常调用资源?

华哥:使用 new wx.cloud.Cloud 新建实例使用,再调用实例的 uploadFile 接口,上传资源成功后,另,B 目前无法通过 fileID 访问 A 的资源,可先使用 getTempFileURL 换临时链接的方式实现。

Q:跨账号环境共享,调用方无法在云文件目录右键选择环境且不可上传云函数?

华哥:目前共享的环境,不能在 cloudfunctions 上右键选择,另,因云函数权限很大,共享环境需要在资源方创建上传云函数,即创建空白函数可以在控制台进行,但是上传代码需要资源方在IDE上传。

Q:获取数据库集合数据Collection.get成功,但是返回空值?

华哥:读写数据库受权限控制限制,数据库数据权限默认是“仅创建者可读写”,如果业务需要所有用户可读,需开发者自行设置数据库数据权限为 “所有用户可读,仅创建者可读写” 。

Q:数据库无读写,为什么控制台资源使用情况会有数据库操作次数?

华哥:控制台对数据库菜单的操作,也会产生读次数。

Q:数据库可以创建多少个集合?单个集合大小限制?

华哥:预付费模式下,数据库集合个数取决于当前环境的配额方案,按量付费模式下可以创建800个集合;单个文档大小限制是16MB,但是不建议达到上限,最优解是越小越好,可拆分表格,有助于提升查询效率。

Q:数据库查询数据 limit 的使用?

华哥:limit 在小程序端默认及最大上限为 20,在云函数端默认及最大上限为  1000,取更多数据建议结合skip分页分批次获取。

代码语言:javascript
复制
const params = {  // 从集合 data 中随便选点全部 _id:db.command.neq(null)

}

const MAX_LIMIT = 100;

const total = (await db.collection('data').where(params).count()).total;

const batchTimes = Math.ceil(total / MAX_LIMIT)

const tasks = [] for (let i = 0; i < batchTimes; i++) { tasks.push(db.collection('data').where(params).skip(i * MAX_LIMIT).limit(MAX_LIMIT).get())

}

const data = []

if (tasks.length != 0) {

(await Promise.all(tasks)).map(item => {data = data.concat(item.data||[]) })

}

return data

Q:云开发数据库同时连接数是多少?

华哥:预付费模式下,数据库同时连接数取决于当前环境的配额方案,按量付费模式下,数据库的同时连接数是1000。

数据库同时连接数 :数据库请求并发数量,如同时有三十个数据库操作请求,则有二十个会同时执行,剩下十个返回超出并发错误;一次数据库请求(无论小程序端发起还是云函数端发起)将耗费一个连接;每个云环境分别有一个同时连接数限制、独立计数。假如数据库查询平均耗时 10ms,那么一个连接可以支持 100qps(1000ms/10ms=100),20个连接可以支持到 2000qps。

Q:如何下载云存储的文件夹?

可以直接使用 SDK 的 downloadDirectory 接口下载文件夹或者使用 CLI工具进行下载。

Q:存储缓存的配置规则?

华哥:存储配置设置了多条缓存策略时,相互之间会有重复,配置项列表底部的优先级会高于顶部优先级。

华哥有礼

你还想看云开发的哪些问题合集?在评论区告诉我们!9月3日中午12:00,抽取2名幸运用户赠送精美礼品一份!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 栏目介绍
  • 华哥有礼
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档