S3 Multi-Region Access Point(MRAP) is not available unless with additional dependency · Issue #2822 · aws/aws-sdk-js-v3 (original) (raw)
Description
Package @aws-sdk/client-s3
launched the support for S3 Multi-Region Access Point (MRAP) feature in v3.31.0
. This feature relies on signer class from aws-crt package. This dependency requires native addons that takes up to 10.5 MB on disk. Because the dependency is only required by MRAP feature, we are omitting the dependency in @aws-sdk/client-s3
.
To use this feature, you need to install this dependency explicitly in your application:
$ npm install @aws-sdk/signature-v4-crt $ yarn add @aws-sdk/signature-v4-crt
Because aws-crt contains platform-specific binary code, the following use cases are not supported in MRAP:
- browsers
- React Native
- bundle as Node.js application
The suggested use case for supporting MRAP in Node.js app is to deploy your application with the complete node_modules
folder.
Describe alternatives you've considered
We are working on solutions to unblock the MRAP for all the supported platforms.
Related issues:
- @aws-sdk/client-s3 makes node_modules too large #2747
- @aws-sdk/client-s3 (@aws-sdk/signature-v4-crt) 3.29.0 introduces aws-crt and deprecated dependencies #2750
- AWS CRT binary not present in any of the following locations #2753
- Missing dependency @aws-sdk/signature-v4-crt after updating to client-s3 3.33.0 #2806
- Missing Peer Dependency | @aws-sdk/client-s3 missing @aws-sdk/signature-v4-crt #2960