调用AWS Send-SQSMessage PowerShell命令的异常

时间:2017-01-03 17:27:53

标签: powershell amazon-web-services

环境

  • Windows 7
  • 已安装WMF / PowerShell 5.0
  • AWS PowerShell版本3.3.36.0

方案

我正在尝试使用Amazon Web Services(AWS)PowerShell模块将消息发送到队列。但是,当我调用Send-SQSMessage命令时,我会抛出一个异常:

  

Send-SQSMessage:此wsdl版本不存在指定的队列。

我已使用~/.aws/credentials命令在Set-AWSCredentials文件中设置了我的AWS凭据。这是我正在打电话的命令:

$text = (Get-ChildItem)[1] | ConvertTo-Json -Depth 1
Send-SQSMessage -QueueUrl https://sqs.us-east-1.amazonaws.com/redacted/myqueuename -MessageBody $text -ProfileName TrevorAWS

1 个答案:

答案 0 :(得分:0)

当配置的区域与您正在使用的AWS资源不匹配时,可能会弹出此错误消息。要正确配置区域,您有几个选择:

  1. 使用Set-DefaultAWSRegion命令配置默认区域。这样就无需在
  2. 上指定-Region参数
  3. 您可以在任何AWS cmdlet上指定-Region参数,并强制它将该区域用于该单个命令调用。
  4. 使用Initialize-AWSDefaults命令设置PowerShell环境。
  5. 配置与AWS SQS队列相关的正确区域后,Send-SQSMessage命令应该执行而不会抛出任何异常。