news 2026/5/11 7:12:33

uniCloud服务空间从阿里云搬家迁移至支付宝云

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
uniCloud服务空间从阿里云搬家迁移至支付宝云


阿里云现在新增了小时级低消,大家的开销一下子涨了不少。今天就给大家讲讲,怎么从阿里云迁移到支付宝云。

就拿咱们之前做的商城项目来举例,迁移之前,大家一定要先检查好:项目能不能正常跑起来,还有所有数据是不是完整没问题。

整个迁移流程,总共 5 步就能搞定:

第1步:从web控制台生成初始化数据


在web控制台选择云数据库->生成初始化数据,选择所有的数据表,设为导出全部数据,右上角选择“生成包含ID”的所有数据,如果你的表比较多的话,他限制全部数据下载最大量是20条,你需要批量下载几次。

注意:
要生成包含ID的记录,因为有可能会存在多个表关联关系,如果你不带原有ID,导入到新的数据库中,就会出现无法关联的情况。

第2步通过AI编辑器清洗数据

将所有压缩包放置到同一个文件夹中,方便让AI帮忙清洗。

一个数据表通常会生成三个文件,后缀分布是:.schema.json(结构)、.init_data.json(数据记录)、.index.json(索引)。

你可以使用免费的AI编辑器,如:字节的Trae、腾讯的CodeBuddy,下面就分步骤说一下清洗的过程。

1.删除schema

schema.json本地已经有了,没必要处理,直接让AI给你删除就行了。

删除文件夹内所有后缀为.schema.json的文件

2.对导出记录的_id处理

如果导出数据的时候,设置的是导出全部记录,导出的_id会放置到一个oid对象中,如下所示:

"_id":{"$oid":"692d5d50eef9cb15085972f3"}

“_id”: { “$oid”: “692d5d50eef9cb15085972f3”} 找到文件夹内后缀名为.init_data.json的所有文件,将这种格式的去掉对象,只保留oid后面的值

3.压缩初始化库

找到文件夹内后缀名为.init_data.json的所有文件,检查json格式是否正确,压缩为紧凑格式

就是通过上面三个步骤,就可以将导出的数据进行清洗了,如果你的情况不一致,可以继续和AI进行交流修改。

完成之后将清洗好的文件夹内的所有数据,复制到项目的database中。

第3步创建新的支付宝服务空间

创建支付宝云的服务空间,建议选择按量计费方式,这种也不用担心包年包月忘记续费,服务空间被销毁的问题,而且按量计费也比较省钱。

第4步切换服务空间并初始化项目


选择好刚刚创建好的支付宝云服务空间,出现重名的公共模块或者函数,一律选择覆盖即可。

第5步:运行并处理兼容

以上工作做好之后,原来的项目运行在浏览器或者微信小程序,分别测试一下,是否和之前老服务空间看到的有没有差异,一般不会有什么差异。

主要要解决的兼容是云存储问题,因为我们搬家值搬迁了云函数和数据库,云存储历史内容比较少的话,可以通过web控制台或者数据库里有保留文件可以批量下载下来,但是内容多的话显然是下载不现实的,所以不建议迁移云存储,因为计费的上涨主要是云函数的低消造成的,和云存储没太大关系,你就将之前存储的内容放到老的阿里云服务空间就行了,只要保证新上传的图片,上传到新的阿里云服务空间就行了。

兼容处理

1.阿里云和支付宝云内置存储的差异

客户端使用uploadFile将本地上传云存储后,相应参数fileID是有差异的,阿里云返回的fileID是https://网址,是可以直接访问的,而支付宝云返回的fileID是cloud://是无法直接查看的,需要通过getTempFileURL获取到https地址。

因此如果迁移之后,对这一块没有做兼容处理,很容易导致存储进数据库的url地址,在原有的程序逻辑上无法直接使用,所以,我们需要调用uploadFile上传之后将获取的fileID处理一下,如果检测到时支付宝云,那就转成https之后在存入到数据库中。

//将支付宝云返回的cloud地址变成https地址exportconstcloudToHttps=(str)=>{returnstr.replace('cloud://','https://').replace(str.split('/')[2],str.split('/')[2]+'.normal.cloudstatic.cn');};
//uploadFile上传单张图片并调用cloudToHttps方法将cloud地址变为https地址exportconstuploadFileItem=async(url,rootPath='public',index=0)=>{lettempurl=url;letuploadRes=awaituniCloud.uploadFile({filePath:tempurl,cloudPath:rootPath+'/'+dayjs().format('YYYYMMDD')+'/'+Date.now()+'_'+index+'.jpg',cloudPathAsRealPath:true});if(uniCloud.config.provider=='alipay'&&uploadRes?.fileID)uploadRes.fileID=cloudToHttps(uploadRes.fileID);returnuploadRes;};

2.浏览器处理跨域

选择上传图片的时候,控制台可能会报“Access to XMLHttpRequest at 'https://u.object.cloudrun.cloudbaseapp.cn/miniapp-prod-env-00jy6aw7au2’from origin ‘http://localhost:5173’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.”,如下图所示:

这是因为浏览器要求同源出现了跨域问题,那就需要再web控制台跨域配置中,新增本地项目启动的地址localhost:5173和localhost:5174都加进去,再选择上传就不会出问题了。

3.微信小程序配置合法域名


在支付宝云服务空间的总览中,找到上传、下载、request域名,填入到微信小程序后台->开发管理->服务器域名对应的位置进行填入。

总结

以上就是讲阿里云服务空间迁移至支付宝云服务空间,如果在搬迁过程中遇到什么问题,或者有更好的办法,可以在评论区进行交流。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 7:09:01

DAY 4.链表中环的入口节点

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、链表中环的入口节点二、代码实现2.结论总结前言 一、链表中环的入口节点 思路:使用快慢指针,都从头节点出发,快指针一次…

作者头像 李华
网站建设 2026/5/11 7:07:38

基于Whisper与MCP协议构建AI语音转录服务器实战指南

1. 项目概述:当AI助手学会“听”与“读”如果你经常使用Claude、Cursor这类AI助手,可能会遇到一个痛点:它们很擅长处理文本,但对于音频、视频这类非结构化媒体内容,往往显得无能为力。你需要先手动将会议录音、播客内容…

作者头像 李华
网站建设 2026/5/11 7:06:52

SharpKeys:免费Windows键盘重映射终极解决方案

SharpKeys:免费Windows键盘重映射终极解决方案 【免费下载链接】sharpkeys SharpKeys is a utility that manages a Registry key that allows Windows to remap one key to any other key. 项目地址: https://gitcode.com/gh_mirrors/sh/sharpkeys SharpKey…

作者头像 李华
网站建设 2026/5/11 7:04:17

第五部分-DockerCompose——25. Compose 高级特性

25. Compose 高级特性 1. 高级特性概述 Docker Compose 提供了许多高级特性,用于处理复杂的多容器应用场景,包括配置文件管理、服务扩展、健康检查、依赖控制等。 ┌─────────────────────────────────────────…

作者头像 李华