查询云服务器ECS的镜像

本文涉及的产品
云服务器 ECS,u1 4核8GB 1个月
云服务器 ECS,u1 4核16GB 1个月
云服务器 ECS,u1 2核4GB 3个月
简介: 查询ECS的镜像,针对特定的场景如何查找镜像,包括 1. 查找 Windows的 系统镜像,2.查找 被实例使用着的 镜像 3. 查找 共享 的镜像 (其他人共享给我的)4.查找 带Tag( key=xxx value=yyy) 的镜像

  • 接口名称

查询镜像源列表:DescribeImages

  • 背景:

如何查找你所需的镜像 DescribeImages接口查询镜像列表

  • 针对场景做相应的查询

场景1. 查找 Windows的 系统镜像
场景2. 查找 被实例使用着的 镜像
场景3. 查找 共享 的镜像 (其他人共享给我的)
场景4. 查找 Tag key=xxx value=yyy 的镜像

除了您现在看到的这文章,您还可以前往:
您也可以使用 ECS 管理控制台、ECS 命令行工具或开发工具包在 ECS 区域内查询 ECS 系统镜像。

ECS 管理控制台-快照和镜像-镜像
ECS ALIYUN CLI
API文档:DescribeImages


下文以Python为示例。

安装ECS Python SDK

首先确保您已经具备Python的Runtime,本文中使用的Python版本为2.7+。

pip install aliyun-python-sdk-ecs
如果提示您没有权限,请切换sudo 继续执行。

sudo pip install aliyun-python-sdk-ecs
本文使用的sdk版本为4.6.3。

使用场景事例

# your access key Id
ak_id = "YOU_ACCESS_KEY_ID"
# your access key secret
ak_secret = "YOU_ACCESS_SECRET"

region_id = "cn-hangzhou"

clt = client.AcsClient(ak_id, ak_secret, region_id)

def _execute_request(request):
    response = _send_request(request)
    if response is None:
        print 'response is None'
        return
    if response.get('Code') is None:
        images = response.get("Images").get('Image')
        totalCount = response.get('TotalCount')
        imageIds = []
        for image  in images :
            imageId = image.get('ImageId')
            imageIds.append(imageId)
        print "ecs images num %s , list is %s"%(totalCount, imageIds)

# send open api request
def _send_request(request):
    request.set_accept_format('json')
    try:
        response_str = clt.do_action(request)
        logging.info(response_str)
        response_detail = json.loads(response_str)
        return response_detail
    except Exception as e:
        logging.error(e)

场景1. 查找 Windows的 系统镜像

如果你开发平台为.Net,建议选择windows的镜像来创建ECS云服务器,系统自带正版激活的,正版激活费用不再收取。注意:512内存不支持选择Windows系统,1G以上内存才能很好支持该系统。

Windows

阿里云提供了8种window系统,涵盖了Server 2008 R2 | Server 2012 R2及 Server 2016 | window Version 1709(不含UI)这几大类操作系统。

Linux

阿里云官方提供的Linux公共镜像:
CentOS | Ubuntu | Debian | SUSE Linux | OpenSUSE | Aliyun Linux | CoreOS | FreeBSD

# describe windows system images .
def describe_images_filter_windows():
    request = DescribeImagesRequest()
    #osType : linux | windows
    request.set_OSType('windows')
    request.set_ImageOwnerAlias('system')
    _execute_request(request)

场景2. 查找 被ECS实例使用着的 镜像

# describe used_by_instance images.
def describe_images_used_by_instance():
    request = DescribeImagesRequest()
    # usage : instance (被实例使用)| none (没被使用)
    request.set_Usage('instance')
    _execute_request(request)

场景3. 查找 共享 的镜像 (其他人共享给我的)

# describe to be shared images.
def describe_images_shared_by_others():
    request = DescribeImagesRequest()
    # 镜像类别:system | self (自己创建)| others (被共享的) | marketplace
    request.set_ImageOwnerAlias('others')
    _execute_request(request)

场景4. 查找 Tag key=xxx value=yyy 的镜像

