在外部設定第 3 適用於 PHP 的 AWS SDK 版的服務用戶端 - 適用於 PHP 的 AWS SDK

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

在外部設定第 3 適用於 PHP 的 AWS SDK 版的服務用戶端

許多組態設定可以在程式碼之外處理。大多數組態設定可以設定為環境變數或單獨的共用 AWS config檔案中。 AWS 共用config檔案可以維護個別的設定集,稱為設定檔,為不同的環境或測試提供不同的組態。如需共用 AWS configcredentials 檔案的完整討論,請參閱 AWS SDKs和工具參考指南

大多數環境變數和共用config檔案設定會在 AWS SDKs 和工具之間標準化和共用,以支援不同程式設計語言和應用程式的一致功能。

若要查看開發套件可從環境變數或組態檔案解析的所有設定,請參閱開發套件和工具參考指南中的設定參考。 AWS SDKs

用戶端組態的組態提供者鏈結

軟體開發套件會檢查多個位置 (或來源) 來尋找組態值。

  1. 在程式碼中或服務用戶端本身上設定的任何明確設定,都優先於任何其他設定。

  2. 環境變數

    • 如需設定環境變數的詳細資訊,請參閱 AWS SDKs和工具參考指南中的環境變數

    • 請注意,您可以為殼層設定不同範圍的環境變數:全系統、全使用者和特定終端機工作階段。

  3. 共用 configcredentials 檔案

  4. 開發套件原始碼本身提供的任何預設值都會最後使用。

    • 有些屬性,例如區域,沒有預設值。您必須在程式碼、環境設定或共用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 棄用警告。