使用全域組態物件 - AWS SDK for JavaScript

我們宣布了即將推 end-of-support 出的 AWS SDK for JavaScript v2。我們建議您移轉至 AWS SDK for JavaScript v3。有關日期,其他詳細信息以及如何遷移的信息,請參閱鏈接的公告。

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

使用全域組態物件

有兩種方式可以設定軟體開發套件:

  • 使用 AWS.Config 設定全域組態。

  • 將額外的組態資訊傳遞給服務物件。

使用 AWS.Config 設定全域組態的入門通常比較簡單,但服務層級組態可提供對個別服務的進一步控制。AWS.Config 指定的全球組態會為您後續建立的服務物件提供預設設定,可讓設定更簡單。然而,您可以在需求隨全域組態而變化時,更新個別服務物件的組態。

設定全域組態

在您的程式碼中載入 aws-sdk 套件後,您可以使用 AWS 全域變述來存取軟體開發套件的類別並與個別服務互動。該軟體開發套件包含的全域組態物件 AWS.Config,是您可以用來指定應用程式所需的軟體開發套件組態設定。

請根據您的應用程式需求設定 AWS.Config 屬性,來設定軟體開發套件。下表摘要說明一般用來設定軟體開發套件組態的 AWS.Config 屬性。

組態選項 描述
credentials 「必要」。指定判斷服務和資源存取所用的登入資料。
region 「必要」。指定為服務提出請求的區域。
maxRetries 選用。指定特定請求重試的次數上限。
logger 選用。指定要將偵錯資訊寫入其中的記錄器物件。
update 選用。使用新值更新目前組態。

如需有關設定物件的詳細資訊,請參閱 API 參考Class: AWS.Config中的。

全域組態範例

您必須在 AWS.Config 中設定區域和登入資料。您可以將這些屬性設為 AWS.Config 建構子的一部分,如下列瀏覽器指令碼範例所示:

var myCredentials = new AWS.CognitoIdentityCredentials({IdentityPoolId:'IDENTITY_POOL_ID'}); var myConfig = new AWS.Config({ credentials: myCredentials, region: 'us-west-2' });

您也可以在使用 update 方法建立 AWS.Config 後,設定這些屬性,如下更新該區域的範例所示:

myConfig = new AWS.Config(); myConfig.update({region: 'us-east-1'});

您可以呼叫 AWS.config 的靜態 getCredentials 方法,取得您的預設登入資料:

var AWS = require("aws-sdk"); AWS.config.getCredentials(function(err) { if (err) console.log(err.stack); // credentials not loaded else { console.log("Access key:", AWS.config.credentials.accessKeyId); } });

同樣地,如果您已在 config 檔案中正確設定區域,則可將 AWS_SDK_LOAD_CONFIG 環境變數設為真值,並呼叫 AWS.config 的靜態 region 屬性,來取得該值:

var AWS = require("aws-sdk"); console.log("Region: ", AWS.config.region);

依服務設定組態

您在 SDK 中使用的每個服務都 JavaScript 是透過屬於該服務 API 一部分的服務物件存取。例如,若要存取 Amazon S3 服務,您需要建立 Amazon S3 服務物件。您可以指定組態設定,該設定是專屬於該服務物件之建構子的服務。當您在服務物件上設定組態值時,建構子會採用 AWS.Config 所用的所有組態值 (包含登入資料)。

例如,如果您需要存取多個區域中的 Amazon EC2 物件,請為每個區域建立 Amazon EC2 服務物件,然後相應地設定每個服務物件的區域組態。

var ec2_regionA = new AWS.EC2({region: 'ap-southeast-2', maxRetries: 15, apiVersion: '2014-10-01'}); var ec2_regionB = new AWS.EC2({region: 'us-east-1', maxRetries: 15, apiVersion: '2014-10-01'});

您也可以在使用 AWS.Config 設定軟體開發套件時,設定服務專屬的組態值。全域組態物件支援許多服務特定的組態選項。如需有關服務特定組態的詳細資訊,請參閱 AWS SDK for JavaScript API 參考Class: AWS.Config中的。

固定組態資料

全域組態變更適用於所有新建立服務物件的請求。新建立服務物件的設定會先使用目前全域組態資料,然後再使用任何本機組態選項。您對全域 AWS.config 物件所做的更新不會套用至先前建立的服務物件。

您必須使用新組態資料來手動更新現有服務物件,或是您必須建立和使用具有新組態資料的新服務物件。下列範例會使用新的組態資料建立新的 Amazon S3 服務物件:

s3 = new AWS.S3(s3.config);