我正在创建一个网站,其中有一项功能,如果用户删除图像/视频,它将被存档,我使用AWS S3存储和删除想要在Glacier上移动它,我不想使用AWS SDK,所以我使用PHP cURL创建Raw请求,从这个链接我试图将桶生命周期放在一个对象http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html上并完成一些代码,但它给了我错配签名的错误,
var popup = new google.maps.InfoWindow({
content: feature.position.toString() + ' my info siteID: ' + feature.info ,
//or here the info
maxWidth: 300
});
这是我的代码,在此我想在SignatureDoesNotMatch-The request signature we calculated does not match the signature you provided. Check your key and signing method.
上应用生命周期,这是在一个存储桶内,应用生命周期使其过期,我做错了什么?帮助我,
x.php
答案 0 :(得分:1)
我认为您并不完全了解生命周期政策的运作方式。
$path = '/x.php'; // file on which i want to put lifecycle to move it to GLACIER
您不会移动单个文件。您配置前缀。 应该在您的XML文档中。 你已经有了这个
<Prefix>/</Prefix>
/?lifecycle
。你把它作为/x.php
SignatureDoesNotMatch
,您还应该看到其他消息,<StringToSignBytes></StringToSignBytes>
和<CanonicalRequest></CanonicalRequest>
。这些应该足以让您隔离并解决这个问题。<StorageClass>GLACIER</StorageClass>
。希望这有帮助。