python - 使用 python 在所有区域中查找正在运行的 ec2 实例
问题描述
我想找到所有区域中所有正在运行的 Ec2 机器实例。
我试过执行以下代码。
导入 boto3
def lambda_handler(event,context):
regions=['us-east-1','ap-south-1']
for j in regions:
ec2client = boto3.client('ec2',region_name=j)
response = ec2client.describe_instances()
for reservation in response["Reservations"]:
for instance in reservation["Instances"]:
if instance['State']['Name'] == 'running':
print(instance["InstanceId"])
该代码仅针对列表“us-east-1”中的第一个区域执行并返回正在运行的实例,但为下一个区域提供以下错误。
"errorMessage:" 任务在 3.00 秒后超时
解决方案
看起来您正在 Lambda 函数中运行此代码。默认超时为 3 秒,因此您只需在 AWS 控制台中或以编程方式增加此值:
aws lambda update-function-configuration --function-name my-function --timeout <seconds>
更多信息,请访问https://docs.aws.amazon.com/lambda/latest/dg/resource-model.html
推荐阅读
- r - 需要 r-markdown 的动态交互式折线图
- python - 警告:Tensorflow:只能在 f1 可用的情况下保存最佳模型,跳过
- javascript - JavaScript 表单验证(必需)
- c++ - C++ 私有继承与类
- python - FCGI htaccess 处理程序:找不到命令
- python - 在文本框中搜索 str 的模块接受任何匹配
- document - 从下一个文档中获取文档字段
- regex - 如何匹配第一个字母或数字后的所有制表符?
- amazon-web-services - 如何将 lambda 函数的结果添加到阶跃函数的特定步骤
- php - 需要创建一个算法/函数来检查宵禁是否有效,可以跨越不同的日子