检查Azure中是否存在blob

时间:2016-05-18 11:01:00

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

我想知道是否有办法检查容器中是否存在blob?

    $blob = $blobRestProxy->getBlob("mycontainer", "myblobname");
    if($blob){
        return 'exists';
    } else {
        return 'not exists';
    }

我已经尝试过了,但是只要blob不存在,我就会收到此消息:

  

BlobNotFound指定的blob不存在。

如果存在,代码自然会返回'exists'。我没有兴趣在容器中列出所有blob并迭代直到找到匹配因为我有很多blob。

2 个答案:

答案 0 :(得分:2)

当blob不存在时,函数getBlob将引发ServiceException异常并退出PHP进度,以下代码将无效。

请尝试在代码中添加try catch语句E.G。

try {
    $blob = $tableRestProxy->getBlob("mycontainer", "myblobname");
    return 'exists';
} catch (ServiceException $e) {
    return 'not exists';
} 

答案 1 :(得分:1)

所以:

$exists = $storageClient->blobExists(<container name>, <blob name>);

应该给你以后的东西。