使用AWS SDK(v2)从URL获取对象密钥

Pro*_*oGM 15 ruby amazon-s3 aws-sdk

使用AWS SDK gem,我可以轻松获取给定一些参数的对象URL.

例:

credentials = Aws::Credentials.new(ENV['S3_KEY'], ENV['S3_SECRET'])
s3 = Aws::S3::Resource.new(
    credentials: credentials,
    region: ENV['S3_REGION_KEY']
)
object = s3.bucket('my-bucket').object('path/to/file.ext')
url = object.public_url
Run Code Online (Sandbox Code Playgroud)

给定一个公共URL,我可以将其反转以获得一个Aws::S3::Object?是否有使用此SDK的方法?或者我应该手动拆分URL?(我宁愿避免这种情况.)

小智 4

我不可能在 ruby​​ 中遇到过,但是这个类确实存在于 AWS 的 Java SDK 中。因此,如果您要创建 Ruby 实现,那么可能值得使用它作为指导

https://github.com/aws/aws-sdk-java/blob/806e98ecd35ba00d9dc0da35ab962c7caa76293c/aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/AmazonS3URI.java