AWS S3使用URL获取对象

时间:2017-05-24 13:51:44

标签: node.js amazon-web-services amazon-s3 aws-sdk aws-sdk-js

我有一组可能属于或可能不属于特定存储桶的网址。这些都不公开。

我正在使用nodejs aws-sdk来获取它们。

但是,getObject功能需要单独使用params BucketKey,这些已经在我的网址中。

我有什么办法可以使用这个网址吗?

我尝试通过使用/拆分网址来提取密钥,并通过使用.进行拆分来获取存储区。但问题是存储桶名称也可以.,我也不确定密钥名称是否也可以/

1 个答案:

答案 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 
})