UNPKG

7.87 kBMarkdownView Raw
1# AWS SDK for JavaScript
2
3[![NPM](https://nodei.co/npm/aws-sdk.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/aws-sdk/)
4
5[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/aws/aws-sdk-js)
6
7[![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)
8
9The official AWS SDK for JavaScript, available for browsers and mobile devices,
10or Node.js backends
11
12For release notes, see the [CHANGELOG](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md). Prior to v2.4.8, release notes can be found at https://aws.amazon.com/releasenotes/?tag=releasenotes%23keywords%23javascript
13
14If you are upgrading from 1.x to 2.0 of the SDK, please see the
15[upgrading notes](https://github.com/aws/aws-sdk-js/blob/master/UPGRADING.md)
16for information on how to migrate existing code to work with the new major
17version.
18
19## Installing
20
21### In the Browser
22
23To use the SDK in the browser, simply add the following script tag to your
24HTML pages:
25
26 <script src="https://sdk.amazonaws.com/js/aws-sdk-2.455.0.min.js"></script>
27
28You can also build a custom browser SDK with your specified set of AWS services.
29This can allow you to reduce the SDK's size, specify different API versions of
30services, or use AWS services that don't currently support CORS if you are
31working in an environment that does not enforce CORS. To get started:
32
33http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/building-sdk-for-browsers.html
34
35The AWS SDK is also compatible with [browserify](http://browserify.org).
36
37For browser-based web, mobile and hybrid apps, you can use [AWS Amplify Library](https://aws.github.io/aws-amplify/?utm_source=aws-js-sdk&utm_campaign=browser) which extends the AWS SDK and provides an easier and declarative interface.
38
39### In Node.js
40
41The preferred way to install the AWS SDK for Node.js is to use the
42[npm](http://npmjs.org) package manager for Node.js. Simply type the following
43into a terminal window:
44
45```sh
46npm install aws-sdk
47```
48
49### In React Native
50To use the SDK in a react native project, first install the SDK using npm:
51
52```sh
53npm install aws-sdk
54```
55
56Then within your application, you can reference the react native compatible version of the SDK with the following:
57
58```javascript
59var AWS = require('aws-sdk/dist/aws-sdk-react-native');
60```
61
62Alternatively, you can use [AWS Amplify Library](https://aws.github.io/aws-amplify/media/react_native_guide?utm_source=aws-js-sdk&utm_campaign=react-native) which extends AWS SDK and provides React Native UI components and CLI support to work with AWS services.
63
64### Using Bower
65
66You can also use [Bower](http://bower.io) to install the SDK by typing the
67following into a terminal window:
68
69```sh
70bower install aws-sdk-js
71```
72
73## Usage and Getting Started
74
75You can find a getting started guide at:
76
77http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide
78
79API reference at:
80
81https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/
82
83## Usage with TypeScript
84The AWS SDK for JavaScript bundles TypeScript definition files for use in TypeScript projects and to support tools that can read `.d.ts` files.
85Our goal is to keep these TypeScript definition files updated with each release for any public api.
86
87### Pre-requisites
88Before you can begin using these TypeScript definitions with your project, you need to make sure your project meets a few of these requirements:
89
90 * Use TypeScript v2.x
91 * Includes the TypeScript definitions for node. You can use npm to install this by typing the following into a terminal window:
92
93 ```sh
94 npm install --save-dev @types/node
95 ```
96
97 * If you are targeting at es5 or older ECMA standards, your `tsconfig.json` has to include `'es5'` and `'es2015.promise'` under `compilerOptions.lib`.
98 See [tsconfig.json](https://github.com/aws/aws-sdk-js/blob/master/ts/tsconfig.json) for an example.
99
100### In the Browser
101To 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:
102
103```javascript
104/// <reference types="aws-sdk" />
105```
106
107This will provide support for the global `AWS` object.
108
109### In Node.js
110To use the TypeScript definition files within a Node.js project, simply import `aws-sdk` as you normally would.
111
112In a TypeScript file:
113
114```javascript
115// import entire SDK
116import AWS from 'aws-sdk';
117// import AWS object without services
118import AWS from 'aws-sdk/global';
119// import individual service
120import S3 from 'aws-sdk/clients/s3';
121```
122
123In a JavaScript file:
124
125```javascript
126// import entire SDK
127var AWS = require('aws-sdk');
128// import AWS object without services
129var AWS = require('aws-sdk/global');
130// import individual service
131var S3 = require('aws-sdk/clients/s3');
132```
133
134### With React
135
136To create React applications with AWS SDK, you can use [AWS Amplify Library](https://aws.github.io/aws-amplify/media/react_guide?utm_source=aws-js-sdk&utm_campaign=react) which provides React components and CLI support to work with AWS services.
137
138### With Angular
139Due to the SDK's reliance on node.js typings, you may encounter compilation
140[issues](https://github.com/aws/aws-sdk-js/issues/1271) when using the
141typings provided by the SDK in an Angular project created using the Angular CLI.
142
143To resolve these issues, either add `"types": ["node"]` to the project's `tsconfig.app.json`
144file, or remove the `"types"` field entirely.
145
146[AWS Amplify Library](https://aws.github.io/aws-amplify/media/angular_guide?utm_source=aws-js-sdk&utm_campaign=angular) provides Angular components and CLI support to work with AWS services.
147
148### Known Limitations
149There are a few known limitations with the bundled TypeScript definitions at this time:
150
151 * Service client typings reflect the latest `apiVersion`, regardless of which `apiVersion` is specified when creating a client.
152 * Service-bound parameters use the `any` type.
153
154## Getting Help
155Please 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.
156
157 * Ask a question on [StackOverflow](https://stackoverflow.com/) and tag it with `aws-sdk-js`
158 * Come join the AWS JavaScript community on [gitter](https://gitter.im/aws/aws-sdk-js?source=orgpage)
159 * Open a support ticket with [AWS Support](https://console.aws.amazon.com/support/home#/)
160 * If it turns out that you may have found a bug, please [open an issue](https://github.com/aws/aws-sdk-js/issues/new)
161
162## Opening Issues
163If you encounter a bug with the AWS SDK for JavaScript we would like to hear
164about it. Search the [existing issues](https://github.com/aws/aws-sdk-js/issues)
165and try to make sure your problem doesn’t already exist before opening a new
166issue. It’s helpful if you include the version of the SDK, Node.js or browser
167environment and OS you’re using. Please include a stack trace and reduced repro
168case when appropriate, too.
169
170The GitHub issues are intended for bug reports and feature requests. For help
171and questions with using the AWS SDK for JavaScript please make use of the
172resources listed in the [Getting Help](https://github.com/aws/aws-sdk-js#getting-help)
173section. There are limited resources available for handling issues and by
174keeping the list of open issues lean we can respond in a timely manner.
175
176## Supported Services
177
178Please see [SERVICES.md](https://github.com/aws/aws-sdk-js/blob/master/SERVICES.md) for a list of supported services.
179
180## License
181
182This SDK is distributed under the
183[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),
184see LICENSE.txt and NOTICE.txt for more information.