# AWS SDK for JavaScript [![NPM](https://nodei.co/npm/aws-sdk.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/aws-sdk/) [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/aws/aws-sdk-js) [![Version](https://badge.fury.io/js/aws-sdk.svg)](http://badge.fury.io/js/aws-sdk) [![Build Status](https://travis-ci.org/aws/aws-sdk-js.svg?branch=master)](https://travis-ci.org/aws/aws-sdk-js) [![Coverage Status](https://coveralls.io/repos/aws/aws-sdk-js/badge.svg?branch=master)](https://coveralls.io/r/aws/aws-sdk-js?branch=master) The official AWS SDK for JavaScript, available for browsers and mobile devices, or Node.js backends For release notes, see the [CHANGELOG](CHANGELOG.md). Prior to v2.4.8, release notes can be found at http://aws.amazon.com/releasenotes/SDK/JavaScript

If you are upgrading from 1.x to 2.0 of the SDK, please see the {file:UPGRADING.md} notes for information on how to migrate existing code to work with the new major version.

## Installing ### In the Browser To use the SDK in the browser, simply add the following script tag to your HTML pages: You can also build a custom browser SDK with your specified set of AWS services. This can allow you to reduce the SDK's size, specify different API versions of services, or use AWS services that don't currently support CORS if you are working in an environment that does not enforce CORS. To get started: http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/building-sdk-for-browsers.html The AWS SDK is also compatible with [browserify](http://browserify.org). ### In Node.js The preferred way to install the AWS SDK for Node.js is to use the [npm](http://npmjs.org) package manager for Node.js. Simply type the following into a terminal window: ```sh npm install aws-sdk ``` ### Using Bower You can also use [Bower](http://bower.io) to install the SDK by typing the following into a terminal window: ```sh bower install aws-sdk-js ``` ## Usage and Getting Started You can find a getting started guide at: http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide ## Usage with TypeScript The AWS SDK for JavaScript bundles TypeScript definition files for use in TypeScript projects and to support tools that can read `.d.ts` files. Our goal is to keep these TypeScript definition files updated with each release for any public api. ### Pre-requisites Before you can begin using these TypeScript definitions with your project, you need to make sure your project meets a few of these requirements: * Use TypeScript v2.x * Includes the TypeScript definitions for node. You can use npm to install this by typing the following into a terminal window: ```sh npm install --save-dev @types/node ``` * Your `tsconfig.json` or `jsconfig.json` includes `'dom'` and `'es2015.promise'` under `compilerOptions.lib`. See [tsconfig.json](./ts/tsconfig.json) for an example. ### In the Browser To use the TypeScript definition files with the global `AWS` object in a front-end project, add the following line to the top of your JavaScript file: ```javascript /// ``` This will provide support for the global `AWS` object. ### In Node.js To use the TypeScript definition files within a Node.js project, simply import `aws-sdk` as you normally would. In a TypeScript file: ```javascript // import entire SDK import AWS = require('aws-sdk'); // import AWS object without services import AWS = require('aws-sdk/global'); // import individual service import S3 = require('aws-sdk/clients/s3'); ``` In a JavaScript file: ```javascript // import entire SDK var AWS = require('aws-sdk'); // import AWS object without services var AWS = require('aws-sdk/global'); // import individual service var S3 = require('aws-sdk/clients/s3'); ``` ### Known Limitations There are a few known limitations with the bundled TypeScript definitions at this time: * Service client typings reflect the latest `apiVersion`, regardless of which `apiVersion` is specified when creating a client. * Service-bound parameters use the `any` type. ## Supported Services

Note: Although all services are supported in the browser version of the SDK, not all of the services are available in the default hosted build (using the script tag provided above). Instructions on how to build a custom version of the SDK with individual services are provided in the "Building the SDK for Browsers" section of the SDK Developer Guide.

