

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

# 在代码中为 Ruby 服务客户端配置 AWS SDK
<a name="setup-config"></a>

当直接在代码中处理配置时，配置范围仅限于使用该代码的应用程序。在该应用程序中，您可选择以下配置方式：对所有服务客户端的全局配置、对某一特定 AWS 服务 类型所有客户端的配置，或对某个具体服务客户端实例的配置。

## `Aws.config`
<a name="config"></a>

要在代码中为所有 AWS 类提供全局配置 [https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/lib/aws-sdk-core/plugins/global_configuration.rb](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/lib/aws-sdk-core/plugins/global_configuration.rb)，请使用 `aws-sdk-core` gem 中提供的全局配置。

 `Aws.config` 支持两种不同用途的语法。全局设置可以应用于所有 AWS 服务 服务，也可以应用于特定服务。有关支持的设置的完整列表，请参阅《适用于 Ruby 的 AWS SDK API 参考》**中的 `Client` [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/MachineLearning/Client.html#initialize-instance_method](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/MachineLearning/Client.html#initialize-instance_method)。

### 通过 `Aws.config` 进行全局设置
<a name="global-config"></a>

要通过 `Aws.config` 进行与服务无关的设置，请使用以下语法：

```
Aws.config[:<global setting name>] = <value>
```

这些设置将合并到任何已创建的服务客户端中。

 全局设置示例：

```
Aws.config[:region] = 'us-west-2'
```

 如果您尝试使用不支持全局配置的设置名称，在创建不支持该设置的服务类型实例时将会引发错误。如果发生这种情况，请改用特定于服务的语法。

### 通过 `Aws.config` 进行特定于服务的设置
<a name="service-config"></a>

 要通过 `Aws.config` 进行特定于服务的设置，请使用以下语法：

```
Aws.config[:<service identifier>] = { <global setting name>: <value> }
```

 这些设置会合并到该服务类型的所有已创建的服务客户端中。

 仅适用于 Amazon S3 的设置示例：

```
 Aws.config[:s3] = { force_path_style: true }
```

 可以通过查看对应的[适用于 Ruby 的AWS SDK gem 名称](https://github.com/aws/aws-sdk-ruby/tree/version-3/gems)，并使用紧跟在“`aws-sdk-`”之后的后缀，来识别 `<service identifier>`。例如：
+ 对于 `aws-sdk-s3`，服务标识符字符串为“`s3`”。
+ 对于 `aws-sdk-ecs`，服务标识符字符串为“`ecs`”。