Home > Blockchain >  How to getObject from S3 protocol url using AWS SDK JS v3?
How to getObject from S3 protocol url using AWS SDK JS v3?

Time:11-27

I have a URL that looks like: s3://mybucket/data.txt. I'm trying to retrieve that item using the AWS SDK JS v3 library (@aws-sdk/client-s3).

When using the getObject command, it requires a Bucket and Key.

How can I pass in the S3 protocol URL into the S3 client to get the object based on that URL?

CodePudding user response:

You can parse the URI to get the bucket name and key name out of it:

import url from 'url';
var s3uri = new URL('s3://some-bucket-name/path/to/object.dat');
var bucket = s3uri.hostname;
// Ignore the first slash, it's not part of the key name
var key = s3uri.pathname.substr(1);

console.log("Bucket: "   bucket   " / Key: "   key);
// Bucket: some-bucket-name / Key: path/to/object.dat
  • Related