上一篇豆子已经配置在PyCharm里面添加了boto3和pyboto3,因此写脚本的时候可以直接在自己的PyCharm里面编写。
下面是一个例子遍历所有的地区查找EC2,如果状态是开机,那就关掉,或者倒过来也可以写成如果是关机状态,就开机。
<代码>进口boto3 def lambda_handler(事件、上下文): #的地区列表 ec2_client=boto3.client (ec2) 区域=[地区[' RegionName '] 为地区ec2_client.describe_regions()(“区域”)) #循环遍历每个地区 地区的区域: ec2=boto3。资源(ec2, region_name=地区) 打印(“地区:”区域) #得到alt="λ,AWS和Python的自动化管理操作,自动开机和关机">我的权限如下所示:
<代码> { “版本”:“2012-10-17”, “声明”:[ { “效应”:“允许”, “行动”( “日志:CreateLogGroup”, “日志:CreateLogStream”, “日志:PutLogEvents” ], “资源”:“在攻击:aws:日志:*:*:*” }, { “效应”:“允许”, “行动”( “ec2: DescribeInstances”, “ec2: DescribeRegions”, “ec2: StartInstances”, “ec2: StopInstances” ], “资源”:“*” } ] }代码>
拷贝函数上来
接下来在cloudwatch里面添加一个新规则的
创建向导,这里选择时间表,这里使用cron的表达式,注意他是格林尼治时间的时间,因此需要自己和本地时间转换一下
写好之后他会有个友好的提示界面
完成创建
回到λ的界面,可以看见他的触发器多了一个监测事件
等待执行之后,可以查看日志
也可以确认EC2服务的确关机了
λ,AWS和Python的自动化管理操作,自动开机和关机