我想从amazone s3中删除一个特定对象。我正在使用此代码
$s3 = S3Client::factory(array(
'key' => CONTENT_KEY,
'secret' => CONTENT_SECRET
));
$keyname = /Testing/test_mag120/hhhhhh427/;
$result = $s3->deleteObjects(array(
'Bucket' => CONTENT_BUCKET,
'Objects' => array(
array('Key' => $keyname),
)
));
echo "<pre>";
print_r($result);
die();
当我打印输出时我得到了这个
Guzzle\Service\Resource\Model Object
(
[structure:protected] =>
[data:protected] => Array
(
[Deleted] => Array
(
[0] => Array
(
[Key] => /Testing/test_mag120/hhhhhh427/
)
)
[RequestId] => dumbdata
)
)
我通过s3浏览器登录此帐户后,该对象不会被删除。如果这是任何许可问题。如果有人知道这个,请帮助我。
答案 0 :(得分:0)
我之前尝试过这样做时遇到了问题。对于存储桶名称,请不要提供s3://,而只是提供存储桶名称。对于密钥名称,请不要包含&#34; /&#34;首先,例如,您可能有以下文件。注意,密钥不是我accessKey,而是文件的名称。还必须对文件而不是目录进行删除。 S3没有像windows这样的实际导演。
S3://myBucket/myFile.csv
你想要提供
Bucket = myBucket
Key = myFile.csv
所以也许尝试(但这似乎不是一个特定的文件?&#34; ...
$keyname = Testing/test_mag120/hhhhhh427/;