背景
? ? ? ? 本文主要講解開源的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管理端,覺得不適合客戶用了才需要重新設計開發。