Source code for ucloud.services.ufile.client

""" Code is generated by ucloud-model, DO NOT EDIT IT. """

import typing


from ucloud.core.client import Client
from ucloud.services.ufile.schemas import apis


[docs]class UFileClient(Client): def __init__( self, config: dict, transport=None, middleware=None, logger=None ): super(UFileClient, self).__init__(config, transport, middleware, logger)
[docs] def create_bucket( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """CreateBucket - 创建Bucket **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **BucketName** (str) - (Required) 待创建Bucket的名称,具有全局唯一性 - **Type** (str) - Bucket访问类型,public或private; 默认为private **Response** - **BucketId** (str) - 已创建Bucket的ID - **BucketName** (str) - 已创建Bucket的名称 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.CreateBucketRequestSchema().dumps(d) # build options kwargs["max_retries"] = 0 # ignore retry when api is not idempotent resp = self.invoke("CreateBucket", d, **kwargs) return apis.CreateBucketResponseSchema().loads(resp)
[docs] def create_ufile_token( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """CreateUFileToken - 创建US3令牌 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **TokenName** (str) - (Required) 令牌名称 - **AllowedBuckets** (list) - 令牌允许操作的bucket,默认*表示全部 - **AllowedOps** (list) - 令牌允许执行的操作,[ TOKEN_ALLOW_NONE , TOKEN_ALLOW_READ , TOKEN_ALLOW_WRITE , TOKEN_ALLOW_DELETE , TOKEN_ALLOW_LIST, TOKEN_ALLOW_IOP , TOKEN_ALLOW_DP ]。默认TOKEN_ALLOW_NONE - **AllowedPrefixes** (list) - 令牌允许操作的key前缀,默认*表示全部 - **ExpireTime** (int) - Unix 时间戳,精确到秒,为令牌过期时间点。默认过期时间为一天(即当前Unix时间戳+86400);注意:过期时间不能超过 4102416000 **Response** - **TokenId** (str) - 创建令牌的token_id """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.CreateUFileTokenRequestSchema().dumps(d) # build options kwargs["max_retries"] = 0 # ignore retry when api is not idempotent resp = self.invoke("CreateUFileToken", d, **kwargs) return apis.CreateUFileTokenResponseSchema().loads(resp)
[docs] def delete_bucket( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DeleteBucket - 删除Bucket **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **BucketName** (str) - (Required) 待删除Bucket的名称 **Response** - **BucketId** (str) - Bucket的ID - **BucketName** (str) - Bucket的名称 """ # build request d = { "ProjectId": self.config.project_id, } req and d.update(req) d = apis.DeleteBucketRequestSchema().dumps(d) resp = self.invoke("DeleteBucket", d, **kwargs) return apis.DeleteBucketResponseSchema().loads(resp)
[docs] def delete_ufile_token( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DeleteUFileToken - 删除令牌 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **TokenId** (str) - (Required) 令牌ID **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DeleteUFileTokenRequestSchema().dumps(d) resp = self.invoke("DeleteUFileToken", d, **kwargs) return apis.DeleteUFileTokenResponseSchema().loads(resp)
[docs] def describe_bucket( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DescribeBucket - 获取Bucket的描述信息 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 如果提供此参数,则获取相应地域下所有空间的空间名称(只返回空间名称信息) - **BucketName** (str) - 待获取Bucket的名称,若不提供,则获取所有Bucket - **Limit** (int) - 获取所有Bucket列表的限制数目,默认为20 - **Offset** (int) - 获取所有Bucket列表的偏移数目,默认为0 **Response** - **DataSet** (list) - 见 **UFileBucketSet** 模型定义 **Response Model** **UFileBucketSet** - **Biz** (str) - Bucket所属业务, general或vod或udb general: 普通业务; vod: 视频云业务; udb: 云数据库业务 - **BucketId** (str) - Bucket的ID - **BucketName** (str) - Bucket名称 - **CdnDomainId** (list) - 与Bucket关联的CND加速域名的ID列表 - **CreateTime** (int) - Bucket的创建时间 - **Domain** (dict) - 见 **UFileDomainSet** 模型定义 - **HasUserDomain** (int) - 是否存在自定义域名。0不存在,1存在,2错误 - **ModifyTime** (int) - Bucket的修改时间 - **Region** (str) - Bucket所属地域 - **Tag** (str) - 所属业务组 - **Type** (str) - Bucket访问类型 **UFileDomainSet** - **Cdn** (list) - UCDN加速域名 - **CustomCdn** (list) - 用户自定义CDN加速域名 - **CustomSrc** (list) - 用户自定义源站域名 - **Src** (list) - 源站域名 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DescribeBucketRequestSchema().dumps(d) resp = self.invoke("DescribeBucket", d, **kwargs) return apis.DescribeBucketResponseSchema().loads(resp)
[docs] def describe_ufile_token( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """DescribeUFileToken - 获取令牌信息 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **Display** (int) - 0表示显示部分token信息;不传递和其他情况表示显示全部token信息 - **TokenId** (str) - 令牌ID,只返回指定ID信息,否则拉取所有令牌 - **TokenName** (str) - 令牌名称,只返回指定令牌名称信息,否则拉取所有令牌 **Response** - **DataSet** (list) - 见 **UFileTokenSet** 模型定义 **Response Model** **UFileTokenSet** - **AllowedBuckets** (list) - 令牌允许操作的bucket - **AllowedOps** (list) - 令牌允许执行的操作,[ TOKEN_ALLOW_NONE , TOKEN_ALLOW_READ , TOKEN_ALLOW_WRITE , TOKEN_ALLOW_DELETE , TOKEN_ALLOW_LIST, TOKEN_ALLOW_IOP , TOKEN_ALLOW_DP ] - **AllowedPrefixes** (list) - 令牌允许操作的key前缀 - **CreateTime** (int) - 创建时间 - **ExpireTime** (int) - 令牌的超时时间点 - **ModifyTime** (int) - 修改时间 - **PrivateKey** (str) - 令牌私钥 - **PublicKey** (str) - 令牌公钥 - **Region** (str) - 所属地区 - **TokenId** (str) - 令牌ID - **TokenName** (str) - 令牌名称 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.DescribeUFileTokenRequestSchema().dumps(d) resp = self.invoke("DescribeUFileToken", d, **kwargs) return apis.DescribeUFileTokenResponseSchema().loads(resp)
[docs] def get_ufile_daily_report( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """GetUFileDailyReport - 查看日消费报表 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **EndTime** (int) - (Required) 查询结束时间;unix时间戳,单位s - **StartTime** (int) - (Required) 查询开始时间;unix时间戳,单位s - **BucketName** (str) - 空间名称。此字段不为空,返回此Bucket日使用量;否则,返回这个项目的日使用量 **Response** - **DataSet** (list) - 见 **UFileReportItem** 模型定义 **Response Model** **UFileDailyReportItem** - **AcRestore** (float) - 冷存激活量,即归档数据取回量;单位byte - **AcStorage** (float) - 冷存(归档)存储量;单位byte - **ApiTimes** (float) - API请求次数(次) - **BusyFlow** (float) - 忙时流量;单位byte;海外无此字段 - **CdnFlow** (float) - cdn回源流量;单位byte - **Date** (int) - 配额消费时间,unix时间戳(单位s),精确到日期 - **Flow** (float) - 下载流量:单位byte;国内无此字段 - **IaGetSize** (float) - 低频数据取回量;单位byte - **IaStorage** (float) - 低频存储量;单位byte - **IdleFlow** (float) - 闲时流量;单位byte;海外无此字段 - **Storage** (float) - 标准存储量;单位byte **UFileTotalReportItem** - **ApiTimes** (float) - API请求次数(次) - **BusyFlow** (float) - 忙时流量;单位byte;海外无此字段 - **CdnFlow** (float) - cdn回源流量;单位byte - **Flow** (float) - 下载流量:单位byte;国内无此字段 - **IdleFlow** (float) - 闲时流量;单位byte;海外无此字段 **UFileReportItem** - **Daily** (list) - 见 **UFileDailyReportItem** 模型定义 - **Total** (list) - 见 **UFileTotalReportItem** 模型定义 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.GetUFileDailyReportRequestSchema().dumps(d) resp = self.invoke("GetUFileDailyReport", d, **kwargs) return apis.GetUFileDailyReportResponseSchema().loads(resp)
[docs] def get_ufile_quota( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """GetUFileQuota - 查看配额状态 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **QuotaType** (str) - (Required) 配额类型,取值为storage-volume, download-traffic或request-count **Response** - **LeftQuota** (float) - 剩余的配额数值 """ # build request d = { "ProjectId": self.config.project_id, } req and d.update(req) d = apis.GetUFileQuotaRequestSchema().dumps(d) resp = self.invoke("GetUFileQuota", d, **kwargs) return apis.GetUFileQuotaResponseSchema().loads(resp)
[docs] def get_ufile_quota_info( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """GetUFileQuotaInfo - 获取配额信息 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **QuotaType** (list) - (Required) 配额类型,取值为storage-volume, download-traffic或request-count **Response** - **DataSet** (list) - 见 **UFileQuotaDataSetItem** 模型定义 **Response Model** **UFileQuotaDataSetItem** - **DownloadFlow** (dict) - 见 **UFileQuotaLeft** 模型定义 - **Owe** (int) - 是否欠费:1表示欠费;0表示未欠费 - **Region** (str) - 可用地域 - **RequestCnt** (dict) - 见 **UFileQuotaLeft** 模型定义 - **Storage** (dict) - 见 **UFileQuotaLeft** 模型定义 **UFileQuotaLeft** - **Left** (float) - 配额剩余量 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.GetUFileQuotaInfoRequestSchema().dumps(d) resp = self.invoke("GetUFileQuotaInfo", d, **kwargs) return apis.GetUFileQuotaInfoResponseSchema().loads(resp)
[docs] def get_ufile_quota_price( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """GetUFileQuotaPrice - 根据US3的购买配额,查询需要支付的价格。 **Request** - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **DownloadTraffic** (int) - 下载流量,单位: GB,范围: [0, 60 000],步长:1GB - **RequestCount** (int) - 请求次数,单位:万次,范围:[0, 1 000 000],步长:1万次 - **StorageVolume** (int) - 存储容量,单位: GB*天,范围: [0, 30 000 000],步长:100GB*天 **Response** - **Price** (float) - 待支付价格,单位:分 """ # build request d = { "Region": self.config.region, } req and d.update(req) d = apis.GetUFileQuotaPriceRequestSchema().dumps(d) resp = self.invoke("GetUFileQuotaPrice", d, **kwargs) return apis.GetUFileQuotaPriceResponseSchema().loads(resp)
[docs] def get_ufile_report( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """GetUFileReport - 查看配额使用报表 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **EndTime** (int) - (Required) 查询结束时间 - **StartTime** (int) - (Required) 查询开始时间 **Response** - **DataSet** (list) - 见 **UFileReportSet** 模型定义 **Response Model** **UFileReportSet** - **DownloadTraffic** (float) - 配额消费当日使用的下载流量,单位:GB - **RequestCount** (float) - 配额消费当日使用的请求次数,单位:万次 - **StorageVolume** (float) - 配额消费当日使用的存储容量,单位:GB*天 - **Time** (int) - 配额消费时间,unix时间戳,精确到日期 """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.GetUFileReportRequestSchema().dumps(d) resp = self.invoke("GetUFileReport", d, **kwargs) return apis.GetUFileReportResponseSchema().loads(resp)
[docs] def set_ufile_referer( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """SetUFileReferer - 设置对象存储防盗链 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_ - **BucketName** (str) - (Required) 存储空间名称 - **RefererStatus** (str) - (Required) 开启关闭referer防盗链;关闭防盗链会清空防盗链参数设置,开启防盗链必须指定 RefererType、Referers;开启:on, 关闭:off; - **RefererAllowNull** (bool) - RefererType为白名单时,RefererAllowNull为false代表不允许空referer访问,为true代表允许空referer访问;此参数默认为 true; - **RefererType** (int) - 防盗链Referer类型,支持两种类型,黑名单和白名单; 1黑名单,2白名单;RefererStatus为"on"时此参数必填; - **Referers** (list) - 防盗链Referer规则,支持正则表达式(不支持符号';') **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.SetUFileRefererRequestSchema().dumps(d) resp = self.invoke("SetUFileReferer", d, **kwargs) return apis.SetUFileRefererResponseSchema().loads(resp)
[docs] def update_bucket( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """UpdateBucket - 更改Bucket的属性 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **BucketName** (str) - (Required) 待修改Bucket的名称 - **Type** (str) - (Required) Bucket访问类型;public或private **Response** - **BucketId** (str) - Bucket的ID - **BucketName** (str) - Bucket的名称 """ # build request d = { "ProjectId": self.config.project_id, } req and d.update(req) d = apis.UpdateBucketRequestSchema().dumps(d) resp = self.invoke("UpdateBucket", d, **kwargs) return apis.UpdateBucketResponseSchema().loads(resp)
[docs] def update_ufile_token( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: """UpdateUFileToken - 更新令牌的操作权限,可操作key的前缀,可操作bucket和令牌超时时间点 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_ - **TokenId** (str) - (Required) 令牌ID - **AllowedBuckets** (list) - 令牌允许操作的bucket - **AllowedOps** (list) - 令牌允许执行的操作,[ TOKEN_ALLOW_NONE , TOKEN_ALLOW_READ , TOKEN_ALLOW_WRITE , TOKEN_ALLOW_DELETE , TOKEN_ALLOW_LIST, TOKEN_ALLOW_IOP , TOKEN_ALLOW_DP ] - **AllowedPrefixes** (list) - 令牌允许操作的key前缀 - **ExpireTime** (int) - 令牌的超时时间点(时间戳);注意:过期时间不能超过 4102416000 - **TokenName** (str) - 令牌名称 **Response** """ # build request d = { "ProjectId": self.config.project_id, "Region": self.config.region, } req and d.update(req) d = apis.UpdateUFileTokenRequestSchema().dumps(d) resp = self.invoke("UpdateUFileToken", d, **kwargs) return apis.UpdateUFileTokenResponseSchema().loads(resp)