0

Ich kopiere den Inhalt eines S3-Buckets in ein lokales Verzeichnis, jedoch erhalte ich eine Fehlermeldung von der Powershell.Fehler in PowerShell aufgrund des Kopierens des Inhalts eines S3-Buckets

Copy-S3Object: Der gewünschte Bereich erfüllbar ist nicht

Es wird auf diesen Befehl zeigt:

Copy-S3Object -BucketName $bucket -Key $object.Key -LocalFile $localFilePath -Region $region 

Warum ich diesen Fehler? Beachten Sie, dass die gewünschten Dateien, die kopiert werden müssen, tatsächlich lokal kopiert werden.

Antwort

2

Ich kann nicht sagen, warum Sie diesen Fehler von S3 erhalten, aber ich kann Ihnen sagen, dass wenn Sie mehrere Objekte kopieren möchten Sie wahrscheinlich den -LocalFolder-Parameter, nicht -LocalFile verwenden möchten. -LocalFolder behält die Präfixe als Unterpfade bei. Wenn Sie ein oder mehrere Objekte von S3 herunterladen, funktioniert das Cmdlet Read-S3Object genauso wie Copy-S3Object, verwendet aber -KeyPrefix zum Angeben des gemeinsamen Präfixes für die Objekte und - Ordner zum Angeben des Ordners, in den sie heruntergeladen werden sollen zu.

Das erinnert mich auch daran, dass ich überprüfen muss, warum wir -LocalFolder auf Copy- und -Folder on Read verwendet haben, obwohl ich vermute, dass Aliase auch verfügbar sein können, um sie konsistent zu machen.

HTH

(Edit): Ich habe heute Morgen einige Zeit den Cmdlets Code zu überprüfen und es scheint nicht, mir das Cmdlets funktionieren würde, auf einem Multi-Objekt-Download, wie sie ist, auch wenn es ein hat -LocalFolder-Parameter. Wenn Sie ein einzelnes Objekt herunterladen möchten, verwenden Sie -Key/-LocalFile als richtige Parameterkombination. Wenn -LocalFolder übergeben wird, richtet das Cmdlet intern ein, um einen einzelnen Dateidownload durchzuführen, anstatt die -Key als gemeinsames Schlüsselpräfix für eine Gruppe von Objekten zu behandeln. Also, ich denke, wir haben hier einen Fehler, den ich untersuche.

In der Zwischenzeit verwende ich Read-S3Object, um Ihre Downloads zu tun. Es unterstützt sowohl einzelne (-Key) oder Multi-Objekt-Download (-KeyPrefix) Modi.

+0

Ich habe System.InvalidOperationException bekommen: Der angeforderte Bereich ist nicht erfüllbar von Read-S3Object -BucketName $ BucketName -KeyPrefix $ BuildVersion -Folder $ DeploymentDir für die letzten Tage ohne Grund kann ich erkennen. Ich nehme nicht an, dass es noch andere Probleme gibt, über die wir uns im Klaren sein müssen? –

Verwandte Themen