Boto3服务员删除ECR

有没有办法等到AWS ECR存储库强制删除成功。类似于cfn,ecs等中的服务员... ecr中也有服务员,但这些服务员仅用于图像扫描和生命周期策略预览。

这种情况下,我们必须强制删除ECR存储库并等待删除成功,因此我们可以继续进行下一步。如果没有服务员,那是使用describe_repositories实现自定义服务的唯一方法吗?

iCMS 回答:Boto3服务员删除ECR

只需将describe repo操作与自定义轮询时间和间隔一起使用,然后在下面的代码中发布,这样可能会对某人有所帮助

while num_checks <= 30:
    print(f'\n\tWaiting for ECR: {ecr_repo} to be deleted')
    try:
        response = ecr_client.describe_repositories(
            repositoryNames=[ecr_repo]
        )
        if response['ResponseMetadata']['HTTPStatusCode'] == 200:
            num_checks += 1
            if num_checks == 30:
                raise Exception(f'Cannot force delete the ECR - {ecr_repo}')
            time.sleep(10)
            continue
        elif response['ResponseMetadata']['HTTPStatusCode'] != 200:
            raise Exception(f'Cannot force delete the ECR - {ecr_repo}')

    except ClientError as ce:
        if ce.response['Error']['Code'] == 'RepositoryNotFoundException':
            print(f'\tECR:{ecr_repo} DELETED SUCCESSFULLY\n')
            break
        else:
            raise Exception(f"\n{ce.response['Error']['Message']}\n")
本文链接:https://www.f2er.com/2174979.html

大家都在问