deleteBucket() public méthode

删除bucket 如果Bucket不为空(Bucket中有Object,或者有分块上传的碎片),则Bucket无法删除, 必须删除Bucket中的所有Object以及碎片后,Bucket才能成功删除。
public deleteBucket ( string $bucket, array $options = NULL ) : null
$bucket string
$options array
Résultat null
Exemple #1
0
 public function tearDown()
 {
     if (!$this->ossClient->doesBucketExist($this->bucket)) {
         return;
     }
     $objects = $this->ossClient->listObjects($this->bucket, array('max-keys' => 1000, 'delimiter' => ''))->getObjectList();
     $keys = array();
     foreach ($objects as $obj) {
         $keys[] = $obj->getKey();
     }
     if (count($keys) > 0) {
         $this->ossClient->deleteObjects($this->bucket, $keys);
     }
     $uploads = $this->ossClient->listMultipartUploads($this->bucket)->getUploads();
     foreach ($uploads as $up) {
         $this->ossClient->abortMultipartUpload($this->bucket, $up->getKey(), $up->getUploadId());
     }
     $this->ossClient->deleteBucket($this->bucket);
 }
/**
 * 删除bucket,如果bucket不为空则bucket无法删除成功, 不为空表示bucket既没有object,也没有未完成的multipart上传时的parts
 *
 * @param OssClient $ossClient OssClient实例
 * @param string $bucket 待删除的存储空间名称
 * @return null
 */
function deleteBucket($ossClient, $bucket)
{
    try {
        $ossClient->deleteBucket($bucket);
    } catch (OssException $e) {
        printf(__FUNCTION__ . ": FAILED\n");
        printf($e->getMessage() . "\n");
        return;
    }
    print __FUNCTION__ . ": OK" . "\n";
}