環境變量支持 - AWS 軟體開發套件和工具

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

環境變量支持

環境變數提供另一種方法來指定組態選項和憑證,且適合用來編寫指令碼或暫時將具名描述檔設為預設值。如需大多數 SDK 支援的環境變數清單,請參閱環境變數清單

選項的優先順序
  • 如果您使用其環境變數指定設定,它會覆寫從共用AWSconfig和檔案中設定credentials檔載入的任何值。

  • 如果您使用指AWS 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 人資料中,為所有 future 的 PowerShell 會話設置該變量。如需有關儲存環境變數或在工作階段中保留環境變數的詳細資訊,請參閱PowerShell 文件。

無伺服器環境變數設定

如果您使用無伺服器架構進行開發,您還有其他設定環境變數的選項。視您的容器而定,您可以針對在這些容器中執行的程式碼使用不同的策略來查看和存取環境變數,類似於非雲端環境。

例如,使用AWS Lambda,您可以直接設定環境變數。如需詳細資訊,請參閱AWS Lambda開發人員指南中的使用AWS Lambda環境變數

在無服務器框架中,您通常可以在環境設置下的提供者密鑰下的serverless.yml文件中設置 SDK 環境變量。如需serverless.yml檔案的相關資訊,請參閱無伺服器架構文件中的一般功能設定

無論您使用哪種機制來設定容器環境變數,都有一些是由容器保留的,例如在定義的執行階段環境變數中針對 Lambda 記錄的那些機制。請務必查閱您正在使用的容器的官方文檔,以確定如何處理環境變量以及是否有任何限制。