

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用适用于 Ruby 的 Amazon SDK 发出 Amazon Web Services 服务请求
<a name="service-clients"></a>

 要以编程方式访问 Amazon Web Services 服务，SDK 对每个 Amazon Web Services 服务使用一个客户端类。例如，如果您的应用程序需要访问 Amazon EC2，则您的应用程序会创建一个 Amazon EC2 客户端对象来与该服务交互。然后，您可以使用服务客户端向该 Amazon Web Services 服务 发出请求。

要向 Amazon Web Services 服务发出请求，您必须先创建和[配置](configuring.md)服务客户端。对于您的代码使用的每个 Amazon Web Services 服务，它都有自己的 gem 和用于与之交互的专用类型。客户端为服务公开的每个 API 操作公开一种方法。

每个服务客户端都需要一个 Amazon Web Services 区域和一个凭证提供程序。SDK 使用这些值将您的资源请求发送到正确的区域，并使用正确的凭证对请求进行签名。您可以在代码中以编程方式指定这些值，也可以让它们从环境变量中自动加载。
+ 实例化客户端类时，必须提供 Amazon 凭证。有关 SDK 检查身份验证提供程序的顺序，请参阅[凭证提供程序链](credential-providers.md#credchain)。

  
+ 该 SDK 有一系列地点（或来源），它会检查这些地点（或来源），以便找到配置设置的值。有关更多信息，请参阅 [设置的优先级](configuring.md#precedence-settings)。

适用于 Ruby 的 SDK 包括提供 Amazon Web Services 服务接口的客户端类。每个客户端类都支持特定的 Amazon Web Services 服务 并遵循 `Aws::{{<service identifier>}}::Client` 的命名规范。例如，[https://docs.amazonaws.cn/sdk-for-ruby/v3/api/Aws/S3/Client.html](https://docs.amazonaws.cn/sdk-for-ruby/v3/api/Aws/S3/Client.html) 提供与 Amazon Simple Storage Service 服务交互的接口，而 [https://docs.amazonaws.cn/sdk-for-ruby/v3/api/Aws/SQS/Client.html](https://docs.amazonaws.cn/sdk-for-ruby/v3/api/Aws/SQS/Client.html) 提供与 Amazon Simple Queue Service 服务交互的接口。

 所有 Amazon Web Services 服务 的客户端类都是线程安全的。

您可以将配置选项直接传递给客户端和资源构造函数。这些选项的优先级高于环境和 `Aws.config` 默认值。

```
# using a credentials object
ec2 = Aws::EC2::Client.new(region: 'us-west-2', credentials: credentials)
```