The code examples in this topic show you how to use the AWS SDK for JavaScript (v3) with AWS.
The AWS SDK for JavaScript (v3) provides a JavaScript API for AWS infrastructure services. Using the SDK, you can build applications on top of Amazon S3, Amazon EC2, Amazon DynamoDB, and more.
-
Single-service actions - Code examples that show you how to call individual service functions.
-
Single-service scenarios - Code examples that show you how to accomplish a specific task by calling multiple functions within the same service.
-
Cross-service examples - Sample applications that work across multiple AWS services.
Single-service actions and scenarios are organized by AWS service in the example_code
folder. A README in each folder lists and describes how to run the examples.
Cross-service examples are located in the cross-services folder. A README in each folder describes how to run the example.
- Running this code might result in charges to your AWS account.
- Running the tests might result in charges to your AWS account.
- We recommend that you grant your code the least privilege. At most, grant only the minimum permissions required to perform the task. For more information, see Grant least privilege.
- This code is not tested in every AWS Region. For more information, see AWS Regional Services.
- Install the latest stable version of Node.js.
- Set up a shared configuration file with your credentials. For more information, see the AWS SDK for JavaScript (v3) Developer Guide.
- Install dependencies by running
npm i
Note: Running the tests might result in charges to your AWS account.
You can run tests for a specific service, or for every service in this repository. Choose whether to run unit tests, integration tests, or both.
-
To run both unit and integration tests for all services, run the following from this directory:
npm test
-
To run only unit tests, set the
TEST_SCOPE
variable tounit
:TEST_SCOPE=unit npm test
-
To run only integration tests, set the
TEST_SCOPE
variable tointegration
:TEST_SCOPE=integration npm test
-
To run tests for a specific service, follow the instructions in the service's README.
This example code will soon be available in a container image hosted on Amazon Elastic Container Registry (ECR). This image will be pre-loaded with all JavaScript v3 examples with dependencies pre-resolved, allowing you to explore these examples in an isolated environment.
- Install and run Docker on your machine.
- Navigate to the same directory as this readme.
- Run
docker build -t <image_name> .
and replaceimage_name
with a name for the image.
- Run
docker run -it -v ~/.aws/credentials:/root/.aws/credentials <image_name>
.-it
launches an interactive terminal.-v ~/.aws...
is optional but recommended. It will mount your local credentials file to the container. - The terminal initiates a bash instance at the root of the container. Run
cd javascriptv3
and then you can run tests from here by following the steps in the Tests section. Run examples by navigating to a service folder and following the README instructions there.
Contributions are welcome. To increase the likelihood of your contribution being accepted, adhere to the following guidelines.
javascriptv3
is considered the project root.- All examples exist under
example_code
. - Each directory under
example_code
corresponds to an AWS service. cross-services
is a special directory for examples that use multiple services.- A service directory has the following structure:
-
actions/ {action-name}.js scenarios/ web/ {web-scenario-name}/ {scenario-name}.js tests/ {integ-test-name}.integration.test.js {unit-test-name}.unit.test.js client.js package.json README.md vite.config.js
-
Place the following code at the bottom of each example to make it runnable from the command line.
// Invoke main function if this file was run directly.
if (process.argv[1] === fileURLToPath(import.meta.url)) {
functionName();
}
Export one primary function from each example. Do not create examples that require input or cannot run without human intervention.
Create function names that match the action name. CreateUserCommand
becomes
createUser
.
export const createUser = (name) => {
const command = new CreateUserCommand({ UserName: name });
return client.send(command);
};
Every example should be covered by an integration test. Each integration test must run the example and verify that it ran correctly.
To configure ESLint in VS Code, add the following to settings.json
:
"eslint.workingDirectories": ["./javascriptv3"],
- AWS SDK for JavaScript (v3)
- AWS SDK for JavaScript (v3) Developer Guide
- AWS SDK for JavaScript (v3) API Reference
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0