The SDK currently supports the following services:
Service Name Class Name API Version
Amazon API GatewayAWS.APIGateway2015-07-09
Amazon CloudFrontAWS.CloudFront2014-10-21
Amazon CloudHSMAWS.CloudHSM2014-05-30
Amazon CloudSearchAWS.CloudSearch2013-01-01
Amazon CloudSearch DomainAWS.CloudSearchDomain2013-01-01
Amazon CloudWatchAWS.CloudWatch2010-08-01
Amazon CloudWatch EventsAWS.CloudWatchLogs2015-10-07
Amazon CloudWatch LogsAWS.CloudWatchLogs2014-03-28
Amazon Cognito IdentityAWS.CognitoIdentity2014-06-30
Amazon Cognito SyncAWS.CognitoSync2014-06-30
Amazon DynamoDBAWS.DynamoDB2012-08-10
Amazon DynamoDB StreamsAWS.DynamoDBStreams2012-08-10
Amazon EC2 Container RegistryAWS.ECR2015-09-21
Amazon EC2 Container ServiceAWS.ECS2014-11-13
Amazon Elastic Compute CloudAWS.EC22014-10-01
Amazon Elastic File SystemAWS.EFS2015-02-01
Amazon Elastic MapReduceAWS.EMR2009-03-31
Amazon Elastic TranscoderAWS.ElasticTranscoder2012-09-25
Amazon ElastiCacheAWS.ElastiCache2014-09-30
Amazon Elasticsearch ServiceAWS.ES2015-01-01
Amazon GameLiftAWS.GameLift2015-10-01
Amazon GlacierAWS.Glacier2012-06-01
Amazon InspectorAWS.Inspector2016-02-16
Amazon KinesisAWS.Kinesis2013-12-02
Amazon Kinesis AnalyticsAWS.KinesisAnalytics2015-08-14
Amazon Kinesis FirehoseAWS.Firehose2015-08-04
Amazon Machine LearningAWS.MachineLearning2014-12-12
Amazon Mobile AnalyticsAWS.MobileAnalytics2014-06-05
Amazon RedshiftAWS.Redshift2012-12-01
Amazon Relational Database ServiceAWS.RDS2014-09-01
Amazon Route 53AWS.Route532013-04-01
Amazon Route 53 DomainsAWS.Route53Domains2014-05-15
Amazon Simple Email ServiceAWS.SES2010-12-01
Amazon Simple Notification ServiceAWS.SNS2010-03-31
Amazon Simple Queue ServiceAWS.SQS2012-11-05
Amazon Simple Storage ServiceAWS.S32006-03-01
Amazon Simple Systems Management ServiceAWS.SSM2014-11-06
Amazon Simple Workflow ServiceAWS.SWF2012-01-25
Amazon SimpleDBAWS.SimpleDB2009-04-15
Amazon SnowballAWS.Snowball2016-06-30
Amazon WorkSpacesAWS.WorkSpaces2015-04-08
Auto ScalingAWS.AutoScaling2011-01-01
AWS Certificate ManagerAWS.ACM2015-12-08
AWS CloudFormationAWS.CloudFormation2010-05-15
AWS CloudTrailAWS.CloudTrail2013-11-01
AWS CodeCommitAWS.CodeCommit2015-04-13
AWS CodeDeployAWS.CodeDeploy2014-10-06
AWS CodePipelineAWS.CodePipeline2015-07-09
AWS ConfigAWS.ConfigService2014-11-12
AWS Data PipelineAWS.DataPipeline2012-10-29
AWS Database Migration ServiceAWS.DMS2016-01-01
AWS Device FarmAWS.DeviceFarm2015-06-23
AWS Direct ConnectAWS.DirectConnect2012-10-25
AWS Directory ServiceAWS.DirectoryService2015-04-16
AWS Elastic BeanstalkAWS.ElasticBeanstalk2010-12-01
AWS Identity and Access ManagementAWS.IAM2010-05-08
AWS Import/ExportAWS.ImportExport2010-06-01
AWS IoTAWS.Iot2015-05-28
AWS IoT Data PlaneAWS.IotData2015-05-28
AWS Key Management ServiceAWS.KMS2014-11-01
AWS LambdaAWS.Lambda2015-03-31
AWS Marketplace Commerce AnalyticsAWS.MarketplaceCommerceAnalytics2015-07-01
AWS Marketplace MeteringAWS.MarketplaceMetering2016-01-14
AWS OpsWorksAWS.OpsWorks2013-02-18
AWS Security Token ServiceAWS.STS2011-06-15
AWS Storage GatewayAWS.StorageGateway2013-06-30
AWS SupportAWS.Support2013-04-15
AWS WAFAWS.WAF2015-08-24
Elastic Load BalancingAWS.ELB2012-06-01
Elastic Load Balancing v2AWS.ELBv22015-12-01
## License This SDK is distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0), see LICENSE.txt and NOTICE.txt for more information.