首页 > 编程语言 >Boto3按名字搜索AWS Image并返回Image的相关参数 (Python)

Boto3按名字搜索AWS Image并返回Image的相关参数 (Python)

时间:2023-12-28 11:03:00浏览次数:23  
标签:ami x86 Python Image AWS 64 ec2 2.0



文章目录

  • 小结
  • 问题及解决
  • 参考


小结

本文记录使用Python脚本和Boto3按名字搜索AWS Image并返回AWS Image的相关参数。

问题及解决

记得操作之前拿到相应的权限:

export AWS_ACCESS_KEY_ID="xxxxxxxxxxxxxxxxxxxxxxxxxx"

export AWS_SECRET_ACCESS_KEY="yyyyyyyyyyyyyyyyyyyyyyyyyyyy"

export AWS_SESSION_TOKEN="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"

使用以下Python脚本:

#!/bin/python
import json
import boto3

def get_ec2_image():
    ec2_client = boto3.client('ec2')
    describe_images_response = ec2_client.describe_images(
        DryRun=False,
        Owners=[
            'amazon',
        ],
        Filters=[
            {
                'Name': 'name',
                'Values': [
                    'amzn2-ami-ecs-hvm-2.0.20231204-x86_64-ebs',
                ]
            },
        ]
    )
    print("image return: "+ json.dumps(describe_images_response, indent = 4))

以上函数会返回镜像的相关参数,例如使用ImageId来用于创建EC2资源,以下的返回为"ImageId": "ami-0b00532b21d4d18e4" 为了让Json输出更美观,使用了indent = 4这个参数,显示效果如下:

image return: {
    "Images": [
        {
            "Architecture": "x86_64",
            "CreationDate": "2023-12-04T21:56:34.000Z",
            "ImageId": "ami-0b00532b21d4d18e4",
            "ImageLocation": "amazon/amzn2-ami-ecs-hvm-2.0.20231204-x86_64-ebs",
            "ImageType": "machine",
            "Public": true,
            "OwnerId": "591542846629",
            "PlatformDetails": "Linux/UNIX",
            "UsageOperation": "RunInstances",
            "State": "available",
            "BlockDeviceMappings": [
                {
                    "DeviceName": "/dev/xvda",
                    "Ebs": {
                        "DeleteOnTermination": true,
                        "SnapshotId": "snap-0308eecd299954d62",
                        "VolumeSize": 30,
                        "VolumeType": "gp2",
                        "Encrypted": false
                    }
                }
            ],
            "Description": "Amazon Linux AMI 2.0.20231204 x86_64 ECS HVM GP2",
            "EnaSupport": true,
            "Hypervisor": "xen",
            "ImageOwnerAlias": "amazon",
            "Name": "amzn2-ami-ecs-hvm-2.0.20231204-x86_64-ebs",
            "RootDeviceName": "/dev/xvda",
            "RootDeviceType": "ebs",
            "SriovNetSupport": "simple",
            "VirtualizationType": "hvm",
            "DeprecationTime": "2025-12-04T21:56:34.000Z"
        }
    ],
    "ResponseMetadata": {
        "RequestId": "d7c02b8d-c2f8-49eb-8e45-a897b32d3a7e",
        "HTTPStatusCode": 200,
        "HTTPHeaders": {
            "x-amzn-requestid": "d7c02b8d-c2f8-49eb-8e45-a897b32d3a7e",
            "cache-control": "no-cache, no-store",
            "strict-transport-security": "max-age=31536000; includeSubDomains",
            "content-type": "text/xml;charset=UTF-8",
            "content-length": "1926",
            "date": "Tue, 19 Dec 2023 14:37:16 GMT",
            "server": "AmazonEC2"
        },
        "RetryAttempts": 0
    }
}

参考

stackoverflow: Boto3 EC2 instance filter with tag


标签:ami,x86,Python,Image,AWS,64,ec2,2.0
From: https://blog.51cto.com/u_11949423/9011181

