创建后使用 Boto Route53 检查 A 记录状态
Check A-Record Status using Boto Route53 after creation
我正在寻找一种方法来获取刚刚使用 route53 创建的记录 (A-NAME) 的状态。这是代码:
changes = ResourceRecordSets(conn, "ZONEID")
change = changes.add_change("STRING FOR ADD NEW SUBDOMAIN")
change.add_value(MY_IP)
action = changes.commit()
j=json.loads(json.dumps(action))
status = j['ChangeResourceRecordSetsResponse']['ChangeInfo']['Status']
while status == 'PENDING':
time.sleep(5)
action.update() #THIS ACTION RETURN "NONE" and not update the previous state
显然,如果打印状态变量,结果总是 "PENDING"
谁能帮帮我?提前致谢。
我遇到了同样的问题,这就是我解决的方法。
假设您有 A Record 的 ID,并且它在 us-west-1
区域中是 C2T9LA0WQGXVUX,那么我们有:
import boto.route53
record_id = 'C2T9LA0WQGXVUX'
REGION = 'us-west-1'
AWS_S3_ACCESS_KEY_ID = 'my aws key'
AWS_S3_SECRET_ACCESS_KEY = 'my secret key'
connection = boto.route53.connect_to_region(REGION,
aws_access_key_id=AWS_S3_ACCESS_KEY_ID,
aws_secret_access_key=AWS_S3_SECRET_ACCESS_KEY
)
record_status = connection.get_change(change_id=record_id)
响应将类似于:
{u'GetChangeResponse': {u'ChangeInfo': {u'Status': u'INSYNC', u'SubmittedAt': u'2017-07-10T13:05:29.350Z', u'Id': u'/change/C2T9LA0WQGXVUX'}}}
因此,您可以通过以下方式获取状态:
print record_status['GetChangeResponse']['ChangeInfo']['Status']
我正在寻找一种方法来获取刚刚使用 route53 创建的记录 (A-NAME) 的状态。这是代码:
changes = ResourceRecordSets(conn, "ZONEID")
change = changes.add_change("STRING FOR ADD NEW SUBDOMAIN")
change.add_value(MY_IP)
action = changes.commit()
j=json.loads(json.dumps(action))
status = j['ChangeResourceRecordSetsResponse']['ChangeInfo']['Status']
while status == 'PENDING':
time.sleep(5)
action.update() #THIS ACTION RETURN "NONE" and not update the previous state
显然,如果打印状态变量,结果总是 "PENDING"
谁能帮帮我?提前致谢。
我遇到了同样的问题,这就是我解决的方法。
假设您有 A Record 的 ID,并且它在 us-west-1
区域中是 C2T9LA0WQGXVUX,那么我们有:
import boto.route53
record_id = 'C2T9LA0WQGXVUX'
REGION = 'us-west-1'
AWS_S3_ACCESS_KEY_ID = 'my aws key'
AWS_S3_SECRET_ACCESS_KEY = 'my secret key'
connection = boto.route53.connect_to_region(REGION,
aws_access_key_id=AWS_S3_ACCESS_KEY_ID,
aws_secret_access_key=AWS_S3_SECRET_ACCESS_KEY
)
record_status = connection.get_change(change_id=record_id)
响应将类似于:
{u'GetChangeResponse': {u'ChangeInfo': {u'Status': u'INSYNC', u'SubmittedAt': u'2017-07-10T13:05:29.350Z', u'Id': u'/change/C2T9LA0WQGXVUX'}}}
因此,您可以通过以下方式获取状态:
print record_status['GetChangeResponse']['ChangeInfo']['Status']