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