首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取亚马逊网络服务EC2特定的标记/值组合+实例id

获取亚马逊网络服务EC2特定的标记/值组合+实例id
EN

Stack Overflow用户
提问于 2019-04-19 02:24:03
回答 1查看 1K关注 0票数 1

我是Python和编程的新手。我需要使用Python3.7创建一个Lambda函数,它将查找特定的标记/值组合,并返回标记值和实例id。我可以用我当前的代码同时实现这两个功能,但我很难弄清楚如何将它们组合在一起。boto3.resource给我标记值,boto3.client给我实例id。

我有一个EC2实例(1000个),在这些实例中,我们需要监视标记'expenddate‘的标记值,并将该值(mm/dd/yy)与当前日期(mm/dd/yy)进行比较,并在'expenddate’值小于当前日期时发出警报。

    import boto3
    import collections
    import datetime
    import time
    import sys

    from datetime import date as dt

    def lambda_handler(event, context):
        today = datetime.date.today()
        mdy = today_string = today.strftime('%m/%d/%y')
        ec2 = boto3.resource('ec2')
        for instance in ec2.instances.all():
            if instance.tags is None:
                continue
            for tag in instance.tags:
                if tag['Key'] == 'expenddate':
                    if (tag['Value']) <= mdy:
                        print ("Tag has expired!!!!!!!!!!!")
                    else:
                        print ("goodby")
        client = boto3.client('ec2')
        resp = client.describe_instances(Filters=[{
            'Name': 'tag:expenddate',
            'Values': ['*']
        }])

        for reservation in resp['Reservations']:
            for instance in reservation['Instances']:
                print("InstanceId is {} ".format(instance['InstanceId']))

我希望最终得到一个组合的实例id和标记值,或者两个稍后可以组合的变量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-19 02:52:54

变化

print ("Tag has expired!!!!!!!!!!!")

# initialise array 
expiredInstances=[]
.
.
.
.
.
print ("%s has expired" % instance.id)
expiredInstances.append({'instanceId':instance.id,'tag-value':tag['Value']})

这将为您提供一个带有标记值的instanceId数组

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55751818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档