Die API selbst kann per Entwurf kein Upload nach Verzeichnis unterstützen, da die API lediglich einen Vertrag enthält, wie mit dem Dienst zu kommunizieren ist; für sich selbst hat es keine Sichtbarkeit in Ihrer lokalen Verzeichnisstruktur. Einzelne Werkzeuge wird, so ist es tatsächlich möglich, einen Verzeichnisnamen auf das gleiche Swift CLI-Tool liefern:
swift upload mycontainer mylocaldir
Eine alternative API-Side-Lösung der Bulk-Upload-API innerhalb Swift API ist. Wir aktivieren dies sowohl im SoftLayer als auch im Bluemix Object Storage. Wenn Sie ein tar/tar.gz/tar.bz2-Archiv Ihrer Dateien in die API hochladen können, können Sie die API anweisen, diese nach Abschluss des Uploads automatisch in Ihr Konto oder Ihren Container zu extrahieren.
Hier ist ein Beispiel dafür, wie diese API zu verwenden:
curl -i -X PUT -T stuff.tar.gz https://example.com/v1/AUTH_abc/container?extract-archive=tar.gz -H X-Auth-Token:mytoken
Um ein Präfix auf Objekte enthalten, die von Dateien in Ihrem Archiv extrahiert werden, können Sie die container
Bit oben schließen container/my/prefix
erstrecken. Zum Beispiel:
https://example.com/v1/AUTH_account/container/my/prefix?extract-archive=tar.gz
Wenn Sie das Archiv möchten Behälter extrahiert werden, so dass die Ordner der obersten Ebene im Archiv werden, würden Sie das container
Segment ganz weglassen. Dadurch werden alle Dateien der obersten Ebene im Archiv verworfen. Stellen Sie daher beim Erstellen des Archivs sicher, dass sich alle Dateien in Ordnern befinden. Aber Sie würden sich mit einem URL etwas am Ende wie folgt:
https://example.com/v1/AUTH_account/?extract-archive=tar.gz
Beachten Sie, dass die Archiv unterstützten Formate sind tar, tar.gz und tar.bz2.
Weitere Informationen finden Sie in der Openstack Swift Dokumentation: http://docs.openstack.org/developer/swift/middleware.html#extract-archive
Bitte beachte, dass wir curl --upload-Datei verwenden, könnte eine lokale Datei zum Hochladen auszuwählen. – Fred