Как удалить запись DNS в Route 53? Я следовал за documentation, но я все еще не могу заставить его работать. Я не знаю, что я здесь что-то пропустил.AWS Python SDK | Маршрут 53 - удалить запись ресурса
На основе документации:
DELETE : Deletes a existing resource record set that has the specified values for Name , Type , SetIdentifier (for latency, weighted, geolocation, and failover resource record sets), and TTL (except alias resource record sets, for which the TTL is determined by the AWS resource that you're routing DNS queries to).
Но я всегда получаю эту ошибку:
Traceback (most recent call last):
File "./test.py", line 37, in <module>
main()
File "./test.py", line 34, in main
print(del_record())
File "./test.py", line 23, in del_record
'TTL': 300
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/botocore/client.py", line 251, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/botocore/client.py", line 537, in _make_api_call
raise ClientError(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (InvalidInput) when calling the ChangeResourceRecordSets operation: Invalid request
Вот мой код:
#!/usr/bin/env python3
import boto3
r53 = boto3.client('route53')
zone_id = 'ABCDEFGHIJKLMNO'
record = 'me.domain.com'
r_type = 'CNAME'
r_val = 'google.com'
def del_record():
response = r53.change_resource_record_sets(
HostedZoneId=zone_id,
ChangeBatch={
'Changes': [
{
'Action': 'DELETE',
'ResourceRecordSet': {
'Name': record,
'Type': r_type,
'TTL': 300
}
}
]
}
)
return response
def main():
print(del_record())
if __name__ == '__main__':
main()
Мне очень грустно, что они изменили эту функцию. В обратном направлении вы смогли удалить запись на основе «Имя». Теперь вам нужно сделать много поисков, прежде чем делать удаление, потому что вам нужны значение, TTL и тип. –