Пустые «папки» в S3 не удаляются - PullRequest
0 голосов
/ 24 сентября 2019

Хорошо, небольшая предыстория этого: 2+ года назад я написал процесс в Zend 1, используя его библиотеку S3, для поиска в определенном пути сегмента и префикса (он же папка) для поиска подпапок и файлов, иперенесите их в другой набор папок.

Он прекрасно работал два года назад.

Теперь по какой-то причине он перестал работать, как раньше (это первый раз, когда мыиспользовал его в течение двух лет, но библиотека S3 не изменилась).

Итак, код, который я использовал, был примерно такой:

$list = $this->s3->getObjectsByBucket($this->bucket, array('prefix'=>'this-folder/pending/'));
foreach( $list as $name)
{
    // Skip folders (this part is new)
    if( !$this->s3->getObject($this->bucket.'/'.$name))
        continue;

    // Migrate file
    $this->migrate($this->bucket.'/'.$name);
}

Теперь мне пришлось добавить пропускПапок немного кода, потому что раньше, я считаю, массив объектов был задан сначала как файлы, а затем как папки.(Теперь это папка, затем все файлы в этой папке и т. Д.)

Но раньше она автоматически удаляла пустые папки.И теперь это не так.

Прежде всего, изменилось ли это поведение на S3 за последние два года?Или это параметр папки, который мне нужно обновить?

Во-вторых, есть ли в реализации Zend 1 S3 способ обнаружения пустой папки?

...