cbr*_*ier 5 amazon-web-services amazon-rds boto3
我boto3在一个小脚本中使用来更改 RDS 集群的主凭据。
问题在于 RDS 集群状态describe_db_clusters不是可靠的最新状态。在我发出 a modify_db_cluster(具体来说,我正在更新主密码)之后,很有可能describe_db_clusters显示集群在进入“修改”状态之前仍然“可用”。
事件的顺序:
问题是我无法可靠地区分状态 3 和状态 5。
笔记:
ApplyImmediately=True主密码更新PendingModifiedValues文档确实提到了这一点describe_db_instances:
MasterUserPassword(字符串)——主用户的新密码。密码可以包含除“/”、“””或“@”之外的任何可打印 ASCII 字符。更改此参数不会导致中断,并且会尽快异步应用更改。在请求时间和请求完成后,MasterUserPassword 元素存在于操作响应的 PendingModifiedValues 元素中。
但是,该脚注不存在describe_db_clusters。
我怎样才能可靠地知道我的修改操作何时完成?
在这种情况下,您可以在代码中创建一个服务员函数。boto3 RDS 已经提供了几个服务员,但没有一个适用于集群。最接近的是DBInstanceAvailable。
基本上,服务员是一个以 15 秒延迟迭代拉取 AWS API 的函数,以检查给定资源是否处于所需状态,例如 RDS 实例已创建且可供使用。
因此,您可以创建自己的服务员,该服务员会拉动describe_db_clusters10 或 15 秒,直到PendingModifiedValues不再响应或出现其他感兴趣的状态。也许检查DBClusters就Status足够了。
| 归档时间: |
|
| 查看次数: |
1318 次 |
| 最近记录: |