2017-05-24 5 views
0

특정 버킷에 속할 수도 있고 그렇지 않을 수도있는 URL 모음이 있습니다. 이들은 공개되지 않습니다.AWS S3 URL을 사용하여 객체 가져 오기

nodejs aws-sdk을 사용하고 있습니다.

그러나 getObject 함수는 이미 내 URL에있는 매개 변수 BucketKey을 별도로 필요로합니다.

URL을 사용할 수 있습니까?

/으로 URL을 분할하고 .으로 분할하여 버킷을 가져와 키 추출을 시도했습니다. 하지만 문제는 버킷 이름도 . 일 수 있으며 키 이름에 /도 있을지 잘 모르겠습니다.

답변

2

아마존 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 
})