Tạo ứng dụng đơn giản trên AWS bằng Node js
Trong bài viết này chúng tôi sẽ hướng dẫn các bạn cách thiết lập môi trường và chạy một module Node js đơn giản tạo bucket và upload file lên AWS.
Vì bucket trên AWS cần đặt tên là duy nhất do vậy trong ví dụ này cần khai báo bổ sung thêm uuid
Cấu hình tài khoản xác thực
Bạn có thể cấu hình tài khoản xác thực dùng chung SDK và lưu trong file cấu hình. Khi AWS SDK Javascript kết nối thì sẽ tự động tìm kiếm file tài khoản dùng chung này theo tên credentials
, tại đường dẫn là ~/.aws/credentials
[default] aws_access_key_id = YOUR_ACCESS_KEY_ID aws_secret_access_key = YOUR_SECRET_ACCESS_KEY
Thông tin cấu hình được lưu tai đường dẫn ~/.aws/config
# ~/.aws/config [default] region=ap-southeast-1 output=json
Tạo gói JSON cho project
File JSON được tạo trong thư mục với thư mục chưa Project awsnodesample
{ "dependencies": {}, "name": "aws-nodejs-sample", "description": "A simple Node.js application illustrating usage of the AWS SDK for Node.js.", "version": "1.0.1", "main": "sample.js", "devDependencies": {}, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "NAME", "license": "ISC" }
Cài đặt SDK và dependencies
npm install aws-sdk
npm install uuid
Viết mã code
// 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); });
Chạy ứng dụng
node sample.js
Tham khảo
https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-started-nodejs.html