## 概述

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

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

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

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

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

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

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

## 腾讯云@tencent

### 腾讯云免费空间的额度@price-free

腾讯云针对每个账号提供了一个有免费额度的服务空间，以方便产品开发测试及体验。具体额度请阅读下方[腾讯云付费版包月套餐](uniCloud/price.md?id=price-month)中的免费版。

**免费额度注意事项：**

- 腾讯云的免费空间是以账号为维度的，若有多个服务空间，则仅有一个空间可享受免费额度。
- 如果已创建免费版的服务空间，则其他服务空间，均无法再享受免费额度。
- 免费版服务空间付费升级为更高档的包月套餐时，系统会将该空间设置为到期自动降配免费空间（关于自动降配请阅读下面的注意事项），故此时免费额度依然被占用中，其他服务空间亦无法再享受免费额度
- 按量计费服务空间在开通时可以选择指定是否占用免费额度（如果当前账号还有免费额度的话），如果选择占用免费额度，则不可再创建包月模式的免费服务空间。
- 非免费包月套餐到期之后如果不进行续费会在一周后销毁

**自动降配注意事项：**
- 自动降配会在到期之后的24小时后开始执行
- 被设置自动降配的服务空间到期之后，会尝试自动降配，但并不能保证一定可以成功，如果你的资源超出了免费版的额度则无法降配。切勿过度依赖此行为
- 特别要注意的一点是：自动降配为免费版之后，配置的云函数固定出口IP将会失效
- 腾讯云资源用量统计有延迟，请密切关注自己的业务用量，企业用户推荐直接改用按量计费

### 腾讯云包月套餐@price-month

包月套餐是指每个月的支付固定价格，购买一定量的服务器资源。

如果资源超限，则相应资源不可使用。需立即升配套餐。

包月套餐支持升配、降配。以满足资源用量上升或下降的价格调整需求。具体操作见[web控制台](https://unicloud.dcloud.net.cn)的购买套餐界面。

> 注意：腾讯云在 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()

```