我想从指定的容器中下载所有blob作为zip文件。 有没有办法直接从Azure下载它作为zip,不需要在我的服务器上处理它?</ p>
目前我想如下:
file_put_contents("file_name", get_file_contents($blob_url));
我将所有文件存储在我的服务器上,然后创建那些文件的zip文件,然后强行下载。
答案 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());