本文整理汇总了Python中azure.storage.blob.BlobService.get_blob_metadata方法的典型用法代码示例。如果您正苦于以下问题:Python BlobService.get_blob_metadata方法的具体用法?Python BlobService.get_blob_metadata怎么用?Python BlobService.get_blob_metadata使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类azure.storage.blob.BlobService
的用法示例。
在下文中一共展示了BlobService.get_blob_metadata方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: AzureFS
# 需要导入模块: from azure.storage.blob import BlobService [as 别名]
# 或者: from azure.storage.blob.BlobService import get_blob_metadata [as 别名]
#.........这里部分代码省略.........
raise FuseOSError(errno.EACCES)
else:
# TODO: Support 2nd+ level directories
raise FuseOSError(errno.ENOSYS)
def create(self, path, mode, fi=None):
node = make_stat(stat.S_IFREG | mode)
d, f = self._parse_path(path)
if not f:
log.error("Cannot create files on root level: /")
raise FuseOSError(errno.ENOSYS)
if f == ".__refresh_cache__":
log.info("Refresh cache forced (%s)" % f)
self._get_dir(path, True, True)
return self.open(path, data='')
directory = self._get_dir(d, True)
if not directory:
raise FuseOSError(errno.EIO)
directory['files'][f] = node
return self.open(path, data='') # reusing handler provider
def open(self, path, flags=0, data=None):
log.info("open: path=%s; flags=%s", path, flags)
if data is None:
# Download contents
c_name = self._parse_container(path)
f_name = path[path.find('/', 1) + 1:]
try:
self.blobs.get_blob_metadata(c_name, f_name)
except AzureMissingResourceHttpError:
directory = self._get_dir('/' + c_name, True)
if f_name in directory['files']:
del directory['files'][f_name]
log.info("open: remote says there is no such file: c=%s f=%s",
c_name, f_name)
raise FuseOSError(errno.ENOENT)
except AzureHttpError as e:
log.error("Read blob failed with HTTP %d", e.status_code)
raise FuseOSError(errno.EAGAIN)
except AzureException as e:
log.exception("Read blob failed with exception: %s", repr(e))
raise FuseOSError(errno.EAGAIN)
self.fd += 1
return self.fd
def truncate(self, path, length, fh=None):
return 0 # assume done, no need
def write(self, path, data, offset, fh=None):
# TODO: Re-implement writing
raise FuseOSError(errno.EPERM)
def unlink(self, path):
c_name = self._parse_container(path)
d, f = self._parse_path(path)
try:
self.blobs.delete_blob(c_name, f)
_dir = self._get_dir(path, True)
if _dir and f in _dir['files']: