【发布时间】:2018-05-04 05:58:01
【问题描述】:
我一直在使用此 SDK 中的其他 gems,之前从未见过此问题。我正在尝试创建一个定价客户端并获取一些服务描述,但我遇到了这个异常,我不确定为什么:
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:遇到
SocketErrorwhile 尝试连接到:https://api.pricing.eu-west-1.amazonaws.com
这通常是无效的
:region选项或: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
我已经在其他地区尝试过,并获得了相同的结果。其他 gem 中的相同模式,如 aws-sdk-ec2,允许我毫无问题地实例化客户端。我在这里错过了什么?
提前致谢。
如果重要,请使用 ruby 2.3.3。
【问题讨论】: