本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为适用于 Ruby 的 AWS SDK 设置 AWS 区域
您可以使用 AWS 区域访问在特定地理区域运营的 AWS 服务。它可以用于保证冗余,并保证您的数据和应用程序接近您和用户访问它们的位置。
重要
大多数资源都位于特定的 AWS 区域,在使用 SDK 时,您必须提供资源所在的正确区域。
您必须为适用于 Ruby 的 SDK 设置默认 AWS 区域 以用于 AWS 请求。此默认设置用于未指定区域的任何 SDK 服务方法调用。
有关 region 设置的更多信息,请参阅《AWS SDK 和工具参考指南》中的 AWS 区域。其中还包括有关如何通过共享 AWS config 文件或环境变量设置默认区域的示例。
用于解析的区域搜索顺序
在使用大多数 AWS 服务时,您需要设置区域。适用于 Ruby 的 AWS SDK 按以下顺序搜索区域:
-
在客户端或资源对象中设置区域
-
使用
Aws.config设置区域 -
使用环境变量设置区域
-
使用共享
config文件设置区域
如何设置区域
此部分从最常见的方法开始介绍设置区域的不同方法。
使用共享 config 文件设置区域
通过在共享 AWS config 文件中设置 region 变量来设置区域。有关共享 config 文件的更多信息,请参阅《AWS SDK 和工具参考指南》中的共享 config 和 credentials 文件。
在 config 文件中设置此值的示例:
[default] region = us-west-2
如果设置了环境变量 AWS_SDK_CONFIG_OPT_OUT,则不会检查共享 config 文件。
使用环境变量设置区域
通过设置 AWS_REGION 环境变量来设置区域。
使用 export 命令在基于 Unix 的系统(例如 Linux 或 macOS)上设置此变量。以下示例将区域设置为 us-west-2。
export AWS_REGION=us-west-2
要在 Windows 上设置此变量,请使用 set 命令。以下示例将区域设置为 us-west-2。
set AWS_REGION=us-west-2
使用 Aws.config 设置区域
通过将 region 值添加到 Aws.config 哈希中来设置区域。以下示例更新 Aws.config 哈希来使用 us-west-1 区域。
Aws.config.update({region: 'us-west-1'})
您随后创建的任何客户端或资源都将绑定到此区域。
在客户端或资源对象中设置区域
在创建 AWS 客户端或资源时设置区域。以下示例在 us-west-1 区域中创建 Amazon S3 资源对象。为您的 AWS 资源选择正确的区域。服务客户端对象是不可变的,因此您必须为向其发出请求的每个服务创建一个新的客户端,并使用不同的配置向同一服务发出请求。
s3 = Aws::S3::Resource.new(region: 'us-west-1')