RESTful服务客户端开发与应用
1. 生成签名URI
在处理亚马逊S3服务时,生成签名URI是一项重要的操作。通过下面的代码示例可以实现生成签名URI:
#!/usr/bin/ruby1.9
# s3-signed-uri.rb
require 'S3lib'
bucket = S3::Bucket.new("BobProductions")
object = S3::Object.new(bucket, "KomodoDragon.avi")
puts object.signed_uri
# "https://s3.amazonaws.com/BobProductions/KomodoDragon.avi
# ?Signature=J%2Fu6kxT3j0zHaFXjsLbowgpzExQ%3D
# &Expires=1162156499&AWSAccessKeyId=0F9DBXKB5274JKTJ8DG2"
生成的签名URI默认有效期为15分钟,包含了公钥( AWSAccessKeyId )、过期时间( Expires )和加密签名( Signature )。客户可以通过该URI下载文件,亚马逊会根据客户使用的带宽向我们收费。如果客户修改了URI的任何部分,S3服务将拒绝请求。而且,即使不可信的客户将URI分享给他人,该URI在15分钟后也会失效。
在生成规范字符串时,通常会涉及 Date 头的值。但当客户访问签名URI时,其浏览器发送的 <
超级会员免费看
订阅专栏 解锁全文
1168

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



