boto3 ClientError:您尚未订阅此服务

时间:2018-03-15 11:07:56

标签: python amazon-web-services amazon-ec2 boto

我想用boto3读取现货价格。我添加了一个使用IAMP aws的用户并给他使用

的政策
  • EC2服务
  • 动作:
  • DescribeSpotPriceHistory + StartInstances + StopInstances

我使用 awscli

在我的UBUNTU机器上配置aws

当我运行简单的示例来获得现货价格时,我有以下错误:

  

ClientError:调用时发生错误(OptInRequired)   DescribeSpotPriceHistory操作:您没有订阅此操作   服务。请转到http://aws.amazon.com订阅。

CODE:

{{1}}

1 个答案:

答案 0 :(得分:0)

嗯,您正在进行的describe_spot_price_history()来电有两个问题:

  1. AvailabilityZone='us-east-1'错了。您必须指定AZ:us-east-1aus-east-1b等,而不是区域us-east-1。当我尝试时,这给了我一个ClientError: ... InvalidParameterValue
  2. 也许这就是你想要的,但请注意,使用MaxResults=1,你实际上只能从调用中获得一个数据点,这可能不是非常有用。您必须遍历剩余的页面才能获得剩余的价格历史记录。我不确定是否有明确的保证,检索的第一个结果始终是此价格历史记录的最新数据点(特别是因为您没有指定StartTimeEndTime),所以如果这是代码的意图,这可能是狡猾的依赖。
  3. 除了这些问题,电话应该有效。仔细检查您提供的访问密钥,您正在使用的IAM用户的策略,以及@ krishna-kumar-r建议的评论,如果您的AWS账户可能拖欠,请联系支持。