AWS S3使用URL获取对象

Dus*_*gal 2 amazon-s3 amazon-web-services node.js aws-sdk aws-sdk-js

我收集了可能属于或不属于特定存储桶的URL。这些不是公开的。

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

但是,该getObject函数需要参数Bucket和参数Key,这些参数已经存在于我的URL中。

有什么办法可以使用URL?

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

Joh*_*ein 6

亚马逊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 
})
Run Code Online (Sandbox Code Playgroud)