## 概述 选择阿里云作为服务商时,服务空间资源完全免费,每个账号最多允许创建50个服务空间。**阿里云目前处于公测阶段,如有正式业务对稳定性有较高要求建议使用腾讯云。** 选择腾讯云作为服务商时,可以创建一个免费的服务空间,资源详情参考[腾讯云免费额度](uniCloud/price?id=price-free);如想提升免费空间资源配额,或创建更多服务空间,则需付费购买。 付费用户享受腾讯云提供的服务协议SLA,[详见](https://uniapp.dcloud.net.cn/uniCloud/agreement) uniCloud的腾讯云版的定价、套餐内容、服务SLA,是由腾讯公司直接公布的。DCloud公司不会加价,包括开发者通过DCloud充值也会直接充到开发者在腾讯云建立的子账户下。DCloud只从腾讯云等云厂商获取返佣,也不会在未来加价收割开发者。 uniCloud提供包月、按量计费两种计费方式(仅腾讯云),具体说明如下: |计费方式 |付费方式 |计费单位 | |:-: |:-: |:-: | |包月 |预付费 |参考 [腾讯云包月套餐](uniCloud/price?id=price-month) | |按量计费 |结算时冻结费用,每日结算 |参考 [腾讯云按量计费](uniCloud/price?id=price-info)| ## 阿里云@aliyun 阿里云的服务空间是纯免费的。但为避免资源滥用,有一些限制,见下。 |资源类目 |限制 |说明 | |:-: |:-: |:-: | |云函数并发限制 |1000个实例/服务空间|实际普通项目很难达到这个并发数,阿里云可以设置单实例多并发单实例最多100,理论最大并发量1000*100=100000 (10万),关于单实例多并发请参考:[单实例多并发](uniCloud/cf-functions.md?id=concurrency) | |每个服务空间的云函数数量 |48个 |实际项目中由于clientDB和单路由云函数,只会用到几个云函数,达不到限制数字。[详见](https://uniapp.dcloud.net.cn/uniCloud/faq?id=merge-functions) | |云函数定时触发最小间隔 |1小时 |- | |云存储容量 |10GB |- | |云数据库容量 |100GB |- | |单次数据库执行时长限制 |1秒 |**不可申请调整** | 尤其注意阿里云的cdn确实是全免费的,这些免费资源可用于正常公司业务,阿里云不允许开发者使用这些免费的存储及CDN资源来开展图床类业务。 除上面的描述外,阿里云没有其他限制。 因为阿里云免费向DCloud提供了硬件资源,所以DCloud也没有向开发者收费。如果阿里云后续明确了收费计划,DCloud也会第一时间公布在这里。 如有超大型应用突破阿里云资源限制,请发邮件到service@dcloud.io请求协助,可以特批扩大资源。 申请邮件内需要提供以下信息 ``` 公司信息 // 个人用户无须此项 负责人 联系电话 公司介绍 // 个人用户无须此项 业务场景 // 与申请资源相关的业务场景,包括应用名称及发布平台 用户规模 申请spaceId 申请资源 // 要具体到申请资源量,例如:云存储要写明申请多大、定时触发要写明申请的触发频率 申请日期 ``` ## 腾讯云@tencent **使用腾讯云Nodejs12版本时,务必仔细阅读此文档:[keepRunningAfterReturn](uniCloud/cf-function.md?id=keep-running)** ### 腾讯云系统限制@tcb-system-limit |类别 |系统参数 |限制说明 | |:-:|:-:|:-:| |数据库 |数据库流量单次出包 |16M | | |单集合索引数量 |20个 | |云存储 |单个环境 QPS |30,000QPS | | |上传对象大小 |1. 控制台上传单个对象最大512GB,2. SDK 上传单个对象最大48.82TB (50,000 GB) | | |批量删除对象数量上限(通过 SDK 发起) |50个 | | |单次获取文件临时链接数量上限 |50个 | |云函数 |单个云函数并发执行数量 |1,000 | | |单个函数的代码体积(含node_modules和公共模块) |50MB | | |单个函数的环境变量大小 |4KB | | |内存分配 |最小128MB ,最大2,048MB | | |超时时间 |最小1秒,最大60秒 | | |同步请求事件大小 |6MB | | |同步请求响应大小 |6MB | | |固定外网 IP 数量 |5个 | | |云函数实例扩容速度 |500个/分钟 | ### 腾讯云免费空间的额度@price-free 腾讯云针对每个账号提供了一个有免费额度的服务空间,以方便产品开发测试及体验。具体额度请阅读下方[腾讯云付费版包月套餐](uniCloud/price.md?id=price-month)中的免费版。 **免费额度注意事项:** - 腾讯云的免费空间是以账号为维度的,若有多个服务空间,则仅有一个空间可享受免费额度。 - 如果已创建免费版的服务空间,则其他服务空间,均无法再享受免费额度。 - 免费版服务空间付费升级为更高档的包月套餐时,系统会将该空间设置为到期自动降配免费空间(关于自动降配请阅读下面的注意事项),故此时免费额度依然被占用中,其他服务空间亦无法再享受免费额度 - 按量计费服务空间在开通时可以选择指定是否占用免费额度(如果当前账号还有免费额度的话),如果选择占用免费额度,则不可再创建包月模式的免费服务空间。 - 非免费包月套餐到期之后如果不进行续费会在一周后销毁 **自动降配注意事项:** - 自动降配会在到期之后的24小时后开始执行 - 被设置自动降配的服务空间到期之后,会尝试自动降配,但并不能保证一定可以成功,如果你的资源超出了免费版的额度则无法降配。切勿过度依赖此行为 - 特别要注意的一点是:自动降配为免费版之后,配置的云函数固定出口IP将会失效 - 腾讯云资源用量统计有延迟,请密切关注自己的业务用量,企业用户推荐直接改用按量计费 ### 腾讯云包月套餐@price-month 包月套餐是指每个月的支付固定价格,购买一定量的服务器资源。 如果资源超限,则相应资源不可使用。需立即升配套餐。 包月套餐支持升配、降配。以满足资源用量上升或下降的价格调整需求。具体操作见[web控制台](https://unicloud.dcloud.net.cn)的购买套餐界面。 **腾讯云资源计费周期和服务空间创建日期有关,具体周期可以在web控制台资源概况处查看。** > 注意:腾讯云在 2021年1月21日进行了业务调整,下线了基础版1套餐(原免费版),同步上线了新的免费版和特惠基础版1,满足不同场景下的用户需求,免费版套餐适用于产品测试及产品体验场景。 > 本次调整不会影响现已开通基础版1套餐(原免费版)的服务空间,但新开通的免费服务空间、付费套餐自动降配到的免费服务空间均会使用新免费版的资源额度。 >自2021年3月12日后,在按量计费环境内,如果当日有资源使用,且产生的计费金额不足0.01元,将补齐按照0.01元收取。 > >针对享有免费额度的按量计费环境: >- 如果该环境用量未超出免费额度,该环境仍为免费环境。 >- 如果该环境用量已经超出免费额度,且超量资源产生的计费金额不足0.01元,将补齐按照0.01元收取。 **腾讯云单次数据库执行时长限制为5秒,超出5秒会超时** |资源分类 |资源细项 |基础版1(已下线)|免费版 |特惠基础版 |基础版2 |专业版1 |专业版2 |旗舰版1 | |:-: |:-: |:-: |:-: |:-: |:-: |:-: |:-: |:-: | |云存储 |容量 |5GB |5GB |8GB |10GB |50GB |100GB |500GB | | |下载操作次数 |150万/月 |2000/月 |10万/月 |200万/月 |750万/月 |1500万/月 |3750万/月 | | |上传操作次数 |60万/月 |1000/月 |5万/月 |100万/月 |300万/月 |600万/月 |1500万/月 | | |CDN 回源流量 |5GB/月 |1GB/月 |2GB/月 |10GB/月 |50GB/月 |150GB/月 |500GB/月 | |CDN |CDN 流量 |5GB/月 |1GB/月 |2GB/月 |25GB/月 |50GB/月 |150GB/月 |500GB/月 | |云函数 |资源使用量 GBs |4万/月 |1000/月 |1万/月 |20万/月 |40万/月 |150万/月 |400万/月 | | |外网出流量 |1GB/月 |1GB/月 |1GB/月 |3GB/月 |5GB/月 |10GB/月 |25GB/月 | | |云函数并发限制 |1000个/云函数 |1000个/云函数|1000个/云函数|1000个/云函数|1000个/云函数|1000个/云函数|1000个/云函数| | |函数数量限制 |49个 |9个 |49个 |79个 |99个 |99个 |149个 | | |云函数url化数量限制|10个 |10个 |10个 |50个 |90个 |100个 |120个 | | |固定外网 IP |× |× |√ |√ |√ |√ |√ | |数据库 |容量 |2GB |2GB |2GB |3GB |5GB |10GB |10GB | | |同时连接数 |20个 |5个 |20个 |50个 |100 |200个 |400个 | | |读操作数 |5万/天 |500/天 |5万/天 |25万/天 |50万/天 |150万/天 |500万/天 | | |写操作数 |3万/天 |300/天 |3万/天 |15万/天 |30万/天 |100万/天 |300万/天 | | |集合数量限制 |100个 |15个 |50个 |150个 |200个 |300个 |400个 | | |备份保留天数 |7天 |7天 |14天 |14天 |14天 |14天 |14天 | |售价(元/月)|- |免费 |免费 |6.9 |30 |104 |390 |860 | 腾讯云完整套餐列表请参考:[腾讯云完整套餐列表](uniCloud/price.md?id=allpkg) 除了资源配量不同外,注意只有付费版才有 固定外网IP。如需在微信网页里调用js sdk,需要配置固定外网ip。 **部分指标说明** - **云函数资源使用量:**云函数资源用量最小计费粒度为128MB*100ms,即内存使用为设定的云函数运行内存(默认256MB,最小可设置为128MB),运行时间以100ms为阶梯计算 - **云函数并发限制:**超出云函数并发限制的请求会直接失败 - **函数数量限制:**实际项目中由于clientDB和单路由云函数,只会用到几个云函数,达不到限制数字。[详见](https://uniapp.dcloud.net.cn/uniCloud/faq?id=merge-functions) - **数据库读写次数:**修改或读取条数为0时也计算一次读写,即只要调用接口就计算一次。 ### 腾讯云按量计费@price-info 按量计费,意味着不是每个月支付固定套餐,而是根据使用量付费。 按量付费需要预存一定金额,每日根据前一日资源消耗生成账单,从预存金额中扣除。 如果预存金额不足,则服务空间将不可用,需要立即充值。 按量付费目前仅企业认证用户可以开通,个人用户无法购买。 腾讯云按量计费服务空间定价如下: |资源分类 |资源细项 |售价(元) | |:-: |:-: |:-: | |云存储 |容量(GB/天) |0.0043 | | |下载操作次数(万次) |0.01 | | |上传操作次数(万次) |0.01 | | |CDN 回源流量(GB) |0.15 | |CDN |CDN 流量(GB) |0.18 | |云函数 |资源使用量(GBs) |0.00011108 | | |外网出流量(GB) |0.8 | | |函数数量限制 149个 | | | |支持固定外网 IP | | | |云函数url化数量限制 150个| | |数据库 |容量(GB/天) |0.07 | | |读操作数(万次) |0.015 | | |写操作数(万次) |0.05 | | |同时连接数1000个 | | | |集合数量限制800个 | | | |备份保留天数14天 | | | |支持指定回档时间 | | |前端网站托管 |容量(GB/天) |0.0043 | | |流量(GB) |0.21 | **注意** - 如果之前没有开通免费版腾讯云服务空间,则新开通的一个按量付费服务空间可以选择是否占用免费资源。如果选择了占用免费资源将无法创建预付费免费版。 - 按量计费服务空间开通时会自动开通前端网页托管,如果按量付费服务空间拥有免费额度,会默认赠送一个月前端网站托管(容量1GB、流量5GB),一个月之后会正常按量收费。 - 按量计费服务空间删除有次数限制,每个月最多删除一次,每个账号一共可以删除4次,删除之前需要关闭前端网页托管服务并删除所有云端资源(包括云函数、数据库、云存储) - 按量计费是延迟结算,可能存在余额超支的情况,故创建按量付费服务空间时,需支付一定的保证金,用以抵消超支结算的情况。如果您不再申请使用uniCloud服务,可以申请退还保证金(目前需要发送邮件到service@dcloud.io)。 **关于云函数1000并发的说明** 以云函数运行(计费时间)200ms为例,1000并发的云函数,每秒处理1000*(1/0.2) = 5000次请求,即QPS为5000 ### 完整套餐列表@allpkg #### 免费版 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |5GB | |云存储下载次数限制 |2000次/月 | |云存储上传次数限制 |1000次/月 | |云存储CDN回源流量 |1GB/月 | |云存储CDN流量 |1GB/月 | |云函数资源用量 |1GB/月 | |云函数外网出流量 |1GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |9个 | |云函数支持固定出口IP |× | |云函数url化数量限制 |10个 | |数据库容量 |2GB | |数据库同时连接数 |5个 | |数据库读操作数 |500次/天 | |数据库写操作数 |300次/天 | |数据库集合数量限制 |15个 | |备份保留天数 |7天 | #### 特惠基础版 1 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |8GB | |云存储下载次数限制 |10万次/月 | |云存储上传次数限制 |5万次/月 | |云存储CDN回源流量 |2GB/月 | |云存储CDN流量 |2GB/月 | |云函数资源用量 |2GB/月 | |云函数外网出流量 |1GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |49个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |10个 | |数据库容量 |2GB | |数据库同时连接数 |20个 | |数据库读操作数 |5万次/天 | |数据库写操作数 |3万次/天 | |数据库集合数量限制 |50个 | |备份保留天数 |14天 | #### 基础版 2 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |10GB | |云存储下载次数限制 |200万次/月 | |云存储上传次数限制 |100万次/月 | |云存储CDN回源流量 |10GB/月 | |云存储CDN流量 |25GB/月 | |云函数资源用量 |25GB/月 | |云函数外网出流量 |3GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |79个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |50个 | |数据库容量 |3GB | |数据库同时连接数 |50个 | |数据库读操作数 |25万次/天 | |数据库写操作数 |15万次/天 | |数据库集合数量限制 |150个 | |备份保留天数 |14天 | #### 数据库版 1 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |5GB | |云存储下载次数限制 |150万次/月 | |云存储上传次数限制 |60万次/月 | |云存储CDN回源流量 |5GB/月 | |云存储CDN流量 |5GB/月 | |云函数资源用量 |5GB/月 | |云函数外网出流量 |3GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |50个 | |数据库容量 |5GB | |数据库同时连接数 |100个 | |数据库读操作数 |50万次/天 | |数据库写操作数 |30万次/天 | |数据库集合数量限制 |200个 | |备份保留天数 |14天 | #### 云函数版 1 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |5GB | |云存储下载次数限制 |150万次/月 | |云存储上传次数限制 |60万次/月 | |云存储CDN回源流量 |5GB/月 | |云存储CDN流量 |5GB/月 | |云函数资源用量 |5GB/月 | |云函数外网出流量 |5GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |50个 | |数据库容量 |3GB | |数据库同时连接数 |50个 | |数据库读操作数 |25万次/天 | |数据库写操作数 |15万次/天 | |数据库集合数量限制 |150个 | |备份保留天数 |14天 | #### 专业版 1 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |50GB | |云存储下载次数限制 |750万次/月 | |云存储上传次数限制 |300万次/月 | |云存储CDN回源流量 |50GB/月 | |云存储CDN流量 |50GB/月 | |云函数资源用量 |50GB/月 | |云函数外网出流量 |5GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |90个 | |数据库容量 |5GB | |数据库同时连接数 |100个 | |数据库读操作数 |50万次/天 | |数据库写操作数 |30万次/天 | |数据库集合数量限制 |200个 | |备份保留天数 |14天 | #### CDN版 1 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |50GB | |云存储下载次数限制 |750万次/月 | |云存储上传次数限制 |300万次/月 | |云存储CDN回源流量 |50GB/月 | |云存储CDN流量 |500GB/月 | |云函数资源用量 |500GB/月 | |云函数外网出流量 |3GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |90个 | |数据库容量 |3GB | |数据库同时连接数 |50个 | |数据库读操作数 |25万次/天 | |数据库写操作数 |15万次/天 | |数据库集合数量限制 |150个 | |备份保留天数 |14天 | #### 专业版 2 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |100GB | |云存储下载次数限制 |1500万次/月| |云存储上传次数限制 |600万次/月 | |云存储CDN回源流量 |150GB/月 | |云存储CDN流量 |150GB/月 | |云函数资源用量 |150GB/月 | |云函数外网出流量 |10GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |100个 | |数据库容量 |10GB | |数据库同时连接数 |200个 | |数据库读操作数 |150万次/天 | |数据库写操作数 |100万次/天 | |数据库集合数量限制 |300个 | |备份保留天数 |14天 | #### 云函数版 2 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |10GB | |云存储下载次数限制 |200万次/月 | |云存储上传次数限制 |100万次/月 | |云存储CDN回源流量 |10GB/月 | |云存储CDN流量 |25GB/月 | |云函数资源用量 |25GB/月 | |云函数外网出流量 |25GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |70个 | |数据库容量 |10GB | |数据库同时连接数 |200个 | |数据库读操作数 |150万次/天 | |数据库写操作数 |100万次/天 | |数据库集合数量限制 |300个 | |备份保留天数 |14天 | #### 数据库版 2 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |10GB | |云存储下载次数限制 |200万次/月 | |云存储上传次数限制 |100万次/月 | |云存储CDN回源流量 |10GB/月 | |云存储CDN流量 |25GB/月 | |云函数资源用量 |25GB/月 | |云函数外网出流量 |10GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |70个 | |数据库容量 |50GB | |数据库同时连接数 |400个 | |数据库读操作数 |500万次/天 | |数据库写操作数 |300万次/天 | |数据库集合数量限制 |400个 | |备份保留天数 |14天 | #### 专业版 3 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |300GB | |云存储下载次数限制 |2500万次/月| |云存储上传次数限制 |1000万次/月| |云存储CDN回源流量 |300GB/月 | |云存储CDN流量 |300GB/月 | |云函数资源用量 |300GB/月 | |云函数外网出流量 |20GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |110个 | |数据库容量 |20GB | |数据库同时连接数 |300个 | |数据库读操作数 |300万次/天 | |数据库写操作数 |200万次/天 | |数据库集合数量限制 |400个 | |备份保留天数 |14天 | #### CDN版 2 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |100GB | |云存储下载次数限制 |1500万次/月| |云存储上传次数限制 |600万次/月 | |云存储CDN回源流量 |150GB/月 | |云存储CDN流量 |3072GB/月 | |云函数资源用量 |3072GB/月 | |云函数外网出流量 |5GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |100个 | |数据库容量 |5GB | |数据库同时连接数 |100个 | |数据库读操作数 |50万次/天 | |数据库写操作数 |30万次/天 | |数据库集合数量限制 |200个 | |备份保留天数 |14天 | #### 旗舰版 1 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |500GB | |云存储下载次数限制 |3750万次/月| |云存储上传次数限制 |1500万次/月| |云存储CDN回源流量 |500GB/月 | |云存储CDN流量 |500GB/月 | |云函数资源用量 |500GB/月 | |云函数外网出流量 |25GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |149个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |50个 | |数据库容量 |10GB | |数据库同时连接数 |400个 | |数据库读操作数 |500万次/天 | |数据库写操作数 |300万次/天 | |数据库集合数量限制 |400个 | |备份保留天数 |14天 | #### 云函数版 3 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |50GB | |云存储下载次数限制 |750万次/月 | |云存储上传次数限制 |300万次/月 | |云存储CDN回源流量 |50GB/月 | |云存储CDN流量 |150GB/月 | |云函数资源用量 |150GB/月 | |云函数外网出流量 |100GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |90个 | |数据库容量 |20GB | |数据库同时连接数 |300个 | |数据库读操作数 |300万次/天 | |数据库写操作数 |200万次/天 | |数据库集合数量限制 |400个 | |备份保留天数 |14天 | #### 数据库版 3 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |50GB | |云存储下载次数限制 |750万次/月 | |云存储上传次数限制 |300万次/月 | |云存储CDN回源流量 |50GB/月 | |云存储CDN流量 |50GB/月 | |云函数资源用量 |50GB/月 | |云函数外网出流量 |25GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |90个 | |数据库容量 |200GB | |数据库同时连接数 |500个 | |数据库读操作数 |5000万次/天| |数据库写操作数 |3000万次/天| |数据库集合数量限制 |800个 | |备份保留天数 |14天 | #### CDN版 3 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |500GB | |云存储下载次数限制 |3750万次/月| |云存储上传次数限制 |1500万次/月| |云存储CDN回源流量 |500GB/月 | |云存储CDN流量 |10240GB/月 | |云函数资源用量 |10240GB/月 | |云函数外网出流量 |10GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |99个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |110个 | |数据库容量 |10GB | |数据库同时连接数 |200个 | |数据库读操作数 |150万次/天 | |数据库写操作数 |100万次/天 | |数据库集合数量限制 |300个 | |备份保留天数 |14天 | #### 旗舰版 2 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |700GB | |云存储下载次数限制 |4500万次/月| |云存储上传次数限制 |2000万次/月| |云存储CDN回源流量 |600GB/月 | |云存储CDN流量 |1000GB/月 | |云函数资源用量 |1000GB/月 | |云函数外网出流量 |100GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |149个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |130个 | |数据库容量 |50GB | |数据库同时连接数 |500个 | |数据库读操作数 |1000万次/天| |数据库写操作数 |500万次/天 | |数据库集合数量限制 |500个 | |备份保留天数 |14天 | #### 旗舰版 3 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |1000GB | |云存储下载次数限制 |5000万次/月| |云存储上传次数限制 |2500万次/月| |云存储CDN回源流量 |800GB/月 | |云存储CDN流量 |2000GB/月 | |云函数资源用量 |2000GB/月 | |云函数外网出流量 |200GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |149个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |110个 | |数据库容量 |100GB | |数据库同时连接数 |500个 | |数据库读操作数 |2000万次/天| |数据库写操作数 |1000万次/天| |数据库集合数量限制 |600个 | |备份保留天数 |14天 | #### 企业版 1 |资源项 |使用限制 | |:-: |:-: | |云存储容量 |1300GB | |云存储下载次数限制 |6000万次/月| |云存储上传次数限制 |3000万次/月| |云存储CDN回源流量 |1000GB/月 | |云存储CDN流量 |4000GB/月 | |云函数资源用量 |4000GB/月 | |云函数外网出流量 |400GB/月 | |云函数并发限制 |1000/云函数| |云函数数量限制 |199个 | |云函数支持固定出口IP |√ | |云函数url化数量限制 |900个 | |数据库容量 |200GB | |数据库同时连接数 |500个 | |数据库读操作数 |5000万次/天| |数据库写操作数 |3000万次/天| |数据库集合数量限制 |800个 | |备份保留天数 |14天 | ## 发生故障时如何判断故障点 当你的线上系统故障时,可以参考此文档判断责任归属:[如何判断是DCloud或阿里云或腾讯云的问题](https://uniapp.dcloud.io/uniCloud/faq?id=fault) ## 云厂商之间的迁移@cross-provider ### 数据库迁移@cross-provider-db 目前可以使用云数据库的导入导出进行迁移,迁移数据库之前可以使用导出db_init.json功能将所有集合及索引导出。再使用数据导入导出功能进行迁移。导入导出请参考:[数据导入导出和备份](uniCloud/hellodb.md?id=dbmigration) > 也可以直接使用第三方封装好的插件:[unicloud数据库一键搬家工具,支持阿里云与腾讯云互转。支持跨账号转。](https://ext.dcloud.net.cn/plugin?id=6089) #### 腾讯云迁移到阿里云@tencent-to-aliyun-db 迁移数据可以通过在腾讯云服务空间导出数据表为json文件,在阿里云服务空间导入json文件到表的方式进行迁移。 #### 阿里云迁移到腾讯云@aliyun-to-tencent-db 由于此前腾讯云并未完全支持ObjectId类型的数据,在阿里云迁移到腾讯云时需要注意处理一下`ObjectId`类型的数据,包括自动生成的_id字段以及关联到其他表的_id的字段。简单来说就是将导出的数据内的ObjectId类型的数据处理成字符串且不满足ObjectId的格式。 例: ```js // 原始数据 {"_id":{"$oid":"60fa6d25cd84d60001ec38a2"},"uid":{"$oid":"60fa6d1d2e5faa0001ade857"}} // 调整后的数据 {"_id":"60fa6d25cd84d60001ec38a2a","uid":"60fa6d1d2e5faa0001ade857a"} // 在结尾追加了一个“a”使其不满足ObjectId格式 ``` 以下为一个简单的脚本示例用于处理导出的json文件 如果将此文件存储为`parse.js`,使用`node parse.js 输入文件相对或绝对路径 输出文件相对或绝对路径`即可处理导出的json文件 ```js const fs = require('fs') const path = require('path') const readline = require('readline') const cwd = process.cwd() const inputPath = path.resolve(cwd, process.argv[2]) const outputPath = path.resolve(cwd, process.argv[3]) if (fs.existsSync(outputPath)) { throw new Error(`输出路径(${outputPath})已存在`) } function getType(val) { return Object.prototype.toString.call(val).slice(8, -1).toLowerCase() } function parseRecord(obj) { const type = getType(obj) switch (type) { case 'object': if (obj.$oid) { return obj.$oid + 'a' } const keys = Object.keys(obj) for (let i = 0; i < keys.length; i++) { const key = keys[i]; obj[key] = parseRecord(obj[key]) } return obj case 'array': for (let i = 0; i < obj.length; i++) { obj[i] = parseRecord(obj[i]) } return obj default: return obj } } async function parseCollection() { const inputStream = fs.createReadStream(inputPath) const outputStream = fs.createWriteStream(outputPath) const rl = readline.createInterface({ input: inputStream }); for await (const line of rl) { const recordStr = line.trim() if (!recordStr) { continue } const record = parseRecord(JSON.parse(recordStr)) outputStream.write(JSON.stringify(record) + '\n') } rl.close() console.log(`处理后的文件已输出到${outputPath}`) } parseCollection() ```