Azure PHP SDK:在单个zip文件中下载容器的所有blob

时间:2017-09-20 13:42:33

标签: php azure azure-storage azure-storage-blobs

我想从指定的容器中下载所有blob作为zip文件。 有没有办法直接从Azure下载它作为zip,不需要在我的服务器上处理它?<​​/ p>

目前我想如下:

file_put_contents("file_name", get_file_contents($blob_url));

我将所有文件存储在我的服务器上,然后创建那些文件的zip文件,然后强行下载。

1 个答案:

答案 0 :(得分:1)

Azure没有这样的工具来为您生成一组blob的zip文件。 Azure存储只是...存储。您需要通过php sdk下载每个blob(如果您愿意,可以直接通过api下载)。

如果你想要拉链内容,你需要在存储到blob存储之前压缩内容。

您的代码(在您的问题中)不会按原样运行,因为get_file_contents()期望使用文件I / O,而不是如何与blob交互。相反,你会做这样的事情:

$getBlobResult = $blobClient->getBlob("<containername>", "<blobname>");
file_put_contents("<localfilename>", $getBlobResult->getContentStream());