2017-05-24 106 views
0

我擁有一組可能屬於或不屬於特定存儲區的URL。這些不公開。AWS S3使用URL獲取對象

我正在使用nodejs aws-sdk來獲取它們。

但是,getObject函數需要分別爲參數BucketKey,它們已經在我的URL中。

有沒有什麼方法可以使用URL?

我嘗試通過拆分URL與/提取密鑰,並通過與.拆分獲取存儲桶。但問題是桶名稱也可能有.,我不確定密鑰名稱是否也可以有/

回答

2

amazon-s3-uri庫可以解析出亞馬遜S3 URI:

const AmazonS3URI = require('amazon-s3-uri') 

try { 
    const uri = 'https://bucket.s3-aws-region.amazonaws.com/key' 
    const { region, bucket, key } = AmazonS3URI(uri) 
} catch((err) => { 
    console.warn(`${uri} is not a valid S3 uri`) // should not happen because `uri` is valid in that example 
})