相关文章

  • 如何使用Python爬虫爬取电视剧数据
    要使用爬虫爬取电视剧数据,可以按照以下步骤进行:导入所需的库:使用Python的requests库进行网络请求,使用BeautifulSoup库进行HTML解析。importrequestsfrombs4importBeautifulSouphttp://www.jshk.com.cn/mb/reg.asp?kefu=xiaoding;//爬虫IP获取;发送网络请求并获取HTML页面:使用re......
  • python从网络摄像头获取rstp视频流并截取图片保存
    def get_img_from_camera_net(folder_path):    cap = cv2.VideoCapture("rtsp://admin:[email protected]/ch1/stream1")#获取网络摄像机        i = 1    while i<3:        ret,frame = cap.read()        cv2.imshow("capture......
  • Python消息队列之Huey
    缘起:之前在Python中使用最多的就是Celery,同样的在这次项目中使用了Celery+eventlet的方式,但是由于具体执行的逻辑是使用的异步编写的,当时就出现了一个问题,当使用httpx的AsyncClient发送一个网络请求的时候,发生了阻塞,导致整个程序无法完整执行.于是就找替代方案,于是......
  • 【python爬虫课程设计】实习僧——数据分析与可视化
    实习僧数据分析与可视化选题背景随着中国经济的不断发展,实习市场也变得日益重要。学生们在求学期间通过实习获取工作经验,而企业则通过实习生计划发现并培养潜在的人才。实习僧作为一家专注于实习和校园招聘的在线平台,收集了大量的实习相关数据。通过对实习僧的数据进行爬取和......
  • 【Python】键鼠操作、区域截图
    1.跟踪鼠标位置importtime,osimportpyautoguiaspagtry:whileTrue:print("按下Ctrl+C结束程序")x,y=pag.position()posStr="当前鼠标位置:"+str(x).rjust(4)+','+str(y).rjust(4)print(posStr)......
  • Python 虚拟环境工具及使用总结
    ​ 参考文档:Python虚拟环境工具及使用总结1、virtualenvvirtualenv是一个创建隔离的Python环境的工具。它可以创建一个包含指定版本Python解释器的环境,并可以安装独立的库和依赖。Python官方提供的虚拟环境工具。Virtualenv 的原理是基于Python的模块化机制,通过创建一......
  • Python进阶
    Object介绍  Python的Object是一种数据抽象或者数据结构抽象,Object应该同时具备:本征值(Indentity)、型式(Type)、值(Value)三个参数。a=45print(id(a))#表示在python中的唯一内存地址,具备唯一性print(type(a))print(a)/*-----output-------*/2063144480432<class'int'>......
  • 【python爬虫课程设计】拉勾网—数据分析师岗位内容爬取+数据分析可视化
    一、选题背景随着互联网的发展,数据分析岗位在各行各业中的需求越来越大。拉勾网作为国内知名的招聘网站,其上的数据分析岗位信息具有很高的参考价值。通过对拉勾网上的数据分析岗位进行数据分析,可以了解当前数据分析岗位的市场情况,为求职者提供有价值的参考信息,同时也可以为企......
  • 简单的用Python采集下微博评论,制作可视化词云图
    简单的用Python来获取微博评论,制作词云图。首先准备环境模块环境使用Python3.8或以上版本即可Pycharm任意版本模块使用importrequestsimportwordcloudimportjieba 以上三个模块都需要安装,直接pipinstall加上模块名安装即可。爬虫基本流......
  • Python实战:从数据库到Excel的复杂查询结果处理【中】
    一、前言在上篇中,我已经成功从数据库查询到数据,并根据指定条件将数据写入到excel中,但是写入的数据和我们通过数据库连接工具查询到的结果并不一致,接下来我们就来解决:Python从数据库查询的数据保存到excel中后,数据格式异常的问题二、解决步骤分析现象使用Navicat从数据库查询到的数......