本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在外部設定第 3 適用於 PHP 的 AWS SDK 版的服務用戶端
許多組態設定可以在程式碼之外處理。大多數組態設定可以設定為環境變數或單獨的共用 AWS config
檔案中。 AWS 共用config
檔案可以維護個別的設定集,稱為設定檔,為不同的環境或測試提供不同的組態。如需共用 AWS config
和 credentials
檔案的完整討論,請參閱 AWS SDKs和工具參考指南。
大多數環境變數和共用config
檔案設定會在 AWS SDKs 和工具之間標準化和共用,以支援不同程式設計語言和應用程式的一致功能。
若要查看開發套件可從環境變數或組態檔案解析的所有設定,請參閱開發套件和工具參考指南中的設定參考。 AWS SDKs
用戶端組態的組態提供者鏈結
軟體開發套件會檢查多個位置 (或來源) 來尋找組態值。
-
在程式碼中或服務用戶端本身上設定的任何明確設定,都優先於任何其他設定。
-
環境變數
-
如需設定環境變數的詳細資訊,請參閱 AWS SDKs和工具參考指南中的環境變數。
-
請注意,您可以為殼層設定不同範圍的環境變數:全系統、全使用者和特定終端機工作階段。
-
-
共用
config
和credentials
檔案-
如需設定這些檔案的詳細資訊,請參閱 SDK
config
和工具參考指南中的共用 和credentials
檔案。 AWS SDKs
-
-
開發套件原始碼本身提供的任何預設值都會最後使用。
-
有些屬性,例如區域,沒有預設值。您必須在程式碼、環境設定或共用
config
檔案中明確指定它們。如果 SDK 無法解析所需的組態,API 請求可能會在執行時間失敗。
-
除了此一般組態鏈之外,第 3 適用於 PHP 的 AWS SDK 版也使用專門的提供者鏈,包括登入資料提供者鏈和AWS 區域 解析鏈。這些特殊化鏈結新增了額外的供應商,這些供應商會將 SDK 正在執行的環境納入考量。例如,在容器或 EC2 執行個體中。
建立使用外部設定設定的 服務用戶端
您需要在應用程式中建立服務用戶端,才能與 通訊 AWS 服務。服務用戶端是您與 的基本連線 AWS 服務,可處理所有複雜的通訊詳細資訊,讓您不必擔心。它們會自動處理安全、錯誤處理和重試等重要任務,讓您專注於建置應用程式,而不是處理技術複雜性。
使用沒有參數的建構函數來建構服務用戶端
如果您需要的所有組態設定都來自外部來源,您可以使用空的建構函數來建立服務用戶端:
require 'vendor/autoload.php'; use Aws\S3\S3Client; $s3 = new S3Client([]);
先前的程式碼片段會建立S3Client
執行個體。在建立期間,軟體開發套件會查看組態提供者鏈中的設定。一旦軟體開發套件找到設定值,就會使用該值。
預設 AWS 區域 提供者鏈和預設登入資料提供者鏈也會用於建立程序。在鏈結中的某處,開發套件必須解析 AWS 區域 以使用和尋找設定,讓它能夠擷取簽署請求的登入資料。如果 SDKs來尋找這些值,則用戶端建立會失敗。
適用於 PHP 的 AWS SDK 第 3 版環境變數
除了 AWS SDKs支援的跨磁碟設定之外,第 3 適用於 PHP 的 AWS SDK 版適用於下列環境變數:
- AWS_SDK_LOAD_NONDEFAULT_CONFIG
-
設定時,此環境變數會指示 SDK 從 AWS
config
檔案 (~/.aws/config
) 載入登入資料,以及credentials
檔案 (~/.aws/credential
)。 - AWS_SDK_UA_APP_ID
-
設定自訂應用程式識別符,該識別符包含在 SDK 所提出請求的 User-Agent 標頭中。
- AWS_SUPPRESS_PHP_DEPRECATION_WARNING
-
設為 true 時, 會隱藏軟體開發套件可能產生的 PHP 棄用警告。