AWS Ruby SDK定价宝石AWS::Errors::NoSuchEndpointError



我一直在使用这个SDK中的其他gem,以前从未见过这个问题。我正在尝试创建一个定价客户端并获得一些服务描述,但我遇到了这个异常,我不确定为什么:

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选项或格式不正确的:endpoint选项。

  • 避免直接配置:endpoint选项。根据CCD_ 5构造端点。保留:endpoint选项用于连接到非标准测试端点。

  • 并不是每个地区都提供每项服务。

  • 切勿在地区名称后面加上可用区域。使用"us-east-1",而不是"us-east-1a">

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

ap-东北-1 ap-东北-2 ap-南-1 ap-东南-1 ap-南-2ca-central-1 eu-centrl-1 eu-west-1 eu-west-2 sa-east-1 us-east-1美国东部-2美国西部-1美国西部-2中国北部-1美国东部-1

我在其他地区也尝试过,得到了同样的结果。其他gem中的相同模式,如aws-sdk-ec2,允许我在没有问题的情况下实例化客户端。我在这里错过了什么?

提前谢谢。

如果重要的话,使用ruby 2.3.3。

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

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

最新更新