The AWS IoT Device SDK for JavaScript v2 connects your JavaScript applications and devices to the AWS IoT platform. It handles the complexities of secure communication, authentication, and device management so you can focus on your IoT solution. The SDK makes it easy to use AWS IoT services like Device Shadows, Jobs, and Fleet Provisioning.
Supported Platforms: Linux, Windows 11+, macOS 14+
Note: The SDK is known to work on older platform versions, but we only guarantee compatibility for the platforms listed above.
Topics:
The primary purpose of the AWS IoT Device SDK for JavaScript v2 is to simplify the process of connecting devices to AWS IoT Core and interacting with AWS IoT services on various platforms. The SDK provides:
The recommended way to use the AWS IoT Device SDK for JavaScript v2 in your project is to install it from npm.
To develop applications with the AWS IoT Device SDK for JavaScript v2, you need:
node -v to check Node versionSee detailed setup instructions for more information.
Navigate to your JavaScript project directory and install the SDK:
cd <your-javascript-project>
npm install aws-iot-device-sdk-v2
See the Development Guide for detailed instructions on building from source and using local builds.
To get started with the AWS IoT Device SDK for JavaScript v2:
Install the SDK - See the Installation section for installation details
Choose your connection method - The SDK supports multiple authentication methods including X.509 certificates, AWS credentials, and custom authentication. MQTT5 User Guide connection section provides more guidance
Follow a complete example - Check out the samples directory
Learn MQTT5 features - For advanced usage and configuration options, see the MQTT5 User Guide
The samples provide ready-to-run code with detailed setup instructions for each authentication method and use case.
Check out the samples directory for working code examples that demonstrate:
The samples provide ready-to-run code with detailed setup instructions for each authentication method and use case.
By default, macOS uses Apple Secure Transport as the TLS implementation, which supports up to TLS 1.2. To enable TLS 1.3 on macOS, set the environment variable AWS_CRT_USE_NON_FIPS_TLS_13=1 before running your application. This switches the TLS backend to s2n-tls with aws-lc at runtime.
[!IMPORTANT] Enabling
AWS_CRT_USE_NON_FIPS_TLS_13trades FIPS compliance and macOS Keychain/PKCS#12 integration for TLS 1.3 support. This variable has no effect on Linux or Windows.
When using the default Apple Secure Transport backend, once a private key is used with a certificate, that certificate-key pair is imported into the Mac Keychain. All subsequent uses of that certificate will use the stored private key and ignore anything passed in programmatically. When a stored private key from the Keychain is used, the following will be logged at the "info" log level:
static: certificate has an existing certificate-key pair that was previously imported into the Keychain.
Using key from Keychain instead of the one provided.
The best way to interact with our team is through GitHub.
If you have a support plan with AWS Support, you can also create a new support case.
Check out our resources for additional guidance too before opening an issue:
This library is licensed under the Apache 2.0 License.
Latest released version: v1.27.0
Generated using TypeDoc