2014-06-23 7 views
0

모두 스크립트를 통해 RDS에서 읽기 복제본의 복제 상태를 확인하려고합니다. 이 정보는 RDS 인스턴스의 단순 속성으로 표시되지 않지만 대신 하위 수준 Client 클래스를 사용해야합니다. AWS :: Core :: Response를 반환합니다. 그래서 : AWS Ruby SDK for RDS

my_hash = result.data 

해시를 반환합니다, http://docs.aws.amazon.com/AWSRubySDK/latest/frames.html에서 AWS 루비 SDK에 따르면

=> {: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"}} 

:

rds = AWS::RDS.new 
client = rds.client 

result = client.describe_db_instances({:db_instance_identifier => 'db instance id'}) 

이 반환합니다.

이제 return : status_infos를 얻으려고합니다. Awesome Print 보석을 실행

my_hash['status_infos'] #returns nil 
my_hash['db_instances'] 

컬러 코딩 및 해시 my_hash의 출력을 보여줍니다, 그래서 내가 얻고 싶은 데이터를 검색 할 수없는 이유 손실에 있어요. 어떤 도움도 환영합니다.

답변

0

에 액세스하십시오 :symbol하지 회신에 대한 'string'

my_hash[:status_infos] 
my_hash[:db_instances] 
+0

감사와 Hash 키? 둥지를 깊게하려면 어떻게해야합니까? my_hash [: db_instances]는 그 안의 모든 것을 반환합니다. my_hash [: db_instances] [0]은 첫 번째 하위 그룹을 반환합니다. my_hash [: db_instances] [1], my_hash [: db_instances] [0] [1] 재실행 nil, my_hash [: status_infos] – Peter

+0

몇 번의 시행 착오 : my_hash [: db_instances] [0] [: status_infos ] [0] [: status_type]. 안내에 감사드립니다. – Peter

+0

알았어. 고통스러운 해시 배열. – Matt