我一直在使用这个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
您可以在请求中指定想要价格的地区。