# describe tag(key = value) images.
def describe_images_by_tag():
    request = DescribeImagesRequest()
    # 也可以只根据key过滤:  创建时设定的Tag的key
    request.set_Tag1Key('xxxx')
    # 也可以只根据value过滤:  创建时设定的Tag的value
    request.set_Tag1Value('yyyy')
    _execute_request(request)

完整代码

#  coding=utf-8

# if the python sdk is not install using 'sudo pip install aliyun-python-sdk-ecs'

import json
import logging

from aliyunsdkcore import client
from aliyunsdkecs.request.v20140526.DescribeImagesRequest import DescribeImagesRequest

logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                    datefmt='%a, %d %b %Y %H:%M:%S')

# your access key Id
ak_id = "YOU_ACCESS_KEY_ID"
# your access key secret
ak_secret = "YOU_ACCESS_SECRET"

region_id = "cn-hangzhou"


clt = client.AcsClient(ak_id, ak_secret, region_id)

# describe windows system images .
def describe_images_filter_windows():
    request = DescribeImagesRequest()
    #osType : linux | windows
    request.set_OSType('windows')
    request.set_ImageOwnerAlias('system')
    _execute_request(request)

# describe used_by_instance images.
def describe_images_used_by_instance():
    request = DescribeImagesRequest()
    # usage : instance (被实例使用)| none (没被使用)
    request.set_Usage('instance')
    _execute_request(request)

# describe to be shared images.
def describe_images_shared_by_others():
    request = DescribeImagesRequest()
    # 镜像类别:system | self (自己创建)| others (被共享的) | marketplace
    request.set_ImageOwnerAlias('others')
    _execute_request(request)

# describe tag(key = value) images.
def describe_images_by_tag():
    request = DescribeImagesRequest()
    # 也可以只根据key过滤:  创建时设定的Tag的key
    request.set_Tag1Key('xxxx')
    # 也可以只根据value过滤:  创建时设定的Tag的value
    request.set_Tag1Value('yyyy')
    _execute_request(request)

def _execute_request(request):
    response = _send_request(request)
    if response is None:
        print 'response is None'
        return
    if response.get('Code') is None:
        images = response.get("Images").get('Image')
        totalCount = response.get('TotalCount')
        imageIds = []
        for image  in images :
            imageId = image.get('ImageId')
            imageIds.append(imageId)
        print "ecs images num %s , list is %s"%(totalCount, imageIds)

# send open api request
def _send_request(request):
    request.set_accept_format('json')
    try:
        response_str = clt.do_action(request)
        logging.info(response_str)
        response_detail = json.loads(response_str)
        return response_detail
    except Exception as e:
        logging.error(e)


if __name__ == '__main__':
    print "hello ecs describe images"
    # describe_images_filter_windows()
    # describe_images_shared_by_others()
    # describe_images_used_by_instance()
    #describe_images_by_tag()
