背景
本文主要讲解开源的NAS系统--TrueNAS的二次开发。
TrueNAS scale安装
网上能找到很多类似的文章,本文就不介绍了,这里给一个视频博主的传送门:
司波图
TrueNAS scale Resful API 接口
官网的 Resful API地址:TrueNAS REST API Documentation
部署好之后的API文档地址:http://<trueNAS IP>/api/docs/#restful
API密钥获取方式
点击右上角的【设置】,选择【API密钥】,在信息列表页面中点击【添加】,按照流程补充信息,把生成的密钥拷贝下来即可
API访问方式
- URL访问:http和https访问方式:如http://<NAS_IP>:端口/api/v2.0
端口可以在web管理端的【系统设置】/【GUI】中进行设置
- 数据格式:json
- 字符编码:utf-8
认证方式
在请求头中加入认证密钥: "Authorization": "Bearer {access_token}"
样例
1、GET/DELETE包样例:查询存储池
curl -X GET "http://<NAS_IP>/api/v2.0/pool"
-H "Authorization: Bearer {access_token}"
-H "Content-Type: application/json"
2、POST/PUT包样例:删除存储池
curl -X POST "http://<NAS_IP>/api/v2.0/pool/id/4/export"
-H "Authorization: Bearer {access_token}"
-H "Content-Type: application/json"
-d '{"cascade": true, "restart_services": true, "destroy": true}'
重要的API目录
脑图中的接口为本人亲验并用在产品开发中的接口,官方文档的接口描述与实际的参数稍有差异,AI返回的调用方法也是存在偏差(因为太小众,网上几乎没有材料可查)。
结尾
NAS的二次开发很小众,自用的NAS没必要二次开发,trueNAS提供了成熟的web管理端,觉得不适合客户用了才需要重新设计开发。