目录
前言
最近有很多想要记录的东西,比如计算机相关的知识、自己的职业规划、对社会问题的看法、自己的感想、以及灵光一现的想法和认为不得不记下来值得详细探讨的事项。
回顾自己一直以来都是用typora和word做电子笔记,而且只有少部分代码或者笔记通过百度网盘备份到云端,可以说是比较不稳定的,于是经过搜寻之后看到大家很多人推荐使用Obsidian(黑曜石)做笔记并同步。于是手机和电脑都下载了,在此记录比较关键的同步问题。
我认为比较靠谱的有两种方案,方案一是使用云计算产品和Remotely Save插件,将自己的Markdown笔记同步到云端。方案二是使用git和github。
方案一 :云服务同步
在b站搜了一个视频后看到比较多的人推荐用S3服务,而且很多人都推荐阿里云,在以往学习的时候,阿里云镜像什么的词汇出现的频率也比较高,所以我这回来好好了解一下。
上面截图的视频链接如下。
视频链接
第一步:注册并创建阿里云 OSS Bucket
先登录官网看看对应的教程
阿里云oss简介和如何对接使用
阿里云OOS简介
-
阿里云对象存储服务(Alibaba Cloud Object Storage Service,简称OSS)是阿里云提供的一种安全、稳定、高效的对象存储服务。它支持多元数据存储、持久化存储和共享访问,并且具有无限的扩展性和备份恢复能力。阿里云OSS适用于各类场景,如云计算、大数据分析、人工智能等,并且具备高可用性、高可扩展性和低成本等优势。
-
阿里云OSS采用了多元数据存储技术,支持多元数据存储和持久化存储,可以满足不同类型数据的存储需求。它还采用了共享访问技术,支持多个用户同时访问和操作数据,实现了高效的数据共享和协同办公。此外,阿里云OSS还具有无限的扩展性和备份恢复能力,可以自动调整存储资源,保证数据的安全可靠。
-
阿里云OSS适用于各类场景,如云计算、大数据分析、人工智能等。在云计算方面,阿里云OSS可以作为云服务的存储层,提供安全、稳定、高效的云存储服务;在大数据分析方面,阿里云OSS可以作为数据存储和处理平台,支持大规模数据的存储和分析;在人工智能方面,阿里云OSS可以作为模型训练和数据存储平台,支持人工智能应用的数据存储和处理。
对象存储阿里云帮助和使用中心
如何将OOS中的文件同步到本地
话说之前做毕设的时候,网页端产生的数据或者需要读取的数据当时要是能放到阿里云或者从它那里读就好了。
言归正传,首先要注册一个阿里云账号 注册链接
注册好了之后进行个人认证
选择好对应的OSS资源包
打开资源包配置界面
在我们选择OSS资源包的时候,要选择:
- 存储包(目的是把文件、图片、音视频等,存在OSS里)
- 下行流量包(用户访问OSS里的文件、图片、音视频)会消耗流量,所以需要使用下行流量包抵扣流量费。
- 如果你需要OSS和阿里云CDN结合使用,则需要再使用OSS回源包,其功能是CDN没有OSS缓存时,则从OSS取东西,这样会消耗一定的OSS回源流量。
所以需要选择的产品如下:
选择好套餐后,需要使用阿里云OSS控制台管理OSS
阿里云OSS控制台链接
创建Bucket
进入OOS控制台之后,点击创建Bucket
填写:Bucket名称,地域,存储类型,读写权限。即可创建一个Bucket
填写Bucket名称和地域
地域” 为连接速度,一般选择常居地附近。但仅相同区域内的产品内网可以互通,不同区域内的产品将使用外网访问,并产生相应的流量费用。
这里的Bucket名称和Endpoint在后面配置Obsidian的时候都会用到,可以留意一下。
Bucket名称需要和Obsidian要同步的笔记根目录保持一致
填写好名称和地区后剩余的设置
到了这里之后官网的教程已经不够用了,只剩下本地上传资源、删除Bucket和用代码方式接入OSS,实现上传资源到OSS,从OSS下载资源,删除OSS中的资源这些操作,这些在后面开发中会用到,现在先不讲。
第二步:配置跨域访问(CORS)
跨域资源共享CORS(Cross-Origin Resource Sharing)简称跨域访问,是HTML5提供的标准跨域解决方案,允许Web应用服务器进行跨域访问控制,确保跨域数据传输的安全性。
在 OSS 控制台中设置跨域规则,允许 Obsidian 通过 Web 访问存储桶中的数据
进入 Bucket 概览页面
进入 “数据安全” -> “跨域设置”。选择 “创建规则”,在 “来源” 填入如下信息
app://obsidian.md
capacitor://localhost
http://localhost
-
app://obsidian.md 指向"Obsidian" 应用程序的URI,这个URI是用来启动该应用程序或打开应用程序中的某个特定部分。
-
capacitor://localhost 是使用Capacitor框架的应用程序的URI。Capacitor是一个跨平台的Web应用程序框架,允许开发人员创建可以编译成iOS、Android和桌面应用程序的Web应用程序。localhost 通常指的是本地计算机,这意味着这个URI是用来在本地计算机上打开或与应用程序进行交互的。
-
http://localhost 是一个URL,它表示一个运行在本地计算机上的web服务器的根目录。当你在浏览器中输入这个URL时,浏览器会尝试连接到你的计算机上运行的web服务器,并请求根目录的资源。这通常用于开发目的,因为开发者可以在本地测试他们的网站或应用程序。
在 “允许 Methods” 全部勾选,支持所有请求。
在 “允许 Header” 填入:*
点击 “确定” 完成跨区设置
第三步:设置权限和密钥
为 OSS Bucket 创建一个子账号,并获取相应的 AccessKey ID 和 AccessKey Secret,这些将用于 Remotely Save 插件的配置
将鼠标移动至页面右上角,在弹出的悬浮框中选择 “AccessKey 管理”
在新页面的弹窗中选择 “开始使用子账户 AccessKey”。如果出现安全问题, 可以直接把这个子用户删除掉
选择完毕进入新页面,选择 “创建用户”
在 “创建用户” 页面,输入 “登录名称” 和 “显示名称”(什么名字自己定),勾选 “OpenAPI 调用访问”。
创建完成后复制 “AccessKey ID” 和 “AccessKey Secrect”。务必妥善保存亮着,在页面关闭后无法再次获取
为新创建的用户分配管理权限
返回 Bucket 概览页面,进入 “权限管理” -> “Bucket 授权策略”,点击 “新建授权”。
“授权用户” 选择子账号,在选择框中选择刚刚创建的子账号。“授权操作” 选择 “完全控制”。
点击确认完成新建
第四步:Obsidian插件设置
配置插件
在应用商店下载 “Remotely save”,启动插件后进行插件配置。注:这一步进入插件商店的时候有时登不上,可能要科学上网。或者你去github等地方下好插件所需文件后之后安装到本地插件的位置
“选择远程服务” 选择 “S3或兼容S3的服务”
打开Bucket预览界面对着填
“服务地址(Endpoint)” 和 “区域(Region)” 分别是 “外网访问” 节点和 “ECS的经典网络访问” 节点
“Access Key ID” 、“Secret Access Key” 分别是在上文 '阿里云OSS/授权设置" 中创建子账号后, 自己记录下来的 “AccessKey ID” 和 "AccessKey Scret
“存储桶(Bucket)” 对应阿里云 OSS 内的 bucket 名字
最终我的填好就是这样了
测试连接
这一步参考博客
打开Obsidian关于Remotely Save插件的设置
检查是否能连接上
成功如下
此时我们在Obsidian建立一个和Bucket同名的库,在这个库写md文件,然后通过点击侧边栏的 Remotely Save 或在命令面板执行 Remotely Save: start sync,即可开始第一次同步。
然后去云端看效果
可以看到同步成功了。
以下是注意事项:
第一次同步会把所有笔记保存到 OSS,但是不包括 .obsidian 文件夹的内容,意味着不会同步插件、主题和代码片段。(这意味着你换个新的库建立笔记之后还需要重新配置一次插件,所以尽量放到一个库中,用不同的文件夹来分类,而不是建立很多的库)其他设备同样如此设置:创建一个与 bucket 同名的库,然后安装 Remotely Save 插件,输入同样的 S3 信息,执行一次同步。在使用过程中,在任何设备保持 先执行同步,再编辑笔记,编辑完成再执行一次同步,可以最大程度上避免误操作导致数据丢失。
本文的 S3 配置同样适用于其他国内 S3 服务,大同小异。设置之前请注意做好数据备份。
后言
下次打算做git的同步方案,毕竟代码也是用git来同步的,会比较常用。