相关实践学习
ECS云服务器新手上路
本实验会自动创建一台ECS实例。首先,远程登陆ECS实例,并部署应用。然后,登陆管理控制台,并对这台ECS实例进行管理操作。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
13天前
|
弹性计算 缓存 安全
阿里云服务器ECS收费标准参考,2核4G配置ECS实例规格整理
阿里云提供多种2核4G ECS实例,如计算型c7、经济型e、u1等,价格不等,从68.0元/月到203.0元/月。ECS通用算力型u1实例采用高性能Intel处理器,网络收发包能力达30万PPS。经济型e实例基于Intel Xeon Platinum,适合入门级需求。2核4G服务器支持的并发访问人数依赖于软件效率、带宽、应用架构和用户行为等因素。更多信息请查看阿里云ECS产品页。
|
5天前
|
存储 编解码 网络协议
阿里云服务器计算型和通用型四代云服务器实例区别及选择参考
目前阿里云在售的云服务器中,计算型和通用型实例规格都包含了第5代、第6代、第7代和最新第八代倚天云服务器产品,例如计算型实例中有c5、c6、c7、c8y实例,而通用型实例有g5、g6、g7、g8y等实例,有的新手用户并不清楚这四代产品之间的差别,本文为大家展示这四代云服务器实例在规格、CPU(核)、内存(G)、计算、存储、内存以及不同配置的指标数据等方面为大家做个对比,让大家了解一下他们之间的不同,以供参考和选择。
阿里云服务器计算型和通用型四代云服务器实例区别及选择参考
|
19天前
|
存储 弹性计算 安全
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
阿里云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。把物理服务器比作买的房子,云服务器ECS,就是租赁的房子,阿里云云服务商就是管家。云服务商负责搭建机房、提供配套服务和维护,用户只需要付租金,即可“拎包入住”,无需自建机房、采购和配置硬件设施。如果不再需要云服务器,可随时“退租”(释放资源),节省成本。本文为大家解析云服务器ECS产品优势、应用场景和最新价格及常见问题。
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
|
5天前
|
弹性计算 固态存储 大数据
阿里云服务器多少钱一年?2024年阿里云服务器价格表曝光!
2024年最新阿里云服务器租用费用优惠价格表,轻量2核2G3M带宽轻量服务器一年82元,折合6.8元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年,2核4G4M轻量服务器298元一年,2核4G服务器30元3个月,4核16G10M服务器26元1个月、149元半年,8核32G服务器90元1个月、271元3个月,阿小云整理阿里云服务器租用费用价格表,包括一年优惠价格、一个月和1小时收费明细表
56 3
|
15天前
|
存储 弹性计算 网络协议
阿里云hpc8ae服务器ECS高性能计算优化型实例性能详解
阿里云ECS的HPC优化型hpc8ae实例搭载3.75 GHz AMD第四代EPYC处理器,配备64 Gbps eRDMA网络,专为工业仿真、EDA、地质勘探等HPC工作负载设计。实例提供1:4的CPU内存配比,支持ESSD存储和IPv4/IPv6,操作系统限于特定版本的CentOS和Alibaba Cloud Linux。ecs.hpc8ae.32xlarge实例拥有64核和256 GiB内存,网络带宽和eRDMA带宽均为64 Gbit/s。适用于CFD、FEA、气象预报等场景。
|
15天前
|
存储 机器学习/深度学习 弹性计算
阿里云ECS计算型c8i服务器测评_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c8i实例采用Intel Xeon Emerald Rapids或Sapphire Rapids CPU,主频2.7 GHz起,支持CIPU架构,提供强大计算、存储、网络和安全性能。适用于机器学习、数据分析等场景。实例规格从2核到192核,内存比例1:2,支持ESSD云盘,网络带宽高达100 Gbit/s,具备IPv4/IPv6,vTPM和内存加密功能。详细规格参数表包括不同实例的vCPU、内存、网络带宽、IOPS等信息,最高可达100万PPS和100万IOPS。
|
4天前
|
弹性计算 网络安全 数据安全/隐私保护
阿里云服务器新手入门:注册账号、实名认证申请免费云服务器全流程
注册阿里云账号,选择注册方式如密码、扫码或手机号,并完成验证码验证。接着进行实名认证,提供必要个人信息或企业证件。然后,在控制台选择云服务器ECS,点击“免费试用”申请,配置实例并设置登录密码。创建后,通过远程连接工具如SSH登录,开始使用服务器进行软件安装、应用部署等操作。阿里云提供详细文档支持。别忘了点击链接以直接试用。
21 0
|
5天前
|
弹性计算 固态存储 JavaScript
阿里云4核8G云服务器ECS有哪些?性能如何?4C8G性能参数表
阿里云4核8G ECS u1实例,适合30并发,日均1万IP访问。当前优惠价700元/年。配置包括Intel Xeon CPU,2.5 GHz,4核8G内存,1-3M带宽,20-40GB ESSD系统盘。网络性能可达50万PPS,最高25万连接数。可扩展公网带宽和云盘。适用于入门级企业应用。
25 0
|
8天前
|
网络协议 Linux
云服务器内部端口占用,9090端口已经存在了,如何关闭,Linux查询端口,查看端口,端口查询,关闭端口写法-netstat -tuln,​fuser -k 3306/tcp​
云服务器内部端口占用,9090端口已经存在了,如何关闭,Linux查询端口,查看端口,端口查询,关闭端口写法-netstat -tuln,​fuser -k 3306/tcp​
Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1

相关产品

  • 云服务器 ECS