详情页标题前

腾讯云CVM服务器使用 Python 调用云 API 实现批量共享自定义镜像

详情页1

本文介绍如何通过 Python SDK 调用 API 接口,通过子用户批量共享云服务器自定义镜像。若您具备类似需求,或想了解如何使用 SDK,可参考本文进行操作。

前提条件

已创建子用户,并已具备云服务器及云 API 所有权限。创建子用户请参见 新建子用户为子用户授予权限请参见 子用户权限设置,本文为子用户授予 QcloudCVMFullAccessQcloudAPIFullAccess 预设策略。为子用户创建 SecretId 与 SecretKey,操作步骤请参见 账号访问密钥管理。请记录并妥善保管。已具备待共享自定义镜像。如需创建,请参见 创建自定义镜像

操作步骤

安装 Python

1. 执行以下命令查看当前云服务器是否已经安装 Python 3.6+版本,若已安装,则可以跳过安装步骤。

python --version

2. 若您的云服务器没有安装 Python。CentOS 操作系统的云服务器可以执行以下命令安装。

yum install python3

Ubuntu/Debian 操作系统的云服务器可以执行以下命令安装。

sudo apt install python3

其他操作系统您可以前往 Python 官网,下载 Python 3.6+版本并上传至 Linux 服务器中,解压并安装 Python。3. 安装完成后,请执行以下命令核实 Python 版本。

python --version

创建代码

1. 在调用机器上新建 test.py 文件,并输入以下代码。

import jsonfrom tencentcloud.common import credentialfrom tencentcloud.common.profile.client_profile import ClientProfilefrom tencentcloud.common.profile.http_profile import HttpProfilefrom tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKExceptionfrom tencentcloud.cvm.v20170312 import cvm_client, models
# 默认读取环境变量 TENCENTCLOUD_SECRET_ID 和 TENCENTCLOUD_SECRET_KEY 获取 secretId 和 secretKey# 更多凭证管理方式,请参考:https://github.com/TencentCloud/tencentcloud-sdk-python#%E5%87%AD%E8%AF%81%E7%AE%A1%E7%90%86cred = credential.EnvironmentVariableCredential().get_credential()httpProfile = HttpProfile()httpProfile.endpoint = "cvm.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfile
# 举例为南京 请按实际情况进行修改 例如上海请修改为ap-shanghaiaria = 'ap-nanjing'client = cvm_client.CvmClient(cred,aria, clientProfile)def img_share(img_id,img_name,accountids): try: req1 = models.ModifyImageSharePermissionRequest() params1 = { "ImageId": img_id, "AccountIds": accountids, "Permission": "SHARE" } req1.from_json_string(json.dumps(params1))
resp1 = client.ModifyImageSharePermission(req1) response1 = json.loads(resp1.to_json_string()) print(img_name,'共享成功!',response1) except TencentCloudSDKException as err: print(img_name,'共享失败!',err)try: req = models.DescribeImagesRequest() params = { "Filters": [ { "Name": "image-type", "Values": ["PRIVATE_IMAGE"] } ], "Limit": 100 } req.from_json_string(json.dumps(params)) resp = client.DescribeImages(req) response = json.loads(resp.to_json_string()) img_num = response["TotalCount"] print('正在获取镜像列表....') share_config = input('1.共享所有镜像\n\n2.让我决定每一个镜像\n\n输入1或2并按回车 默认为2:') or '2' accountids = input('请输入被共享人uin 多个以英文逗号隔开:').split(",") for i in range(img_num): basic = response['ImageSet'][i] img_id = basic['ImageId'] img_name = basic['ImageName'] if share_config == '1': img_share(img_id,img_name,accountids) elif share_config == '2': print('镜像id:',img_id,'镜像名称:',img_name) share_choice = input('是否共享此镜像 y/n:') or 'y' if share_choice == 'y': img_share(img_id,img_name,accountids) elif share_choice == 'n': continue else: print('请输入正确的选项!!') else: print('请输入正确的选项!!')
except TencentCloudSDKException as err: print(err)

SecretId 与 SecretKey:请替换为已在 前提条件 中创建的子用户 SecretId 与 SecretKey。aria:请替换为待共享自定义镜像实际所在地域。地域列表可参见 地域列表2. 在调用机器的命令行中执行以下命令,运行代码。

python test.py

根据屏幕提示输入1或2,同时共享所有镜像或依次选择共享镜像,并输入对端账号 ID。您可通知对方前往 账号信息 页面获取。
共享成功后,将返回对应数量的 RequestID。如下图所示:

腾讯云CVM服务器使用 Python 调用云 API 实现批量共享自定义镜像



相关接口文档

本文代码调用接口为 查看镜像列表修改镜像分享信息
腾讯云云服务器官网1折活动进行中,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/139726.html

(0)
上一篇 2023年12月9日 上午1:07
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云对象存储DELETE Bucket lifecycle

    功能描述 DELETE Bucket lifecycle 用于删除存储桶的生命周期配置。如果该 Bucket 未配置生命周期规则,将返回 NoSuchLifecycleConfiguration。 授权说明 授权策略中 action 设置为 cos:DeleteBucketLifecycle 。查看所有 action。 请求 请求示例 DELETE /?l…

    腾讯云 2023年12月9日
  • 腾讯云对象存储提交任务

    功能描述 提交一个转码任务。 授权说明 授权策略中 action 设置为 ci:CreateMediaJobs 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。 使用限制 使用该接口时,请先确认相关限制条件。详情请参见 使用限制。 请求 请求示例 POST /jobs HTTP/1.1Host: &…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS使用前须知-云淘科技

    日志服务通用数据库审计应用支持通过抓包方式将数据库的操作记录和操作行为上传到日志服务。您可以基于日志服务的存储、查询分析、可视化和告警等一站式功能,完成对数据库的审计。本文介绍通用数据库审计应用的使用场景、资产、费用等信息。 使用场景 通用数据库审计应用支持对RDS数据库和自建数据库进行审计。 RDS数据库审计场景 将Logtail和抓包工具部署在应用服务器…

    2023年12月10日
  • 腾讯云云点播如何将直播视频录制到云点播并进行处理

    直播录制方案将直播原始流经过转音视频封装(不修改音频、视频数据以及对应的时间戳等信息)得到的文件存储到腾讯云点播平台,并对录制文件进行二次制作、分发播放的标准解决方案。更多详情可参见 直播录制解决方案。 产品特性 基于腾讯云直播能力,能快速将直播流内容进行录制并存储至云平台并进行二次制作和分发。基于腾讯云领先的音视频 AI 技术及全球海量直播加速节点,为您提…

    2023年12月9日
  • 腾讯云云直播云端直播特效

    云端直播特效服务基于云直播 和 应用云渲染。传统直播间礼物特效方式使用本地渲染,效果单一。使用云端直播特效,可将酷炫的礼物/直播特效在云端渲染,实时直播混流。提升直播间礼物效果和趣味性。您可以在 全真技术体验馆-云端直播特效 中,体验直播间云端特效玩法。  使用场景 场景名称 描述 秀场直播 观众赠送礼物时,赠送酷炫的 3D 礼物效果 主播 PK 主…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。