Square Cloud in Ihrem Code, in JavaScript, Python und Go
Die offiziellen SDKs für die Square Cloud API. Deployen, neu starten, Logs lesen, Dateien bearbeiten, Snapshots erstellen und Domains festlegen, direkt aus Ihren eigenen Skripten und ohne Laufzeitabhängigkeiten.
Sprache wählen und installieren
Vier offizielle Pakete: drei für die Square Cloud API und eines für Blob Storage. Jedes braucht nur die Laufzeitumgebung seiner Sprache.
JavaScript und TypeScript
@squarecloud/api
Node.js 22+, Deno, Bun und Edge-Runtimes
npm install @squarecloud/apiPython
squarecloud-api
Python 3.11+, mit synchronem und asynchronem Client
pip install squarecloud-apiGo
github.com/squarecloudofc/sdk-api-go/v3
Go 1.22+, mit einem Context bei jedem Aufruf
go get github.com/squarecloudofc/sdk-api-go/v3Blob Storage
@squarecloud/blob
Node.js 20+ und der Browser
npm install @squarecloud/blob
Ihr erster Aufruf
Erstellen Sie einen API-Schlüssel, legen Sie ihn als Umgebungsvariable SQUARECLOUD_API_KEY fest und führen Sie eines dieser Programme aus. Jedes gibt Ihren Namen aus und wie viele Anwendungen der Schlüssel sehen kann.
import { SquareCloudAPI } from "@squarecloud/api";const api = new SquareCloudAPI(process.env.SQUARECLOUD_API_KEY);const { user, applications } = await api.account.me();console.log(`Hi ${user.name}, you have ${applications.length} apps`);import osfrom squarecloud import SquareCloudwith SquareCloud(os.environ["SQUARECLOUD_API_KEY"]) as client: me = client.account.me() print(f"Hi {me['user']['name']}, you have {len(me['applications'])} apps")package mainimport ( "context" "fmt" "log" "os" "github.com/squarecloudofc/sdk-api-go/v3")func main() { c := squarecloud.New(os.Getenv("SQUARECLOUD_API_KEY")) me, err := c.Account.Me(context.Background()) if err != nil { log.Fatal(err) } fmt.Printf("Hi %s, you have %d apps\n", me.User.Name, len(me.Applications))}Alles, was die API kann, aus Ihrem Code
Die SDKs für JavaScript, Python und Go decken jede Operation der API-Referenz ab und werden bei jedem CI-Lauf gegen deren OpenAPI-Spezifikation geprüft. Die Methodennamen unten sind in JavaScript; Python nutzt snake_case und Go PascalCase.
Anwendungen
Den Status einer oder aller Anwendungen lesen, starten, stoppen und neu starten sowie Logs und Metriken zu CPU, RAM und Netzwerk abrufen.
apps.statusAllapps.restartapps.logsapps.metricsDeployments
Eine Anwendung aus einem ZIP erstellen, neue Dateien committen, ein GitHub-Repository samt Branch verknüpfen oder einen Webhook einrichten und frühere Deployments auflisten.
apps.createapps.commitdeploys.linkGithubAppDateien und Variablen
Dateien Ihrer Anwendung auflisten, lesen, schreiben, verschieben und löschen sowie ihre Umgebungsvariablen abrufen, setzen oder ersetzen.
files.writefiles.readenvs.setEchtzeit
Logs und Status einer Anwendung live verfolgen, als Iterator, den Sie in einer Schleife durchlaufen. Bricht die Verbindung ab, baut sie sich von selbst neu auf.
apps.realtimeSnapshots
Snapshots von Anwendungen und Datenbanken erstellen, auflisten und wiederherstellen sowie eine Snapshot-Datei als Stream herunterladen.
snapshots.createsnapshots.restoredownloadSnapshotNetzwerk
Eine eigene Domain festlegen, ihre DNS-Einträge lesen, den Cache leeren und Analytics, Fehler und Performance für einen Zeitraum abfragen.
network.setDomainnetwork.purgeCachenetwork.analyticsDatenbanken
Datenbanken mit MongoDB, PostgreSQL, MySQL und Redis erstellen, ihren RAM ändern, ihren Status lesen und ein Passwort oder Zertifikat zurücksetzen.
databases.createdatabases.resetCredentialsWorkspaces
Workspaces erstellen, Mitglieder per Einladungscode hinzufügen, ihre Gruppe ändern und Anwendungen mit Ihrem Team teilen.
workspaces.members.addworkspaces.apps.addKI
Senden Sie eine OpenAI-kompatible Chat-Anfrage an das Square Cloud AI Gateway, mit demselben Client und demselben Schlüssel.
ai.chat
Blob Storage aus JavaScript
@squarecloud/blob ist das SDK für Blob Storage: Uploads, private Dateien, Freigabelinks, Ordnerregeln und das S3-kompatible Gateway, unter Node.js und im Browser. Blob Storage ansehen
Große Uploads
Übergeben Sie einen Dateipfad, einen Blob oder Bytes. Große Dateien werden in parallelen Teilen hochgeladen, bis zu 10 GiB, direkt von der Festplatte gestreamt.
putlistPrivate Dateien
Eine private Datei hat keine öffentliche URL. Erstellen Sie einen Download-Link, der abläuft, oder einen Freigabelink, den Sie jederzeit widerrufen können.
downloadUrlshares.createshares.revokeUploads aus dem Browser
Ihr Server erstellt ein kurzlebiges Upload-Token, mit dem der Browser hochlädt. So verlässt der API-Schlüssel nie Ihren Server.
uploadTokens.create
In jeder Sprache gleich gebaut
Keine Abhängigkeiten
Jedes SDK nutzt nur die Standardbibliothek seiner Sprache oder das fetch der Plattform und fügt Ihrem Lockfile sonst nichts hinzu.
Ein Fehlertyp
Jeder Fehler der API, des Netzwerks oder lokal wirft dieselbe Fehlerklasse, mit dem HTTP-Status und dem Fehlercode der API.
Sichere Wiederholungen
30 Sekunden Timeout pro Versuch und Wiederholungen nur bei Fehlern, die sich gefahrlos wiederholen lassen, niemals bei einem 429.
Eingeschränkte Schlüssel
Ein Schlüssel lässt sich auf einzelne Berechtigungen und auf bestimmte Anwendungen oder Datenbanken beschränken. Listen liefern nur, was er sehen darf.
Der Rest des Werkzeugkastens
Derselbe API-Schlüssel und dieselbe Variable SQUARECLOUD_API_KEY funktionieren im Terminal, in CI, in Ihrem Editor und in Ihrem Code.
Ein Plan für jede Phase Ihres Projekts
Starten Sie klein und skalieren Sie bei Bedarf – ohne Vertragsbindung.
Hobby
Zum Validieren von Ideen, Bots und persönlichen Projekten
Ab 12,49 R$/Monat ≈ 2,00 €
- 1 GB RAM
- 1 vCPU
- Bis zu 4 Projekte
- Skaliert bis 2 GB im selben Plan
Standard
EmpfohlenFür die Produktion, mit Datenbanken und eigenen Domains
Ab 44,99 R$/Monat ≈ 7,20 €
- 4 GB RAM
- 4 vCPU
- Bis zu 16 Projekte
- Skaliert bis 8 GB im selben Plan
Pro
Für hohe Skalierung, mit täglichen Snapshots der Anwendungen und erweiterten Analysen
Ab 124,99 R$/Monat ≈ 20,00 €
- 12 GB RAM
- 6 vCPU
- Bis zu 48 Projekte
- Skaliert bis 24 GB im selben Plan
4,9 von 5 · 402 Bewertungen auf Google + TrustpilotTrustpilot
Fragen zu den SDKs
Für welche Sprachen gibt es ein offizielles Square Cloud SDK?
JavaScript und TypeScript (@squarecloud/api), Python (squarecloud-api) und Go (github.com/squarecloudofc/sdk-api-go). Blob Storage hat ein eigenes JavaScript-SDK, @squarecloud/blob. Alle vier sind Open Source auf GitHub.
Decken die SDKs die gesamte API ab?
Ja. Die SDKs für JavaScript, Python und Go decken jede Operation der Square Cloud API-Referenz ab, dazu Snapshot-Downloads, und werden bei jedem CI-Lauf gegen deren OpenAPI-Spezifikation geprüft. Blob Storage und sein S3-kompatibles Gateway deckt @squarecloud/blob ab.
Welchen Plan brauche ich für die SDKs?
Die SDKs sind Open-Source-Pakete. Die API, die sie aufrufen, ist in jedem Plan von Square Cloud enthalten, ab Hobby, und die Zahl der Anfragen pro Minute hängt vom Plan ab.
Wo sollte ich meinen API-Schlüssel aufbewahren?
In der Umgebungsvariable SQUARECLOUD_API_KEY, niemals im Quellcode. Geben Sie jedem Schlüssel nur die Berechtigungen und Ressourcen, die er braucht, und widerrufen Sie ihn in den Sicherheitseinstellungen Ihres Kontos, falls er bekannt wird.
Kann ich die SDKs im Browser nutzen?
Die API-SDKs sind für Server gedacht: Node.js, Deno, Bun, Edge-Runtimes, Python und Go. Im Browser wäre der API-Schlüssel offengelegt. Für Uploads aus dem Browser nutzt @squarecloud/blob ein kurzlebiges Upload-Token, das Ihr Server erstellt.
Ich nutze eine ältere Version. Was hat sich geändert?
Die aktuellen Versionen sind Neuentwicklungen: Methoden liegen am Client, Antworten sind einfache Daten mit den Feldnamen der API, und jeder Fehler hat einen einzigen Fehlertyp. Die Dokumentation jedes SDKs enthält eine Migrationsanleitung von der vorherigen Hauptversion.
SDK, CLI oder GitHub Action: Was sollte ich nutzen?
Nutzen Sie ein SDK, wenn der Aufruf in Ihrem Code steht, etwa ein Bot-Befehl, der eine Anwendung neu startet, oder ein Skript, das einen Snapshot erstellt. Nutzen Sie die CLI im Terminal und die GitHub Action, um bei jedem Push zu deployen.