функция удаления Amazon s3 в php не работает

#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. Ключевое имя $ не должно начинаться с косой черты. Объект модели , который вы видите, подразумевает успешное удаление, вы просто удаляете неправильный ключ.