0

Ich versuche, eine Datei aus dem S3-kompatibelem Speicher zum Herunterladen und ich bin mit dem folgenden Befehl ein:AWS get-Objekt erstellt keine lokalen Verzeichnisse

aws s3api get-object --endpoint-url https://my.endpoint.url/ --bucket my_bucket --key mailouts/m3/ma2.png mailouts/m3/ma2.png 

Und ich bekomme und Fehler:

[Errno 2] No such file or directory: u'mailouts/m3/ma2.png' 

Allerdings, wenn ich den folgenden Befehl:

i mit ma2.png Datei landen Sie in mein aktuelles Verzeichnis. So sieht es aus wie aws cli kann keine Zwischenverzeichnisse mailouts/m3

Gibt es eine Möglichkeit, aws cli zwingen, lokale Verzeichnisse zu machen?

Antwort

0

Der beste Weg ist, aws s3 cp Befehl zu verwenden, es erstellt benötigte Ordner.

2

Nicht beim Abrufen einer einzelnen Datei. Der Befehl sync in der AWS S3 CLI erstellt Verzeichnisse im Ziel, sofern mindestens eine Datei im Verzeichnis vorhanden ist. Sie können die Optionen --include und --exclude verwenden, um die synchronisierten Dateien einzugrenzen (sogar bis auf ma2.png), wenn Sie nicht die gesamte Verzeichnisstruktur synchronisieren möchten.

0

S3-Buckets haben keine Verzeichnisse/Ordner. Wenn Sie so etwas wie:

Mailings/m3/ma2.png

, die nur einen Dateinamen in Ihrem S3 Eimer ist. Wenn Sie ma2.png in ./mailouts/m3 speichern möchten, müssen Sie den Objektnamen analysieren und die Zwischenordner/Verzeichnisse selbst erstellen.

Verwandte Themen