What is aws-sdk?
The aws-sdk npm package is the official AWS SDK for JavaScript, providing JavaScript objects for AWS services including Amazon S3, EC2, DynamoDB, and more. It allows developers to interact with AWS services programmatically, enabling them to build scalable solutions with AWS infrastructure.
What are aws-sdk's main functionalities?
Interacting with Amazon S3
This code sample demonstrates how to retrieve an object from an Amazon S3 bucket using the aws-sdk.
{"const AWS = require('aws-sdk');
const s3 = new AWS.S3();
const params = { Bucket: 'myBucket', Key: 'myKey' };
s3.getObject(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});"}
Managing EC2 Instances
This code sample shows how to describe EC2 instances, providing information about instances running in your AWS account.
{"const AWS = require('aws-sdk');
const ec2 = new AWS.EC2();
const params = { InstanceIds: ['i-1234567890abcdef0'] };
ec2.describeInstances(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});"}
Working with DynamoDB
This code sample illustrates how to retrieve an item from a DynamoDB table using the aws-sdk.
{"const AWS = require('aws-sdk');
const dynamoDB = new AWS.DynamoDB();
const params = {
TableName: 'myTable',
Key: {
'myKey': { S: 'myKeyValue' }
}
};
dynamoDB.getItem(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});"}
Other packages similar to aws-sdk
google-cloud
The google-cloud package is a client library for accessing Google Cloud services similar to how aws-sdk accesses AWS services. It supports services like Google Cloud Storage, BigQuery, and more. While aws-sdk is specific to AWS, google-cloud is tailored for Google Cloud Platform.
ali-oss
The ali-oss package is an SDK for Alibaba Cloud's OSS (Object Storage Service). It offers a subset of the features provided by aws-sdk, but specifically for Alibaba Cloud's storage service. It's a more specialized tool compared to the broad service coverage of aws-sdk.
AWS SDK for Node.js
The official JavaScript implementation of the AWS SDK for Node.js.
Installing
The preferred way to install the AWS SDK for Node.js is to use the
npm package manager for Node.js. Simply type the following
into a terminal window:
npm install aws-sdk
Usage
After you've installed the SDK, you can require the AWS package in your node
application using require
:
var AWS = require('aws-sdk');
Here is a quick example that makes some requests against Amazon S3 with the SDK:
var AWS = require('aws-sdk');
AWS.config.loadFromPath('./path/to/credentials.json');
AWS.config.update({region: 'us-east-1'});
var s3bucket = new AWS.S3({params: {Bucket: 'myBucket'}});
s3bucket.createBucket(function() {
var data = {Key: 'myKey', Body: 'Hello!'};
s3bucket.putObject(data, function(err, data) {
if (err) {
console.log("Error uploading data: ", err);
} else {
console.log("Successfully uploaded data to myBucket/myKey");
}
});
});
Getting Started Guide
You can find a getting started guide at:
http://docs.amazonwebservices.com/nodejs/latest/dg/
Supported Services
The SDK currently supports the following services:
Service Name | API Version | Class Name |
---|
Auto Scaling | 2011-01-01 | AWS.AutoScaling |
AWS CloudFormation | 2010-05-15 | AWS.CloudFormation |
Amazon CloudFront | 2012-05-05 | AWS.CloudFront |
Amazon CloudWatch | 2010-08-01 | AWS.CloudWatch |
Amazon CloudSearch | 2011-02-01 | AWS.CloudSearch |
AWS Data Pipeline | 2012-10-29 | AWS.DataPipeline |
AWS Direct Connect | 2012-10-25 | AWS.DirectConnect |
Amazon DynamoDB | 2012-08-10, 2011-12-05 | AWS.DynamoDB |
Amazon Elastic Compute Cloud | 2012-12-01 | AWS.EC2 |
Amazon ElastiCache | 2012-11-15 | AWS.ElastiCache |
Amazon Glacier | 2012-06-01 | AWS.Glacier |
Amazon Route 53 | 2012-12-12 | AWS.Route53 |
AWS Elastic Beanstalk | 2010-12-01 | AWS.ElasticBeanstalk |
Elastic Load Balancing | 2012-06-01 | AWS.ELB |
Amazon Elastic MapReduce | 2009-03-31 | AWS.EMR |
Amazon Elastic Transcoder | 2012-09-25 | AWS.ElasticTranscoder |
AWS Identity and Access Management | 2010-05-08 | AWS.IAM |
AWS Import/Export | 2010-06-01 | AWS.ImportExport |
AWS OpsWorks | 2013-02-18 | AWS.OpsWorks |
Amazon Relational Database Service (Beta) | 2012-07-31 | AWS.RDS |
Amazon Redshift | 2012-12-01 | AWS.Redshift |
Amazon Simple Storage Service | 2006-03-01 | AWS.S3 |
Amazon SimpleDB | 2009-04-15 | AWS.SimpleDB |
Amazon Simple Workflow Service | 2012-01-25 | AWS.SimpleWorkflow |
Amazon Simple Email Service | 2010-12-01 | AWS.SES |
Amazon Simple Notification Service | 2010-03-31 | AWS.SNS |
Amazon Simple Queue Service | 2012-11-05 | AWS.SQS |
AWS Storage Gateway | 2012-06-30 | AWS.StorageGateway |
AWS Security Token Service | 2011-06-15 | AWS.STS |
AWS Support | 2013-04-15 | AWS.Support |
License
This SDK is distributed under the
Apache License, Version 2.0.
Copyright 2012. Amazon Web Services, Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.