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.
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? –