question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

S3 Multi-Region Access Point(MRAP) is not available unless with additional dependency

See original GitHub issue

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:

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:10 (3 by maintainers)

github_iconTop GitHub Comments

7reactions
rossngcommented, Jan 26, 2022

Just want to weigh in with the impact this issue currently has on our team. Hopefully it helps to motivate a fix. Our developers use a mix of macOS and Windows machines.

We depend on the @aws-sdk/client-s3 package. This causes the package manager to complain about the missing @aws-sdk/signature-v4-crt peer dependency.

The Windows users go ahead and add the dep to package.json, and everything appears to be resolved. Then a macOS user pulls the latest changes and suddenly package installation is completely broken.

This isn’t a great experience. Given that @aws-sdk/signature-v4-crt has ~63k downloads per week, I can only imagine how many developers have run headlong into this so far.

3reactions
Hasan-Jawahericommented, Aug 24, 2022

This issue is affecting our team and our entire organization will run into the same issue soon as we are moving towards a DNS regional failover which requires SigV4A signing in the browser to make API calls to unkown AWS region (using @aws-sdk/signature-v4-crt).

Are there alternatives for the time being? Can we do SigV4A signing with existing parts of the SDK that work on browser?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Making requests through a Multi-Region Access Point
Send requests through a Multi-Region Access Point in Amazon S3.
Read more >
How to use the Multi Region Access Point in AWS S3 using ...
According to the documentation here we should be able to use the Multi Region Access Point using the format <mrap-alias>.accesspoint.s3-global.amazonaws.com ...
Read more >
AWS On Air ft. Amazon S3 Multi-Region Access Points
Peter Imming, Senior Product Manager and Ian Mc Garry, Senior Software Development Manager, Amazon S3 demonstrate Amazon S3 Multi-Region ...
Read more >
AWS - Apache Iceberg
This dependency is not part of the AWS SDK bundle and needs to be added ... use arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap access-point for all ...
Read more >
Multi-Region AWS S3 Strategies | Medium - Carlo Mencarelli
The buckets use bi-directional replication, and from there, your deployment tool uses the same access point to deploy the code. This method has...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found