深入探索云存储:从基础实现到Blob应用
1. 存储客户端库实现挑战
在为新的语言或平台实现存储客户端库时,可能会遇到一些难题。部分主流语言不支持SHA - 256(不过HMAC部分实现起来较为简单)。例如,要实现一个Erlang版本的存储客户端库,就需要自行实现SHA - 256和HMAC。虽然钻研加密算法可能会花费大量时间,但这能让请求更安全。
服务器端的Windows Azure存储服务会按照相同的流程生成签名,并检查客户端生成的签名是否匹配。若不匹配,会返回403错误。在调试存储客户端时,由于可能出现多种问题,所以应该逐步调试一个可靠的存储客户端实现,并比较每一步的中间值。
2. 创建与上传操作
现在有了用于上传内容的容器,上传操作其实很简单。只需向正确的URL发送HTTP PUT请求,并将需要上传的数据作为HTTP请求的一部分发送即可。以下是一个示例方法:
public bool CreateBlob(string containerName, string blobName,
byte[] data, string contentType)
{
HttpWebResponse response = DoStorageRequest(
containerName + "/" + blobName,
"PUT",
null, /* No
超级会员免费看
订阅专栏 解锁全文

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



