2017-05-19 31 views
0

S3バケットのコンテンツをローカルディレクトリにコピーしますが、PowerShellからエラー出力が表示されます。S3バケットの内容のコピーによるPowerShellのエラー

コピーS3Object:要求された範囲は

満足できるではありませんそれは、このコマンドを指している:

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

私はこのエラーが出るのはなぜ?コピーする必要のあるファイルは実際にローカルにコピーされることに注意してください。

答えて

2

なぜ私はS3から返されたエラーを受け取っているのかわかりませんが、複数のオブジェクトをコピーしている場合、おそらく-LocalFileではなく-LocalFolderパラメータを使用したいと思います。 -LocalFolderはプレフィックスをサブパスとして保存します。

S3から1つまたは複数のオブジェクトをダウンロードする場合、Read-S3ObjectコマンドレットはCopy-S3Objectと同じ働きをしますが、-KeyPrefixを使用してオブジェクトの共通接頭辞を指定し、-Folderを使用して、に。

これはまた、なぜCopy-onで-LocalFolder、Readで-Folderを使用したかを確認する必要があることを思い出させます。別名が一貫性を持たせるために利用可能かもしれないと思われます。

HTH

(編集):私はそれを持っているにもかかわらず、コマンドレットのコードを見直し、マルチオブジェクトのダウンロードにそのままコマンドレットはうまくいく私には表示されません。今朝いくつかの時間を費やし-LocalFolderパラメーター。ダウンロードするオブジェクトが1つだけの場合、-Key/-LocalFileを使用すると、正しいパラメータの組み合わせになります。 -LocalFolderが渡された場合、コマンドレットは、-Keyをオブジェクトのセットの共通キープレフィックスとして扱う代わりに、単一のファイルダウンロードを行うように内部的に設定します。だから私はここに私が探しているバグがあると思う。

その間、私はあなたのダウンロードを行うためにRead-S3Objectを使用します。シングル(-Key)またはマルチオブジェクトダウンロード(-KeyPrefix)モードの両方をサポートしています。 https://docs.aws.amazon.com/powershell/latest/reference/index.html?page=Read-S3Object.html&tocid=Read-S3Object

+0

私はSystem.InvalidOperationExceptionを取得しています:要求された範囲はRead-S3Object -BucketName $ BucketName -KeyPrefix $ BuildVersionから満足できるものではありません。私たちが気づく必要がある他の問題が潜んでいるとは思いませんか? –

関連する問題