如何解决检查匹配名称是否链接到Azure中的Blob
因此,我想将特定名称与容器中的blob相匹配,由于某种原因,我无法传递特定名称。
代码如下:
public function blob_exists(string $name,string $prefix = '') : int
{
$list_blobs_options = new ListBlobsOptions();
$list_blobs_options->setPrefix($prefix . $name);
$result = $this->connect()->listBlobs($this->container_name,$list_blobs_options);
return count($result->getBlobs());
}
问题:
假设我有一个名字SMITHRA
,它返回一个count: 1
,因为它在容器中找到了SMITHRAC
的名字。有没有一种方法可以使$name
成为特定的匹配项,而不仅仅是插入前缀?
所以说我这样做:
var_dump($azure->blob_exists('SMITHRA','Big/'));
..由于在容器中找到Big/SMITHRAC
,我得到的值为1,我只想返回匹配的Big/SMITHRA
。
解决方法
如果要检查PHP是否存在一个Blob,可以参考以下代码
$containerName ='';
$name=""
$blobClient = BlobRestProxy::createBlobService($connectionString);
try {
$getBlobResult = $blobClient->getBlob($containerName,$name);
} catch (ServiceException $e) {
$code = $e->getCode();
if($code==404){
echo "The specified blob does not exist.";
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。