2017-12-02 377 views
-1

我试图停止使用用Python 2.7编写的AWS Lambda函数的RDS实例。但是我无法使用标签过滤器获取实例。使用标签过滤器停止RDS实例的Lambda函数

import boto3 
import logging 
rds = boto3.client('rds') 

def lambda_handler(event, context): 
    filters = [{ 
      'Name': 'tag:Application', 
      'Values': ['appname'] 
     }, 
     { 
      'Name': 'instance-state-name', 
      'Values': ['running'] 
     } 
    ] 

    instances = rds.get_all_dbinstances.filter(Filters=filters) 
    instances.status 

获取与指定标签

所有情况下这是我的错误:

{ 
    "stackTrace": [ 
    [ 
     "/var/task/lambda_function.py", 
     18, 
     "lambda_handler", 
     "instances = rds.get_all_dbinstances(Filters=filters)" 
    ], 
    [ 
     "/var/runtime/botocore/client.py", 
     553, 
     "__getattr__", 
     "self.__class__.__name__, item)" 
    ] 
    ], 
    "errorType": "AttributeError", 
    "errorMessage": "'RDS' object has no attribute 'get_all_dbinstances'" 
} 

回答

0

我相信你正在寻找的功能是describe_db_instances。没有名为get_all_dbinstances的功能。请参阅文档。

+0

有没有办法让所有RDS实例及其状态? – Raj

+0

@Raj这正是'describe_db_instances'的功能...... –