简体   繁体   中英

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

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?

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM