深入探究 S3 服务:对象操作与请求签名
1. S3 对象信息提取与 URI 构建
在处理 S3 服务时,我们常常会关注存储桶中对象的列表。对象通过其键(key)来标识,我们可以使用 XPath 表达式 “//Contents/Key” 来提取对象的键信息。同时,还有一个布尔变量 “//IsTruncated” 也很重要,它能告诉我们文档是否包含存储桶中所有对象的键,还是因为对象过多,S3 对列表进行了截断处理。
不过,当前文档表示中缺少对象的链接信息,也就是对象的 URI。但构建对象的 URI 并不复杂,遵循规则 https://s3.amazonaws.com/{存储桶名称}/{对象名称} 即可。
2. S3 对象的实现
S3 对象本质上是一个带有名称(键)和一组元数据键值对(如 Content - Type = “text/html”)的数据字符串。下面是 S3::Object 类的实现:
# An S3 object, associated with a bucket, containing a value and metadata.
class Object
include Authorized
# The client can see which Bucket this Object is in.
attr_reader :bucket
# The client can read and write the name of this Object.
attr_accessor :name
# The client
超级会员免费看
订阅专栏 解锁全文
1162

被折叠的 条评论
为什么被折叠?



