Amazon Web Services 区域 为 适用于 PHP 的 Amazon SDK 版本 3 进行设置 - 适用于 PHP 的 Amazon SDK
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon Web Services 区域 为 适用于 PHP 的 Amazon SDK 版本 3 进行设置

SDK 客户端会 Amazon Web Services 服务 连接到您在创建客户端时指定的特定 Amazon Web Services 区域 内容。此配置允许您的应用程序与该地理区域中的 Amazon 资源进行交互。当您在未明确设置区域的情况下创建服务客户端时,SDK 将使用外部配置中的默认区域。

区域分辨率链

适用于 PHP 的 Amazon SDK 版本 3 使用以下顺序来确定服务客户端使用哪个区域:

  1. 代码中提供的区域-如果您在客户端构造函数选项中明确设置了区域,则该区域优先于所有其他来源。

    $s3Client = new Aws\S3\S3Client([ 'region' => 'us-west-2' ]);
  2. 环境变量-如果代码中未提供区域,SDK 将按顺序检查这些环境变量:

    • AWS_REGION

    • AWS_DEFAULT_REGION

    # Example of setting Region through environment variables. export AWS_REGION=us-east-1
  3. Amazon 配置文件-如果未设置区域环境变量,SDK 将检查 Amazon 配置文件:

    1. SDK 查找~/.aws/config(或AWS_CONFIG_FILE环境变量指定的位置)

    2. SDK 在AWS_PROFILE环境变量指定的配置文件中检查区域设置

    3. 如果未指定AWS_PROFILE,则 SDK 使用 “默认” 配置文件

    举个例子,假设我们有以下配置文件设置:

    # Example ~/.aws/config file. [default] region = eu-west-1 [profile production] region = eu-central-1

    如果将AWS_PROFILE环境变量的值设置为 “production”,则客户端使用eu-central-1 Region。如果不存在AWS_PROFILE环境变量,则客户端将使用该eu-west-1区域。

  4. 如果 SDK 在上述任何来源中都找不到区域值,则会引发异常,因为区域值是服务客户端的必需设置。

最佳实践

在 适用于 PHP 的 Amazon SDK 版本 3 中使用区域时,请考虑以下最佳实践:

在生产代码中明确设置区域

对于生产应用程序,我们建议在代码中明确设置区域,而不是依赖环境变量或config。这使您的代码更具可预测性,减少对外部配置的依赖。

使用环境变量进行开发和测试

对于开发和测试环境,使用环境变量可以提高灵活性,而无需更改代码。

在多个环境中使用配置文件

如果您的应用程序需要在多个 Amazon 环境中运行,请考虑在文件中使用不同的配置 Amazon config文件并根据需要在它们之间切换。