AWS SDK for JavaScript in the browser and Node.js
Clone or download
awstools
Latest commit 3fe5f68 Sep 24, 2018
Permalink
Failed to load latest commit information.
.changes Updates SDK to v2.321.0 Sep 24, 2018
.github Create no-response.yml Sep 10, 2018
apis Updates SDK to v2.321.0 Sep 24, 2018
clients Updates SDK to v2.321.0 Sep 24, 2018
dist-tools Update rake tasks and browser builder for Windows compatibility Jan 6, 2018
dist Updates SDK to v2.321.0 Sep 24, 2018
doc-src/templates Updates JS doc tracking Aug 21, 2018
features update emr integration test (#1866) Jan 9, 2018
lib Updates SDK to v2.321.0 Sep 24, 2018
scripts Adds check to removeVirtualHostedBucket to prevent truncating key fro… Aug 20, 2018
tasks Sorts react-native tests Jun 28, 2018
test retry request for Batch TooManyRequestsException (#2246) Sep 7, 2018
ts update typings for credentialsProviderChain & httpOptions (#2240) Sep 7, 2018
.eslintrc Update linter rules Jun 16, 2015
.gitignore Correct environment variable name in AWS.RemoteCredentials docblock Jan 25, 2018
.jshintrc Remove JSHint options CC doesn't understand Oct 2, 2014
.npmignore Add AppVeyor config (#1540) Jun 6, 2017
.tesselinclude Adds .tesselinclude for resource deployment inclusion. Fixes gh-967 Apr 18, 2016
.travis.yml Adds node 9 and 10 to travis jobs Aug 22, 2018
.yardopts Excludes some files from yard and excludes module.exports (#2050) May 11, 2018
.yardopts_guide Add UPGRADING.md to guide Jun 13, 2014
CHANGELOG.md Updates SDK to v2.321.0 Sep 24, 2018
CONTRIBUTING.md Replace usages of "npm run-script" in contributing.md to juse "npm run" Jan 30, 2017
Gemfile Update navigation bar in template Jul 8, 2015
Gemfile.lock Update navigation bar in template Jul 8, 2015
LICENSE.txt Update copyright years throughout Jan 31, 2017
NOTICE.txt Update copyright years throughout Jan 31, 2017
README.md Updates SDK to v2.321.0 Sep 24, 2018
Rakefile Don't need bundle/setup in Rakefile Mar 14, 2014
SERVICES.md Updates CORS entry for SecretsManager service Jul 5, 2018
UPGRADING.md Update upgrading notes to mention removed `.client` property. Jun 20, 2014
bower.json Update bower.json Jul 7, 2015
browser.js Updates node and browser loaders Sep 8, 2016
codecov.yml Attempt to improve code coverage reporting Jun 11, 2018
configuration.sample Add support for AWS.DeviceFarm Jul 14, 2015
global.d.ts Bundles TypeScript definition files and adds generation of d.ts files… Nov 10, 2016
global.js Updates node and browser loaders Sep 8, 2016
index.d.ts Bundles TypeScript definition files and adds generation of d.ts files… Nov 10, 2016
index.js Add index.js for convenience Jul 8, 2014
karma.conf.js Run browser tests via Karma instead of custom phantomjs runner (#1352) Feb 10, 2017
package.json Updates SDK to v2.321.0 Sep 24, 2018
react-native.js Updates React Native build to allow same style imports as JS SDK (#1618) Jul 10, 2017
testem.json Update testem.json Aug 26, 2014

README.md

AWS SDK for JavaScript

NPM

Gitter chat

Version Build Status Coverage Status

The official AWS SDK for JavaScript, available for browsers and mobile devices, or Node.js backends

For release notes, see the CHANGELOG. Prior to v2.4.8, release notes can be found at https://aws.amazon.com/releasenotes/?tag=releasenotes%23keywords%23javascript

If you are upgrading from 1.x to 2.0 of the SDK, please see the [upgrading](https://github.com/aws/aws-sdk-js/blob/master/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:

<script src="https://sdk.amazonaws.com/js/aws-sdk-2.321.0.min.js"></script>

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.

For browser-based web, mobile and hybrid apps, you can use AWS Amplify Library which extends the AWS SDK and provides an easier and declarative interface.

In Node.js

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

In React Native

To use the SDK in a react native project, first install the SDK using npm:

npm install aws-sdk

Then within your application, you can reference the react native compatible version of the SDK with the following:

var AWS = require('aws-sdk/dist/aws-sdk-react-native');

Alternatively, you can use AWS Amplify Library which extends AWS SDK and provides React Native UI components and CLI support to work with AWS services.

Using Bower

You can also use Bower to install the SDK by typing the following into a terminal window:

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:

    npm install --save-dev @types/node
  • If you are targeting at es5 or older ECMA standards, your tsconfig.json has to include 'es5' and 'es2015.promise' under compilerOptions.lib. See 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:

/// <reference types="aws-sdk" />

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:

// 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:

// 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');

With React

To create React applications with AWS SDK, you can use AWS Amplify Library which provides React components and CLI support to work with AWS services.

With Angular

Due to the SDK's reliance on node.js typings, you may encounter compilation issues when using the typings provided by the SDK in an Angular project created using the Angular CLI.

To resolve these issues, either add "types": ["node"] to the project's tsconfig.app.json file, or remove the "types" field entirely.

AWS Amplify Library provides Angular components and CLI support to work with AWS services.

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.

Getting Help

Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them.

  • Ask a question on StackOverflow and tag it with aws-sdk-js
  • Come join the AWS JavaScript community on gitter
  • Open a support ticket with AWS Support
  • If it turns out that you may have found a bug, please open an issue

Opening Issues

If you encounter a bug with the AWS SDK for JavaScript we would like to hear about it. Search the existing issues and try to make sure your problem doesn’t already exist before opening a new issue. It’s helpful if you include the version of the SDK, Node.js or browser environment and OS you’re using. Please include a stack trace and reduced repro case when appropriate, too.

The GitHub issues are intended for bug reports and feature requests. For help and questions with using the AWS SDK for JavaScript please make use of the resources listed in the Getting Help section. There are limited resources available for handling issues and by keeping the list of open issues lean we can respond in a timely manner.

Supported Services

Please see SERVICES.md for a list of supported services.

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE.txt and NOTICE.txt for more information.