【问题标题】:Modify db parameter group in AWS RDS using boto使用 boto 修改 AWS RDS 中的 db 参数组
【发布时间】:2012-02-11 00:15:55
【问题描述】:

尝试使用 boto 修改 AWS RDS 上的数据库参数组,我遇到了以下错误:

from boto import rds
conn = rds.connect_to_region('eu-west-1', aws_access_key_id=AWS_ACCESS_KEY_ID,     aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
pg = conn.get_all_dbparameters('mygroup')
pg.add_param('slow_query_log', True, 'immediate')


TypeError
"unknown type (<type 'str'>)"
 File: /usr/local/lib/python2.6/dist-packages/boto/rds/parametergroup.py, Line: 175

任何帮助将不胜感激

【问题讨论】:

标签: python amazon-web-services boto amazon-rds


【解决方案1】:

试试这样的:

pg = conn.get_all_dbparameters('mygroup')
pg2 = conn.get_all_dbparameters('mygroup', marker = pg.Marker)
pg2['slow_query_log'].value = True
pg2['slow_query_log'].apply(True)

conn.get_all_dbparameters() 方法返回最大值。 100 行。然而,大约有 180 个 DB 参数可以修改。因此,您可以分两步进行查询。第一个方法调用返回一个可用于第二个查询的标记。在第二个查询中,您的 slow_query_log 可用

http://boto.cloudhackers.com/en/latest/ref/rds.html#boto.rds.RDSConnection.get_all_dbparameter_groups

【讨论】:

  • 我收到一个未处理的密钥错误,因为参数组中显然不存在“慢查询日志”
  • 谢谢...快到了!只需将最后一行更改为 pg2['slow_query_log'].apply(True)
  • 看来第二行应该是conn.get_all_dbparameters(...),rds没有叫get_all_dbparameters的方法
  • 为什么不直接使用connection.get_all_dbparameters('mygroup', max_records=200)
  • @DavePeck,因为 max_records 限制为 100。不幸的是,如果您尝试一次性检索更多记录,则会收到此错误:rds.amazonaws.com/doc/2011-04-01"> Sender InvalidParameterValue 最大记录的值无效。必须在 20 到 100 之间ce1e6a57-3650-11e3-b92d-4f0d3452c8f6
猜你喜欢
  • 1970-01-01
  • 2012-03-20
  • 1970-01-01
  • 1970-01-01
  • 2019-04-14
  • 2015-06-07
  • 2016-09-30
  • 2020-07-11
  • 1970-01-01
相关资源
最近更新 更多