Objekt-IDs sind opak (
pub/..., prv/...). Speichere sie so, wie sie zurückgegeben werden, baue oder parse sie nie und ersetze deine gespeicherte ID, wann immer update() eine neue zurückgibt. Siehe Objekt-IDs.Auflisten
list() ist ein Async Generator, der dem Cursor durch alle Seiten folgt. Die Reihenfolge ist nicht garantiert.
listPage() ruft eine Seite ab. Verwende es für manuelle Paginierung oder um folders zu erhalten:
Eine Seite hat
objects, folders (nur mit delimiter) und continuationToken (fehlt auf der letzten Seite). Jedes aufgelistete Objekt hat id, size, created_at, expires_at, private, url und etag. Siehe Object List.
Objektdetails
id, size, content_type, etag, created_at, expires_at, private, url, cache_control, content_disposition, original_name, metadata und legacy zurück. Siehe Object Info.
created_at ist der Zeitpunkt der letzten Änderung im Speicher: Ein Update, das das Objekt kopiert (Sichtbarkeit, Ablauf, Header), setzt ihn zurück.Download-Links
- Ein öffentliches Objekt erhält seine dauerhafte CDN-URL, mit
expires_at: null. - Ein privates Objekt, oder jeder Aufruf mit
dispositionoderfilename, erhält einen temporären Link, derexpiresSekunden gültig ist (bis zu 24 Stunden).
Das Ergebnis hat
url, expires_at, private, size und content_type. Siehe Object Download.
Objekte aktualisieren
update() ändert Sichtbarkeit, Ablauf, Cache, Disposition oder Metadaten eines Objekts oder von bis zu 50. Die Methode gibt immer ein Array zurück, ein Ergebnis pro Objekt, und jedes Ergebnis meldet seinen eigenen Erfolg in ok.
Ein erfolgreiches Ergebnis (
ok: true) hat object (die von dir gesendete ID), changed, id (die ID nach der Änderung), private, url, expires_at und size. Ein fehlgeschlagenes Ergebnis (ok: false) hat object und code. Ein Batch wirft bei Fehlern einzelner Objekte nicht. Siehe Object Update.
Löschen
Das Löschen erfolgt sofort und endgültig: Es gibt keinen Papierkorb.
Mit einer einzelnen ID in einem Array gibt das SDK trotzdem
{ deleted, not_found, failed } zurück: Ein fehlendes Objekt landet in not_found, und DELETE_FAILED oder PREFIX_NOT_ALLOWED landen in failed, statt geworfen zu werden. Jeder andere Fehler (Authentifizierung, Rate Limit, Netzwerk) wird weiterhin geworfen. Siehe Delete Objects.
Kopieren, Verschieben und Umbenennen
Beides läuft auf dem Server, ohne die Datei herunterzuladen.move(source, destination, options) ist copy() mit move: true.
Das Ergebnis hat
id, private, url, expires_at, size, source, moved und replaced. Siehe Object Copy.
update(), delete(), copy() und move() sind Schreibvorgänge: Sie erhalten einen einzigen Versuch und werden nie wiederholt. Siehe Wiederholungsrichtlinie.
