我們宣布
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Node.js 入門
這個 Node.js 程式碼範例會說明:
如何為專案建立
package.json
資訊清單。如何安裝並加入專案所使用的模組。
如何從
AWS.S3
用戶端類別建立 Amazon 簡易儲存服務 (Amazon S3) 服務物件。如何建立 Amazon S3 儲存貯體並將物件上傳到該儲存貯體。
使用案例
此範例顯示如何設定和執行建立 Amazon S3 儲存貯體的簡單 Node.js 模組,然後在其中新增文字物件。
由於 Amazon S3 中的儲存貯體名稱必須是全域唯一的,因此此範例包含第三方 Node.js 模組,可產生唯一 ID 值,您可以將其合併到儲存貯體名稱中。這個額外的模組名為 uuid
。
先決條件任務
若要設定和執行此範例,您必須先完成這些任務:
建立可用來開發 Node.js 模組的工作目錄,並將該目錄命名為
awsnodesample
。請注意,目錄必須建立在可由應用程式更新的位置。例如,請勿在 Windows 環境的「C:\Program Files」下建立目錄。安裝 Node.js。如需詳細資訊,請參閱 Node.js
網站。您可以前往 https://nodejs.org/en/download/current/ ,尋找並下載適用於各種作業系統的 Node.js 目前版本和 LTS 版本。
第 1 步:安裝 SDK 和依賴關係
您可以使用 npm (Node.js JavaScript 套件管理員) 來安裝套件
移至套件中的 awsnodesample
目錄,並將下列指令輸入命令列。
npm install aws-sdk
此命令會在您的專案 JavaScript 中安裝 SDK,並更新package.json
以將 SDK 列為專案相依性。您可以在 npm 網站
接下來,請將 uuid
模組安裝至專案,方法是在命令列中輸入下列指令;該指令會隨即安裝模組並更新 package.json
。如需 uuid
的詳細資訊,請參閱 https://www.npmjs.com/package/uuid
npm install uuid
系統會在專案的 node_modules
子目錄中安裝這些套件及其相關聯的程式碼。
如需有關安裝 Node.js 套件的詳細資訊,請參閱在本機下載和安裝套件
步驟 2:設定您的認證
您需要提供認證,以 AWS 便 SDK 只能存取您的帳戶及其資源。如需取得帳戶登入資料的詳細資訊,請參閱使用 SDK 驗證 AWS。
建議您建立一個共用登入資料檔案,以便保留此資訊。如要瞭解如何作業,請參閱從共用登入資料檔案中在 Node.js 中載入登入資料。登入資料檔案應該如下方範例所示。
[default] aws_access_key_id =
YOUR_ACCESS_KEY_ID
aws_secret_access_key =YOUR_SECRET_ACCESS_KEY
您可以使用 Node.js 執行下列程式碼,判斷是否已正確設定認證:
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
環境變數設定為任何值並使用下列程式碼來顯示該值:
var AWS = require("aws-sdk"); console.log("Region: ", AWS.config.region);
步驟 3:為專案建立 Package JSON
awsnodesample
專案目錄建立完畢後,您便能建立和新增 package.json
檔案,藉此保留 Node.js 專案的中繼資料。如需有關在 Node.js 專案package.json
中使用的詳細資訊,請參閱建立封裝.
在專案目錄中,建立稱為 package.json
的新檔案。接著,將下列 JSON 新增至檔案。
{ "dependencies": {}, "name": "aws-nodejs-sample", "description": "A simple Node.js application illustrating usage of the SDK for JavaScript.", "version": "1.0.1", "main": "sample.js", "devDependencies": {}, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "
NAME
", "license": "ISC
" }
儲存檔案。在您安裝所需模組時,系統會完成檔案的 dependencies
部分。您可以在這裡
步驟 4:編寫 Node.js 程式碼
建立名為 sample.js
的新檔案,其中包含範例程式碼。首先添加require
函數調用以包含用於 JavaScript和uuid
模塊的 SDK,以便您可以使用它們。
在這種情況下,透過將唯一 ID 值附加到可識別的前綴,建立用於建立 Amazon S3 儲存貯體的唯一儲存貯體名稱。'node-sdk-sample-'
請呼叫 uuid
模組來產生唯一 ID。然後,為 Key
參數建立一個名稱,該參數可用來上傳物件至儲存貯體。
建立 promise
物件,以便呼叫 AWS.S3
服務物件的 createBucket
方法。收到成功回應後,建立將文字上傳至新建儲存貯體所需的參數。使用另一個 promise 來呼叫 putObject
方法,並上傳文字物件至儲存貯體。
// Load the SDK and UUID var AWS = require("aws-sdk"); var uuid = require("uuid"); // Create unique bucket name var bucketName = "node-sdk-sample-" + uuid.v4(); // Create name for uploaded object key var keyName = "hello_world.txt"; // Create a promise on S3 service object var bucketPromise = new AWS.S3({ apiVersion: "2006-03-01" }) .createBucket({ Bucket: bucketName }) .promise(); // Handle promise fulfilled/rejected states bucketPromise .then(function (data) { // Create params for putObject call var objectParams = { Bucket: bucketName, Key: keyName, Body: "Hello World!", }; // Create object upload promise var uploadPromise = new AWS.S3({ apiVersion: "2006-03-01" }) .putObject(objectParams) .promise(); uploadPromise.then(function (data) { console.log( "Successfully uploaded data to " + bucketName + "/" + keyName ); }); }) .catch(function (err) { console.error(err, err.stack); });
您可以在這裡
步驟 5:執行範例
輸入下列命令執行範例。
node sample.js
如果上傳成功,您就會在命令列看到確認訊息。您也能夠在 Amazon S3 主控台