Verbinden
Verbinde Turso aus dem Terminal. Mit --help siehst du die Flags, die Turso akzeptiert, dazu --no-browser für Umgebungen ohne Browser.
polylane cloud connect --provider tursoEin Platform-API-Token aus deinen Turso-Kontoeinstellungen oder der Turso-CLI.
Turso wird mit einem Platform-API-Token verbunden:
- Öffne Turso und gehe in deinen Kontoeinstellungen zur Seite API Tokens, oder führe in der CLI
turso auth api-tokens mint polylaneaus. - Kopiere den Platform-API-Token.
- Füge den Token in Polylane ein. Wenn der Token mehr als eine Organisation erreichen kann, wähle auf Nachfrage die, die verbunden werden soll.
- Polylane prüft den Token und startet den Sync.
Jede Verbindung deckt eine einzelne Turso-Organisation ab. Polylane entdeckt ihre Datenbankgruppen und Datenbanken, inklusive Standorten, Platzierung, Branching-Abstammung und Lese-/Schreibstatus. Tokens werden vor dem Speichern verschlüsselt, und der Agent sieht sie nie. Polylane liest nur die Platform API; es verbindet sich nie mit deinen Datenbanken und hält nie Datenbank-Zugangsdaten.
Die Platform API von Turso meldet Nutzung als kumulative Zähler pro Abrechnungszeitraum statt als Zeitreihen, Datenbanken tragen deshalb keine Metrik-Diagramme. Das Monitoring fragt diese Zähler ab und beobachtet stattdessen die Deltas: Lese- und Schreibvolumen, Sync-Traffic, Speicherwachstum, Anzahl der Datenbanken, Quotenverbrauch gegenüber deinem Plan und die schwersten Abfragen pro Datenbank werden jeweils mit der eigenen Historie des Kontos verglichen.
Fehlerbehebung
Fehler "Invalid Turso API token"
- Platform-API-Tokens sind etwas anderes als Datenbank-Auth-Tokens; erzeuge einen mit
turso auth api-tokens mintoder in deinen Kontoeinstellungen. - Prüfe, ob der Token in den Turso-Einstellungen widerrufen wurde.
Fehler "Multiple Turso organizations are reachable"
- Der Token erreicht mehr als eine Organisation, nenne also die, die verbunden werden soll.
- Beim Verbinden in der Konsole wählst du die Organisation, wenn du nach der Prüfung danach gefragt wirst.
- Beim Verbinden über die API setzt du das Feld
organizationauf den Slug der Organisation.
Fehlende Ressourcen
- Turso kann einige Minuten brauchen, bis alles synchronisiert ist.
- Starte über den Kontokopf einen manuellen Sync, um zu aktualisieren.
Verbindung trennen
Trenne das Konto in Polylane, dann widerrufe den API-Token in deinen Turso-Kontoeinstellungen oder mit turso auth api-tokens revoke.
Verbinde Turso aus einem CI-Job oder einer anderen Umgebung ohne Browser.
Für die Verbindung mit Turso braucht es keinen Browser: Derselbe Endpunkt, den die Konsole aufruft, passt in einen CI-Job. Ein authentifizierter POST erstellt die Verbindung und startet den ersten Sync.
Voraussetzungen
- Ein Polylane-API-Schlüssel mit den Scopes
cloud_accounts:writeundcloud_accounts:read. Siehe API-Schlüssel und OAuth. - Deine Workspace-ID, die mit
ws_beginnt. Lies sie mit demselben Schlüssel ausGET /v1/workspaces. - Ein Turso-Platform-API-Token, erzeugt in deinen Kontoeinstellungen oder mit
turso auth api-tokens mint polylane.
Verbindung erstellen
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"
}'
Ein Aufruf verbindet eine Turso-Organisation.
organizationdarf nur weggelassen werden, wenn der Token genau eine Organisation erreicht; sonst schlägt der Aufruf mit einem400fehl, das die erreichbaren Organisations-Slugs auflistet.
Die Antwort listet auf, was verbunden wurde, der erste Sync läuft bereits. Gekürzt auf die zwei Felder, die der Rest des Ablaufs liest:
{
"success": true,
"result": {
"provider": "turso",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Ein bereits verbundenes Konto landet in failures statt in accounts, ein wiederholter Aufruf dupliziert also nie eine Verbindung.
Auf den ersten Sync warten
Frage jedes zurückgegebene Konto über seine id ab, bis status ready erreicht (new bei der Registrierung, syncing, während Ressourcen einlaufen):
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
Gib der Schleife eine Frist, damit ein fehlgeschlagenes Verbinden den Job fehlschlagen lässt, statt ihn hängen zu lassen. Sobald das Konto ready ist, sind seine Ressourcen in der Topologie, und Polylane hat seinen ersten Check gestartet.
Über die API trennen
Das Löschen der Verbindung stoppt jeden Sync und Check und löscht die Zugangsdaten, die Polylane gespeichert hatte. Der Aufruf braucht den Scope cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Widerrufe dann die Turso-Zugangsdaten auf Anbieterseite, wie unten unter Trennen beschrieben.
Trennen
Beim Trennen stoppen alle Syncs und Checks, und die Zugangsdaten, die Polylane gespeichert hatte, werden gelöscht. Alles, was Polylane in Turso eingerichtet hat, wird ebenfalls entfernt; nichts bleibt zurück.
polylane cloud disconnect <id>Unterstützte Ressourcen
2Ressourcentypen, die in deinem Infrastrukturgraphen erscheinen.