Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Empfehlungen für die Implementierung der Swift REST API

Beitragende

Bei der Implementierung der Swift REST API zur Verwendung mit StorageGRID sollten Sie diese Empfehlungen beachten.

Empfehlungen für Köpfe zu nicht vorhandenen Objekten

Wenn Ihre Anwendung regelmäßig prüft, ob ein Objekt in einem Pfad existiert, in dem Sie nicht erwarten, dass das Objekt tatsächlich vorhanden ist, sollten Sie die Konsistenzkontrolle „available“ verwenden. Sie sollten z. B. die Konsistenzkontrolle „Available“ verwenden, wenn Ihre Anwendung EINEN HEAD-Vorgang an einem Speicherort ausführt, bevor Sie einen PUT-Vorgang an diesen Ort ausführen.

Andernfalls werden möglicherweise 500 Fehler des internen Servers angezeigt, wenn ein oder mehrere Speicherknoten nicht verfügbar sind.

Sie können die Konsistenzkontrolle „verfügbar“ für jeden Container mithilfe der PUT Container-Konsistenzanforderung festlegen.

Empfehlungen für Objektnamen

Als die ersten vier Zeichen von Objektnamen sollten keine Zufallswerte verwendet werden. Stattdessen sollten Sie nicht-zufällige, nicht-eindeutige Präfixe verwenden, wie z. B. Bild.

Wenn Sie in Objektnamen-Präfixen zufällige und eindeutige Zeichen verwenden müssen, sollten Sie die Objektnamen mit einem Verzeichnisnamen vorschreiben. Verwenden Sie dieses Format:

mycontainer/mydir/f8e3-image3132.jpg

Anstelle dieses Formats:

mycontainer/f8e3-image3132.jpg

Empfehlungen für „Range reads

Wenn die Option komprimiere gespeicherte Objekte ausgewählt ist (Konfiguration > Systemeinstellungen > Grid-Optionen), sollten Swift-Client-Anwendungen vermeiden, GET-Objektoperationen durchzuführen, die einen Bereich von Bytes angeben. Diese Vorgänge „range Read“ sind ineffizient, da StorageGRID die Objekte effektiv dekomprimieren muss, um auf die angeforderten Bytes zugreifen zu können. GET-Objektvorgänge, die einen kleinen Byte-Bereich von einem sehr großen Objekt anfordern, sind besonders ineffizient, beispielsweise ist es sehr ineffizient, einen Bereich von 10 MB von einem komprimierten 50-GB-Objekt zu lesen.

Wenn Bereiche von komprimierten Objekten gelesen werden, können Client-Anforderungen eine Zeitdauer haben.

Hinweis Wenn Sie Objekte komprimieren müssen und Ihre Client-Applikation Bereichslesevorgänge verwenden muss, erhöhen Sie die Zeitüberschreitung beim Lesen der Anwendung.