Amazon Simple Storage Service
개발자 안내서 (API 버전 2006-03-01)

PHP용 AWS SDK를 사용한 여러 객체 삭제

이 주제에서는 PHP용 AWS SDK 버전 3의 클래스를 사용하여 버전이 지정되거나 지정되지 않은 Amazon S3 버킷에서 여러 객체를 삭제하는 방법을 보여 줍니다. 버전 관리에 대한 자세한 내용은 버전 관리 사용 단원을 참조하십시오.

이미 PHP용 AWS SDK 사용 및 PHP 예제 실행의 지침에 따라 PHP용 AWS SDK가 올바르게 설치되어 있다고 가정합니다.

예 버전 관리 미사용 버킷에서 여러 객체 삭제

다음 PHP 예제는 deleteObjects() 메서드를 사용하여 버전 관리 미사용 버킷에서 여러 객체를 삭제합니다.

이 가이드의 PHP 예제 실행에 대한 자세한 내용은 PHP 예제 실행 단원을 참조하십시오.

<?php require 'vendor/autoload.php'; use Aws\S3\S3Client; $bucket = '*** Your Bucket Name ***'; $s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-east-1' ]); // 1. Create a few objects. for ($i = 1; $i <= 3; $i++) { $s3->putObject([ 'Bucket' => $bucket, 'Key' => "key{$i}", 'Body' => "content {$i}", ]); } // 2. List the objects and get the keys. $keys = $s3->listObjects([ 'Bucket' => $bucket ]) ->getPath('Contents/*/Key'); // 3. Delete the objects. $s3->deleteObjects([ 'Bucket' => $bucket, 'Delete' => [ 'Objects' => array_map(function ($key) { return ['Key' => $key]; }, $keys) ], ]);

예 버전 관리 사용 버킷에서 여러 객체 삭제

다음 PHP 예제는 deleteObjects() 메서드를 사용하여 버전이 지정된 버킷에서 여러 객체를 삭제합니다.

이 가이드의 PHP 예제 실행에 대한 자세한 내용은 PHP 예제 실행 단원을 참조하십시오.

<?php require 'vendor/autoload.php'; use Aws\S3\S3Client; $bucket = '*** Your Bucket Name ***'; $keyname = '*** Your Object Key ***'; $s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-east-1' ]); // 1. Enable object versioning for the bucket. $s3->putBucketVersioning([ 'Bucket' => $bucket, 'Status' => 'Enabled', ]); // 2. Create a few versions of an object. for ($i = 1; $i <= 3; $i++) { $s3->putObject([ 'Bucket' => $bucket, 'Key' => $keyname, 'Body' => "content {$i}", ]); } // 3. List the objects versions and get the keys and version IDs. $versions = $s3->listObjectVersions(['Bucket' => $bucket]) ->getPath('Versions'); // 4. Delete the object versions. $s3->deleteObjects([ 'Bucket' => $bucket, 'Delete' => [ 'Objects' => array_map(function ($version) { return [ 'Key' => $version['Key'], 'VersionId' => $version['VersionId'] }, $versions), ], ]); echo "The following objects were deleted successfully:". PHP_EOL; foreach ($result['Deleted'] as $object) { echo "Key: {$object['Key']}, VersionId: {$object['VersionId']}" . PHP_EOL; } echo PHP_EOL . "The following objects could not be deleted:" . PHP_EOL; foreach ($result['Errors'] as $object) { echo "Key: {$object['Key']}, VersionId: {$object['VersionId']}" . PHP_EOL; } // 5. Suspend object versioning for the bucket. $s3->putBucketVersioning([ 'Bucket' => $bucket, 'Status' => 'Suspended', ]);

관련 리소스

이 페이지에서: