Buckets
S3-kompatibler Objektspeicher für Dateien, die eine App nicht auf ihrer eigenen Platte halten soll.
Auf dieser Seite
Was das ist
Ein Bucket ist Objektspeicher, der die S3-API spricht. Deine App schreibt Dateien mit einem beliebigen S3-Client hinein, und die Dateien liegen ausserhalb des Containers, ausserhalb einer einzelnen Maschine und ausserhalb des Lebenszyklus der App.
Buckets stehen im Projekt neben den Datenbanken als zweite Art von verwaltetem Zustand. Ein Volume ist eine Platte an einer App. Ein Bucket ist ein Dienst, den mehrere Dinge lesen und beschreiben können.
Wann du das brauchst
- Uploads von Nutzern, erzeugte PDFs, Exporte: alles, was ein Browser später herunterlädt.
- Dateien, die mehr als eine App sehen muss.
- Alles, was ein Volume unbegrenzt wachsen lassen würde.
Objektspeicher ist kein Dateisystem. Es gibt keine echten Verzeichnisse, keine Teilschreibvorgänge und kein Anhängen an eine Datei. Code, der in einer Datei auf der Platte herumspringen will, braucht ein Volume.
Einen anlegen
- Öffne das Projekt, geh auf Buckets und dann auf Add bucket.
- Gib ihm einen Namen und eine Grösse.
- Leg ihn an. Er ist in Sekunden bereit, denn es fährt kein Cluster hoch.
Eine App verbinden
Öffne den Bucket und geh auf Access. Du bekommst einen Endpunkt, einen Access Key und einen Secret Key: die vier Werte, nach denen jeder S3-Client fragt. Übergib sie der App so, wie du jede andere Zugangsdaten übergibst.
Der Secret Key verhält sich wie jedes Secret in klickops. Er wird gezeigt, wenn du danach fragst, und kommt in keiner Listenantwort zurück.
Einstellungen im Überblick
| Einstellung | Standard | Was sie bewirkt |
|---|---|---|
| Name | keiner | Identifiziert den Bucket. Endgültig. |
| Grösse | vom Regler | Das Speicherkontingent. |
| Versionierung | aus | Behält alte Fassungen eines überschriebenen Objekts. Ein falscher Schreibvorgang bleibt so rettbar. |
| Lifecycle | aus | Löscht Objekte automatisch nach einer Zahl von Tagen. |
Grenzen und Fallstricke
- Versionierung ist aus und wirkt nicht rückwirkend. Schalt sie ein, bevor das Überschreiben passiert, das du bereust, nicht danach.
- Lifecycle löscht wirklich. Eine Ablaufregel ist eine geplante Löschung, und sie fragt nicht noch einmal nach.
- Einen riesigen Bucket aufzulisten ist langsam. Der Tab Objects ist zum Nachschauen da, nicht zum Verwalten von Millionen Keys. Für Massenarbeit nimmst du einen S3-Client.
- Buckets stecken nicht in den Wiederherstellungspunkten des Projekts. Ihre Haltbarkeit kommt von der Speicherschicht darunter.