首页 > 解决方案 > 使用 PowerShell 从 AWS S3 存储桶移动文件时出错

问题描述

所以我正在运行一个 PowerShell 脚本来从我的 AWS S3 存储桶中获取文件,它有点像这样:

$S3_FOLDER_PATH="s3://mybucket/folder/" # Source location on S3
$DOWNLOAD_FILE_PATH="./downloads" # Target location on PC

aws s3 mv $S3_FOLDER_PATH $DOWNLOAD_FILE_PATH --recursive # Move from S3 to PC

现在假设 S3 上的目录“s3://mybucket/folder/”包含一个名为 test.png 的文件。运行此程序后,我收到以下错误...

move failed: s3://mybucket/folder/test.png to .\downloads\folder\test.png [Errno 2] No such file or directory: 'C:\\Users\\...\\downloads\\folder\\test.png.0FF017fb'

在 S3 上不存在的文件“test.png”的末尾添加了一个奇怪的“.0FF017fb”。我以前在这篇文章中看到过这个,但我仍然不清楚解决方案,我想知道是否可能有特定于 PowerShell 的解决方案?

这个例子被简化了一点。S3 存储桶实际上包含许多子目录和文件,并且该脚本成功下载了其中的大部分,但总会留下一些具有相同性质的错误。如果我更改$DOWNLOAD_FILE_PATH为不同的路径,那么文件会奇怪地正确下载,但是打开重新上传 test.png 到 S3 并使用这个 new 重新运行我的脚本$DOWNLOAD_FILE_PATH,我可能会得到同样的错误......

提前感谢您的任何建议!

标签: amazon-web-servicespowershellamazon-s3

解决方案


推荐阅读