【问题标题】:Boto3 waiter for ECR deletion用于 ECR 删除的 Boto3 服务员
【发布时间】:2020-09-27 23:36:17
【问题描述】:

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

在这种情况下,我们必须强制删除 ECR 存储库并等待删除成功,这样我们才能继续下一步。如果没有服务员,是否是使用 describe_repositories 实现自定义服务员的唯一方法?

【问题讨论】:

    标签: python-3.x amazon-web-services boto3 aws-ecr


    【解决方案1】:

    刚刚使用了带有自定义轮询时间和间隔的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")
    

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 2021-09-28
      • 1970-01-01
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 2018-03-07
      相关资源
      最近更新 更多