我试图弄清楚为什么在 AWS 工具 1.x(我认为是 1.1.16?)中工作的脚本在升级到最新的 AWS 工具(2.0.3)后现在不能工作
剧本
Import-Module "C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell\AWSPowerShell.psd1"
$creds = New-AWSCredentials -AccessKey [REDACTED] -SecretKey [REDACTED]
Set-AWSCredentials -Credentials $creds
$a = Get-Content C:\users\killeens\desktop\temp\AmazonKeysToDownload.txt
$startingpath = "G:\TheFiles\"
$a | ForEach-Object {
$keyname = $_
$fullpath = $startingpath + $keyname
write-host "fullpath: "$fullpath
Get-S3Bucket -BucketName OURBUCKETNAME | Get-S3Object -Key $_ | Copy-S3Object -Key $keyname -LocalFile $fullpath
}
问题
在 1.1.16 中,这可以正常工作。
现在,在 2.0.3 的最后期限内,我收到以下错误:
Copy-S3Object : 指定的存储桶不存在
这些细节可能很重要
- 对于它的价值,我们的存储桶名称都是大写字母。(“公司客户”)
- 这实际上在一小时左右前在我的机器上工作。然后我想并行做一些事情,所以我下载了 powershell v4 和最新的 AWS 工具。这个问题一直在发生。我已经恢复到powershell 3,但问题仍然存在。
- 我一直无法找到旧版本的 amazon 1.x 工具来测试
到目前为止的故障排除
- 如果我只执行
Get-S3Bucket OURBUCKETNAME
,它可以工作 - 如果我执行脚本,不使用管道
Copy-S3Object
命令,它就会工作,输出我在文件中导入的所有对象。 - 我检查了一下,根据智能感知,Copy- 命令上似乎没有
BucketName
参数。S3Object
如果我尝试指定一个,我会收到错误消息。