## 概述

选择阿里云作为服务商时，服务空间资源完全免费，每个账号最多允许创建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				|-																																																|
|单次数据库执行时长限制		|3秒				|**不可申请调整**																																												|

尤其注意阿里云的cdn确实是全免费的，这些免费资源可用于正常公司业务，阿里云不允许开发者使用这些免费的存储及CDN资源来开展图床类业务。

除上面的描述外，阿里云没有其他限制。

因为阿里云免费向DCloud提供了硬件资源，所以DCloud也没有向开发者收费。如果阿里云后续明确了收费计划，DCloud也会第一时间公布在这里。

如有超大型应用突破阿里云资源限制，请发邮件到service@dcloud.io请求协助，可以特批扩大资源。

申请邮件内需要提供以下信息

```
公司信息		// 个人用户无须此项
负责人
联系电话
公司介绍		// 个人用户无须此项
业务场景		// 与申请资源相关的业务场景，包括应用名称及发布平台
用户规模
申请spaceId
申请资源		// 要具体到申请资源量，例如：云存储要写明申请多大、定时触发要写明申请的触发频率
申请日期
```

## 腾讯云@tencent

**使用腾讯云Nodejs12版本时，务必仔细阅读此文档：[keepRunningAfterReturn](uniCloud/cf-functions.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秒															|
|		|同步请求事件大小								|5MB																		|
|		|同步请求响应大小								|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。

腾讯云包月套餐的服务空间需要额外开通前端网页托管套餐才可使用前端网页托管（按量计费空间默认开通了按量计费的前端网页托管），前端网页托管套餐如下

|套餐名		|前端网页部署增值包1|前端网页部署增值包2|前端网页部署增值包3|
|:-:			|:-:								|:-:								|:-:								|
|容量			|5G									|10G								|100G								|
|流量			|5G/月							|50G/月							|500G/月						|
|读次数		|150万次/月					|200万次/月					|1500万次/月				|
|写次数		|60万次/月					|100万次/月					|600万次/月					|
|回源流量	|5G/月							|10G/月							|150G/月						|

**注意**

- 资源统计页面展示的数据可能会有延迟
- **云函数资源使用量：**云函数资源用量最小计费粒度为128MB*100ms，即内存使用为设定的云函数运行内存（默认256MB，最小可设置为128MB），运行时间以100ms为阶梯计算
- **云函数并发限制：**超出云函数并发限制的请求会直接失败
- **函数数量限制：**实际项目中由于clientDB和单路由云函数，只会用到几个云函数，达不到限制数字。[详见](https://uniapp.dcloud.net.cn/uniCloud/faq?id=merge-functions)
- **数据库读写次数：**修改或读取条数为0时也计算一次读写，即只要调用接口就计算一次。
- **回源流量：**若云存储/前端网页托管文件发生变化，用户通过CDN地址访问时，从CDN节点回源到云存储文件时产生的流量
- 腾讯云前端网页部署套餐到期之后会保留7天，超过7天将会销毁，请注意按时续费；不再使用的前端网页托管，请注意做好文件备份。
- 如果服务空间是包月套餐，在服务空间到期但是前端网页托管未到期的情况下，前端网页托管也会随服务空间销毁，请注意按时给服务空间续费

### 腾讯云按量计费@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()

```