2016-05-18 18 views
0

BLOBがコンテナに存在するかどうかを確認する方法があるのでしょうか?BLOBがAzureに存在するか確認する

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

私はこれを試してみたが、ブロブが存在しないときには、このメッセージを取得イムは:

BlobNotFound指定されたブロブは存在しません。

存在する場合、コードは自然に「存在」を返します。私はコンテナ内のすべてのブロブをリストすることに興味がなく、多くのブロブがあるため、一致する原因が見つかるまで反復処理します。

答えて

1

ブロブが存在しない場合、関数getBlobServiceException例外を送出し、PHPの進行を終了します。次のコードは機能しません。

コード内にtry catchステートメントを追加してください。

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

これ。私はServiceExceptionをキャッチしようとしていると思っていましたが、ServiceExceptionを正しくインポートしていないため、例外が処理されませんでした。 MicrosoftAzure \ Storage \ Common \ ServiceExceptionを使用します。 –

1

ので:

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

はあなたが後にしている何を与える必要があります。

+0

storageClientはどのようなタイプですか? BlobRestProxyにはblobExistsメソッドがありません。 –

関連する問題