Turso
連接
從終端機連接Turso。傳入--help可查看Turso接受的旗標,在無瀏覽器環境中再加上--no-browser。
polylane cloud connect --provider turso來自你Turso帳戶設定或Turso CLI的平台API權杖。
Turso以平台API權杖連接:
- 開啟Turso,前往你帳戶設定的API Tokens頁面,或從CLI執行
turso auth api-tokens mint polylane。 - 複製平台API權杖。
- 把權杖貼到Polylane。如果該權杖可以觸及多個組織,在提示時選擇要連接的那一個。
- Polylane驗證權杖並開始同步。
每個連接涵蓋單一Turso組織。Polylane會探索它的資料庫群組與資料庫,包括位置、放置方式、分支親緣關係與讀寫狀態。權杖在儲存前會先加密,代理永遠看不到它們。Polylane只讀取Platform API;它永遠不會連到你的資料庫,也永遠不會持有資料庫憑證。
Turso的Platform API把用量回報為計費週期內的累計計數器,而不是時間序列,所以資料庫沒有指標圖表。監控改為輪詢那些計數器並觀察差值:讀寫量、同步流量、儲存成長、資料庫數量、相對於你方案的配額消耗,以及每個資料庫最重的查詢,各自都與該帳戶自己的歷史比對檢查。
疑難排解
「Invalid Turso API token」錯誤
- 平台API權杖與資料庫驗證權杖不同;用
turso auth api-tokens mint或從你的帳戶設定鑄造一把。 - 檢查該權杖是否已在Turso的設定中被撤銷。
「Multiple Turso organizations are reachable」錯誤
- 該權杖可以觸及多個組織,所以請指明要連接的那一個。
- 在主控台連接時,驗證後在提示時選擇組織。
- 透過API連接時,把
organization欄位設為組織slug。
缺少資源
- Turso可能需要幾分鐘才能同步完所有內容。
- 從帳戶標頭觸發手動Sync以重新整理。
中斷連接
在Polylane中斷該帳戶的連接,然後從你的Turso帳戶設定或用turso auth api-tokens revoke撤銷該API權杖。
從CI工作或任何其他沒有瀏覽器的環境連接Turso。
連接Turso不需要瀏覽器:主控台呼叫的同一個端點可以放進CI工作。一次經過驗證的POST建立連接並開始第一次同步。
先決條件
- 一把具有
cloud_accounts:write與cloud_accounts:read範圍的Polylane API金鑰。請見API金鑰與OAuth。 - 你的工作區ID,以
ws_開頭。用同一把金鑰從GET /v1/workspaces讀取它。 - 一個Turso平台API權杖,從你的帳戶設定或用
turso auth api-tokens mint polylane鑄造。
建立連接
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "turso",
"workspaceId": "ws_0abc123",
"token": "<platform-api-token>",
"organization": "my-org-slug"
}'
一次呼叫連接一個Turso組織。
- 只有在該權杖恰好觸及一個組織時才可以省略
organization;否則呼叫會以列出可觸及組織slug的400失敗。
回應列出已連接的內容,第一次同步已在執行。精簡為流程其餘部分會讀取的兩個欄位:
{
"success": true,
"result": {
"provider": "turso",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
已經連接的帳戶會落在failures而不是accounts中,所以重複呼叫永遠不會重複建立連接。
等待第一次同步
依id輪詢每個回傳的帳戶,直到status達到ready(註冊時為new,資源串流進來時為syncing):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
給這個迴圈一個期限,讓失敗的連接讓工作失敗,而不是掛住它。帳戶為ready後,它的資源就在拓樸中,Polylane也已開始第一次檢查。
從API中斷連接
刪除連接會停止所有同步與檢查,並刪除Polylane持有的憑證。這個呼叫需要cloud_accounts:delete範圍:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
然後如下方中斷連接一節所述,在供應商端撤銷Turso憑證。
中斷連接
中斷連接會停止所有同步與檢查,並刪除Polylane持有的憑證。 Polylane在Turso中建立的一切也會一併移除;不會留下任何東西。
polylane cloud disconnect <id>支援的資源
2會出現在你基礎設施圖中的資源類型。