AWS Ruby SDK定价gem Aws :: Errors :: NoSuchEndpointError

时间:2017-11-20 21:56:24

标签: ruby aws-sdk

我一直在使用此SDK中的其他宝石,之前没有看过这个问题。我试图创建一个定价客户端并获得一些服务描述,但我得到了这个例外,我不确定原因:

require 'aws-sdk-pricing'

c = Aws::Pricing::Client.new(region: 'eu-west-1')
r = c.describe_services({ format_version: "aws_v1", max_results: 1, 
  service_code: "AmazonEC2" })

我得到了:

  

Aws :: Errors :: NoSuchEndpointError:遇到SocketError时   试图连接到:

     

https://api.pricing.eu-west-1.amazonaws.com

     

这通常是无效:region选项或a的结果   格式不正确的:endpoint选项。

     
      
  • 避免直接配置:endpoint选项。端点由:region构成。 :endpoint选项已保留   用于连接非标准测试端点。

  •   
  • 并非每个地区都提供所有服务。

  •   
  • 永远不要使用可用区域后缀区域名称。使用" us-east-1",而不是" us-east-1a"

  •   
     

已知的AWS区域包括(不是特定于此服务):

     

ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2   ca-central-1 eu-central-1 eu-west-1 eu-west-2 sa-east-1 us-east-1   us-east-2-us-west-1 us-west-2 cn-north-1 us-gov-west-1

我已经在其他地区尝试过此操作并获得相同的结果。其他宝石中的相同模式,如aws-sdk-ec2,允许我在没有问题的情况下实例化客户端。我在这里缺少什么?

提前致谢。

如果重要,请使用ruby 2.3.3。

1 个答案:

答案 0 :(得分:0)

在撰写此问题时,AWS仅在2个端点支持此API:us-east-1和ap-south-1。请参阅:http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/using-pelong.html

您可以在请求中指定您想要价格的区域。