# 阿里云公测版迁移到正式版 为了开发者更方便的将业务从公测版迁移到正式版,我们提供了公测版一键迁移到正式版的功能,开发者可在[uniCloud控制台](https://unicloud.dcloud.net.cn)操作迁移,流程如下: ## 购买正式版迁移空间 公测版迁移正式版,需通过`迁移正式版`操作来下单购买待迁移的正式版空间,该操作会为两个空间增加迁移绑定关系,方便后续迁移配置。 ![](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/a0eea46e-f89f-40de-ac99-6f0eb09a55f3.png) 我们会**根据公测版服务空间资源用量来推荐迁移正式版的套餐,只可购买推荐套餐及以上的版本以保证全量数据迁移**,您也可以直接选择按量计费。 在购买待迁移空间前,已经可以获取到迁移后云存储上传及下载的域名,开发小程序的话,由于小程序安全域名白名单在客户端有缓存,建议迁移前两天将云存储域名添加到白名单。 ![](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/8119eef2-b75a-456d-9d3f-31e639b7d4fc.png) 由于待迁移正式版空间是一个全新且独立的空间,所以在创建后会分配新的SpaceId,规则为`mp-公测版SpaceId`。 为了更好的在云函数/云对象中兼容,购买待迁移正式版空间时, 可选择`是否在云函数/云对象中保留原 SpaceID`,如果开启该选项,迁移后在云函数/云对象内获取的 `context.SPACEINFO.spaceId` 及 `cloudInfo` 内的 SpaceId 将保持不变,仍为原公测版SpaceId。 ![](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/0ffb6a21-9cec-44da-886a-5464da2a3ec6.png) **注意**: - 公测版不可迁移到正式版的免费版(开发者版) - 购买待迁移正式版空间后,为了保证数据迁移的一致性,此时的正式版空间无法在HBuilderX关联、无法在控制台创建数据表、无法在云存储及前端网页托管上传文件等操作,直至迁移完成。 - 只有通过`迁移正式版`完成创建的正式版服务空间才支持一键迁移,原已创建的正式版空间无法使用该功能。 - 如果是开发的是小程序,请在迁移前先到小程序后台配置新的上传域名到上传域名白名单(注意不要移除公测版服务空间的上传下载域名),**由于小程序安全域名再微信客户端内有缓存,建议再迁移前两天进行配置** ## 配置迁移时间 在创建完成待迁移的正式版服务空间后,可为此空间配置迁移任务执行的时间,迁移任务将会在该时间自动执行。 ![](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/fda14625-819b-4daa-a60f-1e371ee6d480.png) 迁移时间只能配置未来三天内的时间点,在未开始执行之前可更改迁移时间。 ![](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/61d75657-6600-4142-855a-656595bc21b6.png) ## 迁移开始 系统会在设置的迁移时间自动开始执行迁移任务,迁移逻辑及注意事项如下: ### 云数据库 - 云数据库无需迁移,会将公测版服务空间的数据库关联到正式版上,所以**请勿删除公测版数据** 迁移期间是否可正常服务:是 迁移类型:无感迁移 迁移耗时:无 ### 云函数 - 云函数定时任务、url化配置及自定义域名会一并迁移,公测版服务空间的url化请求会自动转发到正式版服务空间上 - 如果绑定了自定义域名,此时仍会请求到公测版空间然后转发到正式版空间,您也可以将域名解析到正式版服务空间,免去请求转发的逻辑 迁移期间是否可正常服务:是 迁移类型:无感迁移 迁移耗时:约3-5分钟 ### 跨域配置 - 由于正式版跨域配置上限为9条,跨域配置记录迁移后可能会超上限,此时无法新增。正式版跨域配置支持泛域名,可将公测版配置的多个子域名删除后添加一条泛域名 迁移期间是否可正常服务:是 迁移类型:无感迁移 迁移耗时:很短,可忽略不计 ### 云存储 - 云存储在迁移开始后,上传文件的功能不可用,访问不受影响 - 原云存储链接仍可正常访问,流量费用会计到正式版空间,正式版空间如果是包年包月则从资源用量中扣除,如果是按量计费则会出账并从余额中扣除,出账时间为T+2 迁移期间是否可正常服务:可正常访问,不可上传 迁移类型:**有感迁移,迁移期间不可上传文件** 迁移耗时:1GB迁移耗时约1分钟 ### 前端网页托管 - 前端网页托管文件及自定义域名会一并迁移,迁移期间访问不受影响 - 单页应用配置取消,改为由错误页面实现,迁移时会自动将开发者配置的单页应用目录转为错误页面配置项,开发者无需操作 - 如果绑定了自定义域名,此时仍会请求到公测版空间,与云存储不同的是不会转发到正式版空间 迁移期间是否可正常服务:是 迁移类型:**有感迁移,迁移完成后自定义域名需重新绑定及解析CNAME到正式版** 迁移耗时:1GB迁移耗时约1分钟 ## 迁移完成 在迁移任务执行完成后,业务中公测版服务空间相关的数据会一并迁移至正式版: 1. 插件市场购买的付费插件 2. 公测版服务空间购买的Redis 3. 公测版服务空间添加的协作者 4. 公测版服务空间添加的安全网络及IP防刷配置 此时公测版服务空间将无法在[uniCloud控制台](https://unicloud.dcloud.net.cn)操作,无法在HBuilderX关联, 正式版服务空间已完全替代公测版,可在HBuilderX关联进行打包。 ### 迁移完成后的TODO - 检查云函数运行是否正常,比如定时任务及url化是否正常、云函数/云对象中获取到的SpaceId是否符合预期 - 检查云存储上传是否正常,公测版服务空间的上传请求会转发到正式版,所以上传的文件会在正式版里体现 - 检查前端网页托管是否正常,比如自定义域名的访问 ### 前端网页托管绑定了自定义域名 如果绑定了自定义域名,则仍会请求到公测版服务空间,此时正式版上传的文件并不会反向同步到公测版,所以会导致自定义域名无法访问新上传的文件。 需要开发者在[uniCloud控制台](https://unicloud.dcloud.net.cn)将自定义域名解绑后再次重新绑定,获取到新的CNAME后,将域名解析更换到新的CNAME,这个期间前端网页托管自定义域名的访问会中断。 ## 其他注意事项 - 迁移后开发者下次在HBuilderX打包发行时会使用正式版服务空间ID。请注意这时候需要修改小程序request域名白名单,将`api.next.bspapp.com`添加到request域名白名单内 - 正式版固定IP代理出口IP和公测版不同,如有在三方平台配置域名白名单请自行修改,参考:[阿里云固定IP](cf-functions.md#aliyun-eip) - 迁移到正式版后,公测版服务空间的数据库备份不会被迁移过来 - 迁移后不可删除公测版服务空间,需等待公测结束后自动回收