Header中包含签名 获取ACL 下面的例子是获取名为examplebucket的Bucket的访问控制权限配置信息。 请求 StringToSign GET /?acl HTTP/1.1 Host: examplebucket.ooscn.ctyunapi.cn Date: Tue, 11 Jun 2024 02:06:03 GMT ContentType: application/octetstream Authorization: AWS 3a7451ae6b635b4f5ded:7x+mp5y3YFS6BC9pdPiqsevbjb4 GETn n application/octetstreamn Tue, 11 Jun 2024 02:06:03 GMTn /examplebucket/?acl 注意 在CanonicalizedResource中是如何包含子资源查询字符串参数的。 Delete Object 从名为examplebucket的Bucket中删除文件。Bucket在path中指定,并使用xamzdate请求头。 请求 StringToSign DELETE /examplebucket/photos/puppy.jpg HTTP/1.1 Host: ooscn.ctyunapi.cn Date: Tue, 11 Jun 2024 06:47:39 GMT xamzdate: Tue, 11 Jun 2024 06:37:21 GMT Authorization: AWS 3a7451ae6b635b4f5ded:0kgBoDiPB3sQAy+Ole+oKcH+QRE DELETEn n n n xamzdate:Tue, 11 Jun 2024 06:37:21 GMTn /examplebucket/photos/puppy.jpg 注意 此请求使用xamzdate请求头来替代Date请求头,在StringToSign中,实际的Date请求头被设置成空行。 使用CNAME形式上传文件 下面的例子通过CNAME 形式上传文件,并使用自定义元数据。其中:Bucket为examplebucket,Bucket绑定的自定义域名为oos11.ctyun.cn。 请求 StringToSign PUT /examplebucket/dbbackup.dat.gz HTTP/1.1 Host: oos11.ctyun.cn Date: Tue, 11 Jun 2024 07:18:11 GMT contenttype: application/xdownload ContentMD5: ICy5YqxZB1uWSwcVLSNLcA XAmzMetaReviewedBy: joe XAmzMetaFileChecksum: 0x02661779 XAmzMetaChecksumAlgorithm: crc32 ContentDisposition: attachment; file namedatabase.dat ContentEncoding: gzip ContentLength: 3 Authorization: AWS 3a7451ae6b635b4f5ded:Wdqh0EKuT5lUZioWfc0rk2a6Arg PUTn ICy5YqxZB1uWSwcVLSNLcAn application/xdownloadn Tue, 11 Jun 2024 07:18:11 GMTn xamzmetachecksumalgorithm:crc32n xamzmetafilechecksum:0x02661779n xamzmetareviewedby:joen /examplebucket/dbbackup.dat.gz 注意 “xamz ”请求头被排序了,空白行被删除,转换为小写字符,多个同名的请求头使用逗号分隔的方式被加入。只有ContentType, ContentMD5请求头被加入到了StringToSign中,但是其他的Content请求头没有被加入。