2017-02-21 15 views
0

Я хочу перечислить все теги EC2. На другой учетной записи AWS это работает, а с другой - нет.Пытается перечислить теги EC2, используя Python, но получив ошибку: «errorMessage»: «Объект« NoneType »не итерируется»

import boto3 

def lambda_handler(event, context): 


ec2 = boto3.resource('ec2', region_name='eu-west-1') 
ec2_list = ec2.instances.all() 

for instance in ec2_list: 
    for tag in instance.tags: 
     print tag 

Я получаю следующее сообщение об ошибке:

{ 
"stackTrace": [ 
[ 
    "/var/task/lambda_function.py", 
    10, 
    "lambda_handler", 
    "for tag in instance.tags:" 
] 
], 
"errorType": "TypeError", 
"errorMessage": "'NoneType' object is not iterable" 
} 

немного запутался о том, как решить эту проблему, так как все настройки в точно так же, как и на другой счет. Любая помощь будет оценена по достоинству.

+1

Похоже, что 'instance.tags' является' None'. Возможно ли у одного из экземпляров никаких меток? –

ответ

0

Это работает? Вы должны проверить, есть ли в экземплярах теги.

import boto3 

def lambda_handler(event, context): 
    ec2 = boto3.resource('ec2', region_name='eu-west-1') 
    ec2_list = ec2.instances.all() 

    for instance in ec2_list: 
     if instance.tags: 
      for tag in instance.tags: 
       print tag 
     else: 
      print "no tags" 
+0

Работал! Большое спасибо! Был один экземпляр без каких-либо меток. – JBgorilla