根据我对boto.rds.dbinstance
类的理解,我应该能够从对象中获取一个名为read_replica_dbinstance_identifiers
的变量,但我不能也不明白为什么。我想知道我做错了什么。
当我运行rds-describe-db-instances --quiet --show-xml
时,我绝对可以在XML中找到我的只读副本:
<ReadReplicaDBInstanceIdentifiers>
<ReadReplicaDBInstanceIdentifier>my-dbinstance-id-1</ReadReplicaDBInstanceIdentifier>
<ReadReplicaDBInstanceIdentifier>my-dbinstance-id-2</ReadReplicaDBInstanceIdentifier>
</ReadReplicaDBInstanceIdentifiers>
但是当我使用boto通过下面的测试脚本获取相同的信息时,我得到:
AttributeError: 'DBInstance' object has no attribute 'read_replica_dbinstance_identifiers'
脚本如下所示:
import boto
dbinstanceid = 'my-dbinstance-id'
rds = boto.connect_rds()
instances = rds.get_all_dbinstances(dbinstanceid)
for i in instances:
for property, value in vars(i).iteritems():
print property, ": ", value
print "============================="
print i, " ", i.id
print "connection: ", i.connection
print 'db instance identifiers: ', i.ReadReplicaDBInstanceIdentifiers
print i.read_replica_dbinstance_identifiers
根据pip,我的boto版本是:
姓名:boto
版本:2.9.7
地点:/Library/Python/2.7/site-packages
答案 0 :(得分:0)
您是否尝试过使用read_replica_dbinstance_identifiers方法?
如果我正确阅读,你已经将数组中的实例拉下来,并将每个实例循环遍历为'i'
所以你应该能够: 打印i.read_replica_dbinstance_identifiers或类似的东西
如果你遇到这样的问题:
print dir(i)#Is非常有用,可以看到该对象的可能性
现在去实施RDS的标签:-( loooooong!