Python-divvy 包完整使用指南一、包核心概述python-divvy是Divvy 云服务平台的官方 Python SDK用于程序化对接 Divvy 云的资源配额管理、权限控制、环境隔离、资源调度等核心功能。核心定位替代手动操作 Divvy 控制台通过代码自动化管理云资源、配额、用户、环境适用场景云资源自动化运维、CI/CD 流水线配额管控、多团队资源隔离、配额预警与动态调整依赖说明基于 Python 3.7依赖requests完成 API 交互无其他重型依赖二、安装方法1. 标准安装pip# 基础安装pipinstallpython-divvy# 指定版本安装推荐稳定版pipinstallpython-divvy1.2.0# 升级到最新版pipinstall--upgradepython-divvy2. 源码安装开发版gitclone https://github.com/divvycloud/python-divvy.gitcdpython-divvy python setup.pyinstall3. 验证安装importdivvyprint(divvy.__version__)# 输出版本号即安装成功三、核心语法与基础参数1. 初始化客户端核心入口所有操作都需要先初始化DivvyClient客户端连接 Divvy 云服务。fromdivvyimportDivvyClient# 初始化语法clientDivvyClient(api_key你的Divvy API Key,# 必传API 密钥控制台获取api_secret你的Divvy API Secret,# 必传API 密钥密钥base_urlhttps://api.divvycloud.com,# 可选API 地址默认官方地址timeout30,# 可选请求超时时间秒默认30verify_sslTrue# 可选SSL 验证生产环境建议开启)2. 核心模块与常用方法模块核心方法功能说明配额管理client.quotas.list()查询所有资源配额client.quotas.get(quota_id)查询单个配额详情client.quotas.create(data)创建新配额client.quotas.update(quota_id, data)更新配额client.quotas.delete(quota_id)删除配额环境管理client.environments.list()查询所有隔离环境client.environments.create(data)创建资源隔离环境用户管理client.users.list()查询平台用户列表资源管理client.resources.list()查询云资源列表client.resources.tag(resource_id, tags)给资源打标签3. 通用参数说明身份认证参数api_key/api_secret从 Divvy 控制台API 密钥管理生成必须保密请求通用参数quota_id/resource_id资源唯一标识字符串类型data字典格式传递创建/更新的配置信息limit/offset分页参数用于查询大量数据filters过滤参数精准筛选资源四、8个实际应用案例可直接运行案例1初始化客户端并测试连接场景验证 API 密钥有效性建立基础连接fromdivvyimportDivvyClientfromdivvy.exceptionsimportDivvyAuthenticationErrordefinit_divvy_client():初始化Divvy客户端并测试连接try:clientDivvyClient(api_keyYOUR_API_KEY,api_secretYOUR_API_SECRET,timeout20)# 测试连接查询账户信息account_infoclient.account.get()print(连接成功账户信息,account_info[name])returnclientexceptDivvyAuthenticationError:print(错误API 密钥无效请检查密钥配置)exceptExceptionase:print(f连接失败{str(e)})# 调用if__name____main__:clientinit_divvy_client()案例2查询所有资源配额场景运维人员批量查看云资源CPU、内存、存储配额使用情况deflist_all_quotas(client):查询所有资源配额try:# 分页查询每页20条quotasclient.quotas.list(limit20,offset0)print(f共查询到{len(quotas[items])}个配额)forquotainquotas[items]:print(f配额ID:{quota[id]}, 名称:{quota[name]}, 总配额:{quota[limit]}, 已用:{quota[used]})returnquotasexceptExceptionase:print(f查询失败{str(e)})# 使用# client init_divvy_client()# list_all_quotas(client)案例3创建新的资源配额场景为新团队创建 CPU/内存配额限制defcreate_cpu_quota(client):创建CPU资源配额quota_data{name:研发团队-CPU配额,resource_type:cpu,# 资源类型cpu/memory/storagelimit:100,# 总配额100核environment_id:env-xxxxxx,# 关联的环境IDdescription:研发团队专用CPU配额}try:resultclient.quotas.create(quota_data)print(f配额创建成功ID:{result[id]})returnresultexceptExceptionase:print(f创建失败{str(e)})案例4更新现有配额动态调整资源场景业务高峰期临时提升配额低谷期降低配额defupdate_quota(client,quota_id):更新配额大小update_data{limit:150,# 将CPU配额从100核调整为150核description:临时提升业务高峰期CPU配额}try:resultclient.quotas.update(quota_id,update_data)print(f配额更新成功新配额{result[limit]})exceptExceptionase:print(f更新失败{str(e)})案例5创建资源隔离环境场景为测试、生产、开发创建独立环境避免资源冲突defcreate_environment(client):创建隔离环境env_data{name:测试环境,type:testing,# 类型production/testing/developmentdescription:测试团队专用隔离环境,auto_clean:True# 自动清理闲置资源}try:envclient.environments.create(env_data)print(f环境创建成功环境ID:{env[id]})returnenvexceptExceptionase:print(f环境创建失败{str(e)})案例6给云资源打标签分类管理场景按团队/项目给资源打标签方便成本核算deftag_resource(client,resource_id):给资源添加标签tags{team:研发部,project:用户中心,owner:zhangsan}try:client.resources.tag(resource_id,tags)print(资源标签添加成功)exceptExceptionase:print(f打标签失败{str(e)})案例7查询闲置资源并释放场景自动化清理闲置云资源降低成本defclean_idle_resources(client):查询并释放闲置资源try:# 过滤闲置超过7天的资源filters{idle_days:7,status:idle}idle_resourcesclient.resources.list(filtersfilters)ifnotidle_resources[items]:print(无闲置资源)returnprint(f发现{len(idle_resources[items])}个闲置资源)forresinidle_resources[items]:# 释放资源client.resources.delete(res[id])print(f已释放资源{res[id]}-{res[name]})exceptExceptionase:print(f清理失败{str(e)})案例8配额使用量预警监控场景监控配额使用率超过80%发送告警defquota_alert_monitor(client):配额使用率监控预警try:quotasclient.quotas.list()forquotainquotas[items]:usedquota[used]limitquota[limit]iflimit0:continueusage_rateused/limitifusage_rate0.8:print(f【预警】配额{quota[name]}使用率过高{usage_rate:.2%})exceptExceptionase:print(f监控失败{str(e)})五、常见错误与解决方案错误类型错误信息原因解决方案认证错误AuthenticationErrorAPI 密钥错误/过期重新生成密钥检查密钥配置权限错误PermissionDenied密钥无操作权限在控制台给 API 密钥授权资源不存在ResourceNotFoundID 错误/已删除核对 ID确认资源存在请求超时TimeoutError网络波动/服务延迟增大 timeout 参数检查网络参数错误InvalidParameter数据格式错误核对参数格式如字典、字符串配额冲突QuotaExceeded配额超过上限调整配额大小或释放资源示例异常捕获最佳实践fromdivvy.exceptionsimport(DivvyAuthenticationError,DivvyPermissionError,DivvyResourceNotFound)try:client.quotas.get(invalid-id)exceptDivvyAuthenticationError:print(密钥无效)exceptDivvyPermissionError:print(无权限操作)exceptDivvyResourceNotFound:print(配额不存在)exceptExceptionase:print(f未知错误{str(e)})六、使用注意事项密钥安全不要将api_key/api_secret硬编码在代码中推荐使用环境变量/配置文件importos clientDivvyClient(api_keyos.getenv(DIVVY_API_KEY),api_secretos.getenv(DIVVY_API_SECRET))权限最小化创建 API 密钥时仅分配必要权限如只读/读写避免全权限请求限流Divvy API 有调用频率限制批量操作时添加延时importtimeforquotainquota_list:client.quotas.update(quota[id],{limit:100})time.sleep(0.5)# 避免触发限流SSL 与网络生产环境必须开启verify_sslTrue内网环境可根据需求关闭日志与监控关键操作添加日志记录便于问题排查版本兼容固定 SDK 版本避免自动升级导致兼容性问题资源清理测试环境创建的资源/配额使用完成后及时删除错误重试网络波动时使用重试机制提升稳定性fromtenacityimportretry,stop_after_attemptretry(stopstop_after_attempt(3))defget_quota_safe(client,quota_id):returnclient.quotas.get(quota_id)总结python-divvy是 Divvy 云的 Python SDK核心用于自动化配额、环境、资源管理安装仅需pip install python-divvy核心是初始化DivvyClient完成认证8个案例覆盖连接、查询、创建、更新、监控、清理全场景可直接复用核心注意事项密钥安全、权限控制、请求限流、异常捕获避免生产环境故障《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。全书共11章前6章涵盖深度学习基础包括张量运算、神经网络原理、数据预处理及卷积神经网络等后5章进阶探讨图像、文本、音频建模技术并结合Transformer架构解析大语言模型的开发实践。书中通过房价预测、图像分类等案例讲解模型构建方法每章附有动手练习题帮助读者巩固实战能力。内容兼顾数学原理与工程实现适配PyTorch框架最新技术发展趋势。
Python之python-divvy包语法、参数和实际应用案例
Python-divvy 包完整使用指南一、包核心概述python-divvy是Divvy 云服务平台的官方 Python SDK用于程序化对接 Divvy 云的资源配额管理、权限控制、环境隔离、资源调度等核心功能。核心定位替代手动操作 Divvy 控制台通过代码自动化管理云资源、配额、用户、环境适用场景云资源自动化运维、CI/CD 流水线配额管控、多团队资源隔离、配额预警与动态调整依赖说明基于 Python 3.7依赖requests完成 API 交互无其他重型依赖二、安装方法1. 标准安装pip# 基础安装pipinstallpython-divvy# 指定版本安装推荐稳定版pipinstallpython-divvy1.2.0# 升级到最新版pipinstall--upgradepython-divvy2. 源码安装开发版gitclone https://github.com/divvycloud/python-divvy.gitcdpython-divvy python setup.pyinstall3. 验证安装importdivvyprint(divvy.__version__)# 输出版本号即安装成功三、核心语法与基础参数1. 初始化客户端核心入口所有操作都需要先初始化DivvyClient客户端连接 Divvy 云服务。fromdivvyimportDivvyClient# 初始化语法clientDivvyClient(api_key你的Divvy API Key,# 必传API 密钥控制台获取api_secret你的Divvy API Secret,# 必传API 密钥密钥base_urlhttps://api.divvycloud.com,# 可选API 地址默认官方地址timeout30,# 可选请求超时时间秒默认30verify_sslTrue# 可选SSL 验证生产环境建议开启)2. 核心模块与常用方法模块核心方法功能说明配额管理client.quotas.list()查询所有资源配额client.quotas.get(quota_id)查询单个配额详情client.quotas.create(data)创建新配额client.quotas.update(quota_id, data)更新配额client.quotas.delete(quota_id)删除配额环境管理client.environments.list()查询所有隔离环境client.environments.create(data)创建资源隔离环境用户管理client.users.list()查询平台用户列表资源管理client.resources.list()查询云资源列表client.resources.tag(resource_id, tags)给资源打标签3. 通用参数说明身份认证参数api_key/api_secret从 Divvy 控制台API 密钥管理生成必须保密请求通用参数quota_id/resource_id资源唯一标识字符串类型data字典格式传递创建/更新的配置信息limit/offset分页参数用于查询大量数据filters过滤参数精准筛选资源四、8个实际应用案例可直接运行案例1初始化客户端并测试连接场景验证 API 密钥有效性建立基础连接fromdivvyimportDivvyClientfromdivvy.exceptionsimportDivvyAuthenticationErrordefinit_divvy_client():初始化Divvy客户端并测试连接try:clientDivvyClient(api_keyYOUR_API_KEY,api_secretYOUR_API_SECRET,timeout20)# 测试连接查询账户信息account_infoclient.account.get()print(连接成功账户信息,account_info[name])returnclientexceptDivvyAuthenticationError:print(错误API 密钥无效请检查密钥配置)exceptExceptionase:print(f连接失败{str(e)})# 调用if__name____main__:clientinit_divvy_client()案例2查询所有资源配额场景运维人员批量查看云资源CPU、内存、存储配额使用情况deflist_all_quotas(client):查询所有资源配额try:# 分页查询每页20条quotasclient.quotas.list(limit20,offset0)print(f共查询到{len(quotas[items])}个配额)forquotainquotas[items]:print(f配额ID:{quota[id]}, 名称:{quota[name]}, 总配额:{quota[limit]}, 已用:{quota[used]})returnquotasexceptExceptionase:print(f查询失败{str(e)})# 使用# client init_divvy_client()# list_all_quotas(client)案例3创建新的资源配额场景为新团队创建 CPU/内存配额限制defcreate_cpu_quota(client):创建CPU资源配额quota_data{name:研发团队-CPU配额,resource_type:cpu,# 资源类型cpu/memory/storagelimit:100,# 总配额100核environment_id:env-xxxxxx,# 关联的环境IDdescription:研发团队专用CPU配额}try:resultclient.quotas.create(quota_data)print(f配额创建成功ID:{result[id]})returnresultexceptExceptionase:print(f创建失败{str(e)})案例4更新现有配额动态调整资源场景业务高峰期临时提升配额低谷期降低配额defupdate_quota(client,quota_id):更新配额大小update_data{limit:150,# 将CPU配额从100核调整为150核description:临时提升业务高峰期CPU配额}try:resultclient.quotas.update(quota_id,update_data)print(f配额更新成功新配额{result[limit]})exceptExceptionase:print(f更新失败{str(e)})案例5创建资源隔离环境场景为测试、生产、开发创建独立环境避免资源冲突defcreate_environment(client):创建隔离环境env_data{name:测试环境,type:testing,# 类型production/testing/developmentdescription:测试团队专用隔离环境,auto_clean:True# 自动清理闲置资源}try:envclient.environments.create(env_data)print(f环境创建成功环境ID:{env[id]})returnenvexceptExceptionase:print(f环境创建失败{str(e)})案例6给云资源打标签分类管理场景按团队/项目给资源打标签方便成本核算deftag_resource(client,resource_id):给资源添加标签tags{team:研发部,project:用户中心,owner:zhangsan}try:client.resources.tag(resource_id,tags)print(资源标签添加成功)exceptExceptionase:print(f打标签失败{str(e)})案例7查询闲置资源并释放场景自动化清理闲置云资源降低成本defclean_idle_resources(client):查询并释放闲置资源try:# 过滤闲置超过7天的资源filters{idle_days:7,status:idle}idle_resourcesclient.resources.list(filtersfilters)ifnotidle_resources[items]:print(无闲置资源)returnprint(f发现{len(idle_resources[items])}个闲置资源)forresinidle_resources[items]:# 释放资源client.resources.delete(res[id])print(f已释放资源{res[id]}-{res[name]})exceptExceptionase:print(f清理失败{str(e)})案例8配额使用量预警监控场景监控配额使用率超过80%发送告警defquota_alert_monitor(client):配额使用率监控预警try:quotasclient.quotas.list()forquotainquotas[items]:usedquota[used]limitquota[limit]iflimit0:continueusage_rateused/limitifusage_rate0.8:print(f【预警】配额{quota[name]}使用率过高{usage_rate:.2%})exceptExceptionase:print(f监控失败{str(e)})五、常见错误与解决方案错误类型错误信息原因解决方案认证错误AuthenticationErrorAPI 密钥错误/过期重新生成密钥检查密钥配置权限错误PermissionDenied密钥无操作权限在控制台给 API 密钥授权资源不存在ResourceNotFoundID 错误/已删除核对 ID确认资源存在请求超时TimeoutError网络波动/服务延迟增大 timeout 参数检查网络参数错误InvalidParameter数据格式错误核对参数格式如字典、字符串配额冲突QuotaExceeded配额超过上限调整配额大小或释放资源示例异常捕获最佳实践fromdivvy.exceptionsimport(DivvyAuthenticationError,DivvyPermissionError,DivvyResourceNotFound)try:client.quotas.get(invalid-id)exceptDivvyAuthenticationError:print(密钥无效)exceptDivvyPermissionError:print(无权限操作)exceptDivvyResourceNotFound:print(配额不存在)exceptExceptionase:print(f未知错误{str(e)})六、使用注意事项密钥安全不要将api_key/api_secret硬编码在代码中推荐使用环境变量/配置文件importos clientDivvyClient(api_keyos.getenv(DIVVY_API_KEY),api_secretos.getenv(DIVVY_API_SECRET))权限最小化创建 API 密钥时仅分配必要权限如只读/读写避免全权限请求限流Divvy API 有调用频率限制批量操作时添加延时importtimeforquotainquota_list:client.quotas.update(quota[id],{limit:100})time.sleep(0.5)# 避免触发限流SSL 与网络生产环境必须开启verify_sslTrue内网环境可根据需求关闭日志与监控关键操作添加日志记录便于问题排查版本兼容固定 SDK 版本避免自动升级导致兼容性问题资源清理测试环境创建的资源/配额使用完成后及时删除错误重试网络波动时使用重试机制提升稳定性fromtenacityimportretry,stop_after_attemptretry(stopstop_after_attempt(3))defget_quota_safe(client,quota_id):returnclient.quotas.get(quota_id)总结python-divvy是 Divvy 云的 Python SDK核心用于自动化配额、环境、资源管理安装仅需pip install python-divvy核心是初始化DivvyClient完成认证8个案例覆盖连接、查询、创建、更新、监控、清理全场景可直接复用核心注意事项密钥安全、权限控制、请求限流、异常捕获避免生产环境故障《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。全书共11章前6章涵盖深度学习基础包括张量运算、神经网络原理、数据预处理及卷积神经网络等后5章进阶探讨图像、文本、音频建模技术并结合Transformer架构解析大语言模型的开发实践。书中通过房价预测、图像分类等案例讲解模型构建方法每章附有动手练习题帮助读者巩固实战能力。内容兼顾数学原理与工程实现适配PyTorch框架最新技术发展趋势。