Azure Blob连接¶
moose.connection.cloud¶
-
class
moose.connection.cloud.
AzureBlobService
(settings_dict)¶ - 该类实现对
Azure
云数据库的封装,对输入参数进行异常处理等操作保证程序的稳定性,对外提供统一的接口,不同用户只需提供不同的配置参数即可连接服务进行创建容器及其内部blob对象的操作。参数: settings_dict (dict) – 包含数据库配置的字典。包含数据配置的字典,包含如 ACCOUNT
(用户名),KEY
(连接密钥),ENDPOINT
(连接站点) ,TIMEOUT
(超时时间)。-
blob_pattern = 'http://([\w\.]+)/(\w+)/(.*)'
定义
blob
的格式
-
create_container
(container_name,set_public=False)¶ 参数: - container_name (str) – 容器名称
- set_public (bool) – 用来设置权限是否支持公共访问
该方法根据输入的参数
set_public
设置访问权限,返回名为container_name
的容器对象,如果已经该容器已存在则不再返回。
-
list_containers
(prefix=None)¶ 参数: prefix (str) – 容器名称的前缀,用来过滤只返回容器名称以指定前缀开头的容器,默认为None即返回所有容器。 该方法返回一个列表,列出指定帐户下的容器。
-
list_blobs
(container_name,prefix=None, suffix=None)¶ 参数: - container_name (str) – 容器名称
- prefix (str) –
blobname
的前缀,用来过滤只返回容器名称以指定前缀开头的blobname
,默认为None即返回所有blobname
。 - suffix (str) –
blobname
的后缀,用来过滤只返回容器名称以指定后缀结尾的blobname
,默认为None即返回所有blobname
。
该方法根据blobname的前缀或后缀进行筛选后列出容器上的所有blobname的列表,返回的blob_names是posix样式的路径,无论创建时名称是什么。
-
create_blob_from_path
(container_name, blob_name, filepath)¶ 参数: - container_name (str) – 容器名称
- blob_name (str) – blob名称
- filepath (str) – 要上传文件的路径
该方法根据参数
filepath
上传文件到容器中,生成带有属性和元数据的Blob
实例
-
upload
(container_name, blob_pairs, overwrite=False)¶ 参数: - container_name (str) – 容器名称
- blob_pairs (str) – 一个包含
blob_name
和blob对象文件的本地路径的元祖 - overwrite (bool) – 定义是否覆盖原
blob对象
该方法首先判断容器是否存在,如果不存在则创建容器,然后根据参数
overwrite
判断上传是否覆盖容器中的原文件,返回包含bolbname的列表
-
get_blob_to_path
(container_name, blob_name, filepath)¶ 参数: - container_name (str) – 容器名称
- blob_name (str) – blob名称
- filepath (str) – 要上传文件的路径
该方法是从容器
container_name
中下指定blob对象blob_name
到指定的地址filepath
。
-
download
(container_name, dest, blob_names=None)¶ 参数: - container_name (str) – 容器名称
- dest (str) – 下载目标地址
- blob_names (list) – 包含blobname的列表
该方法返回从容器中获取的blob对象到指定的目标地址,如果参数
blobnames
为None,则下载container中的所有blob对象
-
get_blob_to_text
(container_name, blob_name)¶ 预留接口
-
get_blobs
(container_name, blob_names=None)¶ 预留接口
-
set_container_acl
(container_name, set_public=True)¶ 参数: - container_name (str) – 容器名称
- set_public (bool) – 用来设置权限是否支持公共访问
该方法实现设置与共享访问签名一起使用的指定容器或存储访问策略的权限。权限指示容器中的blob是否可以公开访问
-
delete_blobs
(container_name, blob_names)¶ 参数: - container_name (str) – 容器名称
- blob_names (list) – blob对象名称列表
该方法执行从指定容器删除指定的
blob
对象,返回包含被删除的blob对象名称的列表
-
copy_blobs
(blob_names, container_name, src_container=None, pattern=None)¶ 参数: - blob_names (list) – blob对象名称列表
- container_name (str) – 要复制的目标容器名称
- src_container (str) – 数据源容器名称
- pattern (str) – 匹配
blob
对象名称的模式
该方法实现将blob_names中列出的blob对象复制到dest容器,如果给定
src_container
则blob_names
可以作为容器的相对路径,如果没有给定blob_names
则按照匹配模式复制到目标容器中,如果blob_names为None则复制全部
-
copy_container
(src_container, dst_container, pattern=None)¶ 参数: - src_container (str) – 源容器名称
- dst_container (str) – 目标容器名称
- pattern (str) – 匹配
blob
对象名称的模式
该方法按照指定匹配模式复制blob对象到目标容器,如果目标容器不存在则在复制前创建该容器
-