#php #amazon-web-services #amazon-s3
#php #amazon-веб-сервисы #amazon-s3
Вопрос:
Я хочу удалить определенный объект из моей корзины. Я использовал этот код для удаления. Но это не работает для меня.
use AwsS3S3Client;
$s3 = S3Client::factory(array(
'key' => CONTENT_KEY,
'secret' => CONTENT_SECRET
));
$keyname = "/".CONTENT_PATH."/magazinename";
if ($s3->deleteObject(CONTENT_BUCKET, $keyname)) {
echo "Deleted file.";
}
Я получил сообщение об ошибке, которое:
Исправляемая неустранимая ошибка: аргумент 2, переданный в Guzzle Service Client::getCommand(), должен быть массивом
Ответ №1:
$bucket = '*** Your Bucket Name ***';
$keyname = '*** Your Object Key ***';
$result = $s3->deleteObject(array(
'Bucket' => $bucket,
'Key' => $keyname));
http://docs.aws.amazon.com/AmazonS3/latest/dev/DeletingOneObjectUsingPHPSDK.html
Комментарии:
1. я попробовал это, но я получил это как выходной объект Guzzle Service Resource Model ( [structure:protected] => [data:protected] => Array ( [DeleteMarker] => [versionId] => [RequestID] => 111111111111 ) ) когда я заглядываю в браузер s3, онне удаляется
2. Ключевое имя $ не должно начинаться с косой черты. Объект модели , который вы видите, подразумевает успешное удаление, вы просто удаляете неправильный ключ.