我有一组可能属于或可能不属于特定存储桶的网址。这些都不公开。
我正在使用nodejs aws-sdk
来获取它们。
但是,getObject
功能需要单独使用params Bucket
和Key
,这些已经在我的网址中。
我有什么办法可以使用这个网址吗?
我尝试通过使用/
拆分网址来提取密钥,并通过使用.
进行拆分来获取存储区。但问题是存储桶名称也可以.
,我也不确定密钥名称是否也可以/
。
答案 0 :(得分:5)
amazon-s3-uri库可以解析出Amazon 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
})