Как лучше всего проверить с помощью Boto3, если экземпляр RDS уже существует? - PullRequest
0 голосов
/ 24 февраля 2020

Я использую этот код для создания экземпляра RDS (PostgreSQL в моем случае) через CloudFormation:

cf_client = boto3.client('cloudformation')
template = open("my_rds.yaml", 'r').read()
cf_client.validate_template(TemplateBody=template)
stack_result = cf_client.create_stack(**params)

waiter = cf_client.get_waiter('stack_create_complete')
print("waiting for stack to be ready...")
waiter.wait(StackName=stack_name)

Это работает нормально, если экземпляр еще не создан. В последнем случае будет выдано исключение. Каков хороший способ справиться с этой ситуацией, например, сборка, только если необходимо, в противном случае продолжить? Я знаю, что можно проверить, существует ли уже экземпляр, используя boto3 describe_db_instances или для некоторых примеров, которые я нашел в Интернете, попробуйте / поймайте некоторые исключения. Но мне интересно, есть ли лучший способ сделать это.

...