环境变量支持 - Amazon 软件开发工具包和工具
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

环境变量支持

环境变量提供了另一种指定配置选项和凭证的方法;若要编写脚本或将一个命名配置文件临时设置为默认配置文件,环境变量会很有用。有关大多数 SDK 支持的环境变量的列表,请参阅 环境变量列表

选项的优先顺序
  • 如果您使用环境变量指定设置,则它将覆盖从共享 Amazon configcredentials 文件中加载的任何值。

  • 如果您通过在 Amazon CLI 命令行上使用参数指定某一设置,则它将在配置文件中覆盖相应环境变量或配置文件中的任何值。

如何设置环境变量

下面的示例介绍您如何可以为默认用户配置环境变量。

Linux, macOS, or Unix
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk $ export AWS_REGION=us-west-2

设置环境变量会更改使用的值,直到 Shell 会话结束或直到您将该变量设置为其他值。通过在 shell 的启动脚本中设置变量,可使变量在未来的会话中继续有效。

Windows Command Prompt
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> setx AWS_SESSION_TOKEN AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk C:\> setx AWS_REGION us-west-2

使用 set 设置环境变量会更改使用的值,直到当前命令提示符会话结束,或者直到您将该变量设置为其他值。使用 setx 设置环境变量会更改当前命令提示符会话和运行该命令后创建的所有命令提示符会话中使用的值。它 影响在运行该命令时已经运行的其他命令 shell。

PowerShell
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" PS C:\> $Env:AWS_SESSION_TOKEN="AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk" PS C:\> $Env:AWS_REGION="us-west-2"

如果在 PowerShell 提示符下设置环境变量(如前面的示例所示),则仅保存当前会话持续时间的值。要在所有 PowerShell 和命令提示符会话中使环境变量设置保持不变,请使用控制面板中的系统应用程序来存储该变量。或者,您可以通过将其添加到 PowerShell 配置文件来为将来的所有 PowerShell 会话设置该变量。有关存储环境变量或跨会话保存它们的更多信息,请参阅 PowerShell 文档

无服务器环境变量设置

如果您使用无服务器架构进行开发,则还有其他设置环境变量的选项。根据您的容器,您可以对在这些容器中运行的代码使用不同的策略来查看和访问环境变量,这与非云环境类似。

例如,使用 Amazon Lambda 可直接设置环境变量。有关更多信息,请参阅《Amazon Lambda 开发者指南》中的使用 Amazon Lambda 环境变量

在无服务器框架中,通常可在环境设置下的提供者密钥下的 serverless.yml 文件中设置 SDK 环境变量。有关该 serverless.yml 文件的信息,请参阅无服务器框架文档中的 常规功能设置

无论您使用哪种机制来设置容器环境变量,都有一些变量由容器保留,例如在 定义的运行时系统环境变量 中为 Lambda 记录的变量。请务必查阅您使用的容器的官方文档,以确定如何处理环境变量以及是否存在任何限制。