如何使用 PHP Azure-Storage-PHP SDK 重命名 blob



我想我快失去理智了。我似乎找不到如何使用位于此处的azure-storage-php SDK重命名blob:https://github.com/Azure/azure-storage-php

这是我当前的代码:

$blobListOptions = new ListBlobsOptions();
$blobListOptions->setPrefix($path);
// List blobs by key.
$blob_list = $blobClient->listBlobs($container, $blobListOptions);
$blobs = $blob_list->getBlobs();
if (count($blobs) > 0) {
    // Only expecting one blob in this path, but looping through regardless.
    foreach($blobs as $blob) {
        $blob->setName($path . 'NEWNAME');
    }
}

查看源代码,我可以看出使用 setName 实际上根本没有做任何事情。

必须有一些方法可以在不依赖 REST API 的情况下使用 SDK 执行此操作。

目前,我们没有可以直接使用的rename函数。但是,我们可以通过复制到新名称来重命名 blob,然后删除源项。

foreach($blobs as $blob) {
    $blobClient->copyBlob($container, $path . 'NEWNAME', $container, $blob->getName());
    $blobClient->deleteBlob($container, $blob->getName());
}

最新更新