【发布时间】:2014-06-23 17:18:13
【问题描述】:
所有,我正在尝试通过脚本确定 RDS 中只读副本的复制状态。看来此信息并未作为 RDS 实例的简单属性公开,而是您必须使用较低级别的 Client 类。这将返回 AWS::Core::Response。所以:
rds = AWS::RDS.new
client = rds.client
result = client.describe_db_instances({:db_instance_identifier => 'db instance id'})
这会返回:
=> {:db_instances=>[{:db_security_groups=>[{:status=>"active", :db_security_group_name=>"blah"}], :vpc_security_groups=>[], :db_parameter_groups=>[{:parameter_apply_status=>"in-sync", :db_parameter_group_name=>"blah"}], :read_replica_db_instance_identifiers=>[], :option_group_memberships=>[{:option_group_name=>"blah", :status=>"in-sync"}], :status_infos=>[{:message=>"errors message here", :status=>"error", :status_type=>"read replication", :normal=>false}], :backup_retention_period=>0, :multi_az=>false, :db_instance_status=>"available", :db_instance_identifier=>"db instance identifier", :preferred_backup_window=>"04:50-05:20", :preferred_maintenance_window=>"fri:06:00-fri:06:30", :availability_zone=>"us-east-1a", :engine=>"mysql", :pending_modified_values=>nil, :license_model=>"general-public-license", :endpoint=>{:port=>3306, :address=>"endpint"}, :engine_version=>"5.5.27", :read_replica_source_db_instance_identifier=>"datamgmt-production", :publicly_accessible=>true, :db_name=>"datamgmt", :auto_minor_version_upgrade=>true, :instance_create_time=>2014-05-06 22:05:27 UTC, :allocated_storage=>40, :db_instance_class=>"instance class", :master_username=>"username"}], :response_metadata=>{:request_id=>"id"}}
根据http://docs.aws.amazon.com/AWSRubySDK/latest/frames.html 的 AWS Ruby SDK,
my_hash = result.data
将返回一个哈希值。
我现在只是想获得回报的 :status_infos 部分。
my_hash['status_infos'] #returns nil
my_hash['db_instances']
运行Awesome Print gem 将 my_hash 的输出显示为颜色编码的哈希,所以我不知道为什么我无法检索我想要获取的数据。欢迎任何帮助。
【问题讨论】:
标签: ruby amazon-web-services amazon-rds