Amazon Simple Storage Service
开发人员指南 (API 版本 2006-03-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用适用于 PHP 的 AWS 开发工具包删除多个对象

本主题将演示如何使用版本 3 的适用于 PHP 的 AWS 开发工具包中的类从受版本控制和不受版本控制的 Amazon S3 存储桶中删除多个对象。有关版本控制的更多信息,请参阅使用版本控制

此主题假定您已按照使用适用于 PHP 的 AWS 开发工具包和运行 PHP 示例的说明执行操作,并正确安装了适用于 PHP 的 AWS 开发工具包。

例 从不受版本控制的存储桶中删除多个对象

下面的 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', ]);

相关资源

本页内容: