Amazon Rekognition Custom Labels 프로젝트 삭제 - Rekognition

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Rekognition Custom Labels 프로젝트 삭제

Amazon Rekognition 콘솔을 사용하거나 를 호출하여 프로젝트를 삭제할 수 있습니다. DeleteProjectAPI 프로젝트를 삭제하려면 먼저 관련 모델을 각각 삭제해야 합니다. 삭제된 프로젝트 또는 모델은 복구할 수 없습니다.

Amazon Rekognition Custom Labels 프로젝트 삭제(콘솔)

프로젝트 페이지 또는 프로젝트의 세부 정보 페이지에서 프로젝트를 삭제할 수 있습니다. 다음 절차는 프로젝트 페이지를 사용하여 프로젝트를 삭제하는 방법을 보여줍니다.

Amazon Rekognition Custom Labels 콘솔은 프로젝트 삭제 중에 관련 모델 및 데이터 세트를 자동으로 삭제합니다. 모델이 실행 중이거나 훈련 중인 경우에는 프로젝트를 삭제할 수 없습니다. 모델 실행을 중지하려면 Amazon Rekognition Custom Labels 모델 중지(SDK) 항목을 참조하세요. 프로젝트가 훈련 중이면 완료될 때까지 기다린 후 프로젝트를 삭제하세요.

프로젝트를 삭제하려면(콘솔)
  1. 에서 Amazon Rekognition 콘솔을 엽니다. https://console.aws.amazon.com/rekognition/

  2. 사용자 지정 레이블 사용을 선택합니다.

  3. Get started를 선택합니다.

  4. 왼쪽 탐색 창에서 프로젝트를 선택합니다.

  5. 프로젝트 페이지에서 삭제할 프로젝트의 라디오 버튼을 선택합니다. 2020-03-25에 생성된 버전 1개와 삭제, 새 모델 교육 또는 프로젝트 생성 옵션이 포함된 프로젝트 목록이 표시됩니다 echo-devices-project.

    프로젝트 및 프로젝트 세부 정보가 표시된 echo-devices-project 프로젝트 목록.
  6. 페이지 상단에서 삭제를 선택합니다. 프로젝트 삭제 대화 상자가 표시됩니다.

  7. 프로젝트에 연결된 모델이 없는 경우:

    1. 삭제를 입력하여 프로젝트가 삭제됩니다.

    2. 삭제를 선택하여 프로젝트를 삭제하세요.

  8. 프로젝트에 연결된 모델 또는 데이터 세트가 있는 경우:

    1. 삭제를 입력하여 모델 및 데이터 세트 삭제를 확인합니다.

    2. 모델에 데이터 세트, 모델 또는 둘 다 있는지 여부에 따라 연결된 모델 삭제 또는 연결된 데이터 세트 삭제 또는 연결된 데이터 세트 및 모델 삭제를 선택합니다. 모델 삭제를 완료하는 데 시간이 걸릴 수 있습니다.

      참고

      콘솔은 훈련 중이거나 실행 중인 모델을 삭제할 수 없습니다. 실행 중으로 표시된 모델을 모두 중지한 후 다시 시도하고, 훈련 중으로 표시된 모델의 훈련이 완료될 때까지 기다리세요.

      모델 삭제 중에 대화 상자를 닫아도 모델은 삭제됩니다. 나중에 이 절차를 반복하여 프로젝트를 삭제할 수 있습니다.

      모델 삭제 패널에는 관련 모델을 삭제하라는 명시적인 지침이 제공됩니다.

      프로젝트 삭제를 위한 인터페이스.
    3. 삭제를 입력하여 프로젝트 삭제를 확인합니다.

    4. 삭제를 선택하여 프로젝트를 삭제하세요.

      모델이 없는 "echo-devices-project" 프로젝트의 삭제를 확인하는 대화 상자.

Amazon Rekognition 사용자 지정 라벨 프로젝트 삭제 () SDK

삭제하려는 프로젝트의 Amazon 리소스 ARN 이름 () 을 DeleteProject호출하여 제공하여 Amazon Rekognition 사용자 지정 레이블 프로젝트를 삭제합니다. AWS 계정에 있는 프로젝트를 모두 가져오려면 전화하십시오. ARNs DescribeProjects 응답에는 ProjectDescription개체 배열이 포함됩니다. 프로젝트는 ARN ProjectArn 필드입니다. 프로젝트 이름을 사용하여 프로젝트를 식별할 수 있습니다. ARN 예: arn:aws:rekognition:us-east-1:123456789010:project/project name/1234567890123.

프로젝트를 삭제하려면 먼저 프로젝트의 모든 모델 및 데이터 세트를 삭제해야 합니다. 자세한 내용은 Amazon Rekognition Custom Labels 모델 삭제(SDK)데이터 세트 삭제 단원을 참조하세요.

프로젝트를 삭제하는 데 다소 시간이 걸릴 수 있습니다. 이 기간 동안의 프로젝트 상태는 DELETING입니다. 후속 호출에 삭제한 프로젝트가 포함되어 DescribeProjects있지 않으면 프로젝트가 삭제됩니다.

프로젝트를 삭제하려면 (SDK)
  1. 아직 설치하지 않았다면 및 를 설치하고 구성하십시오 AWS SDKs. AWS CLI 자세한 내용은 4단계: 및 SDK 설정 AWS CLIAWS 단원을 참조하십시오.

  2. 프로젝트를 삭제하려면 다음 절차에 따르세요.

    AWS CLI

    project-arn의 값을 삭제하려는 프로젝트의 이름으로 변경합니다.

    aws rekognition delete-project --project-arn project_arn \ --profile custom-labels-access
    Python

    다음 코드를 사용합니다. 다음 명령줄 파라미터를 제공하세요.

    • project_arn— 삭제하려는 ARN 프로젝트의.

    # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Purpose Amazon Rekognition Custom Labels project example used in the service documentation: https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/mp-delete-project.html Shows how to delete an existing Amazon Rekognition Custom Labels project. You must first delete any models and datasets that belong to the project. """ import argparse import logging import time import boto3 from botocore.exceptions import ClientError logger = logging.getLogger(__name__) def find_forward_slash(input_string, n): """ Returns the location of '/' after n number of occurences. :param input_string: The string you want to search : n: the occurence that you want to find. """ position = input_string.find('/') while position >= 0 and n > 1: position = input_string.find('/', position + 1) n -= 1 return position def delete_project(rek_client, project_arn): """ Deletes an Amazon Rekognition Custom Labels project. :param rek_client: The Amazon Rekognition Custom Labels Boto3 client. :param project_arn: The ARN of the project that you want to delete. """ try: # Delete the project logger.info("Deleting project: %s", project_arn) response = rek_client.delete_project(ProjectArn=project_arn) logger.info("project status: %s",response['Status']) deleted = False logger.info("waiting for project deletion: %s", project_arn) # Get the project name start = find_forward_slash(project_arn, 1) + 1 end = find_forward_slash(project_arn, 2) project_name = project_arn[start:end] project_names = [project_name] while deleted is False: project_descriptions = rek_client.describe_projects( ProjectNames=project_names)['ProjectDescriptions'] if len(project_descriptions) == 0: deleted = True else: time.sleep(5) logger.info("project deleted: %s",project_arn) return True except ClientError as err: logger.exception( "Couldn't delete project - %s: %s", project_arn, err.response['Error']['Message']) raise def add_arguments(parser): """ Adds command line arguments to the parser. :param parser: The command line parser. """ parser.add_argument( "project_arn", help="The ARN of the project that you want to delete." ) def main(): logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") try: # get command line arguments parser = argparse.ArgumentParser(usage=argparse.SUPPRESS) add_arguments(parser) args = parser.parse_args() print(f"Deleting project: {args.project_arn}") # Delete the project. session = boto3.Session(profile_name='custom-labels-access') rekognition_client = session.client("rekognition") delete_project(rekognition_client, args.project_arn) print(f"Finished deleting project: {args.project_arn}") except ClientError as err: error_message = f"Problem deleting project: {err}" logger.exception(error_message) print(error_message) if __name__ == "__main__": main()
    Java V2

    다음 코드를 사용합니다. 다음 명령줄 파라미터를 제공하세요.

    • project_arn— 삭제하려는 ARN 프로젝트의.

    /* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 */ package com.example.rekognition; import java.util.List; import java.util.Objects; import java.util.logging.Level; import java.util.logging.Logger; import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.rekognition.RekognitionClient; import software.amazon.awssdk.services.rekognition.model.DeleteProjectRequest; import software.amazon.awssdk.services.rekognition.model.DeleteProjectResponse; import software.amazon.awssdk.services.rekognition.model.DescribeProjectsRequest; import software.amazon.awssdk.services.rekognition.model.DescribeProjectsResponse; import software.amazon.awssdk.services.rekognition.model.ProjectDescription; import software.amazon.awssdk.services.rekognition.model.RekognitionException; public class DeleteProject { public static final Logger logger = Logger.getLogger(DeleteProject.class.getName()); public static void deleteMyProject(RekognitionClient rekClient, String projectArn) throws InterruptedException { try { logger.log(Level.INFO, "Deleting project: {0}", projectArn); // Delete the project DeleteProjectRequest deleteProjectRequest = DeleteProjectRequest.builder().projectArn(projectArn).build(); DeleteProjectResponse response = rekClient.deleteProject(deleteProjectRequest); logger.log(Level.INFO, "Status: {0}", response.status()); // Wait until deletion finishes Boolean deleted = false; do { DescribeProjectsRequest describeProjectsRequest = DescribeProjectsRequest.builder().build(); DescribeProjectsResponse describeResponse = rekClient.describeProjects(describeProjectsRequest); List<ProjectDescription> projectDescriptions = describeResponse.projectDescriptions(); deleted = true; for (ProjectDescription projectDescription : projectDescriptions) { if (Objects.equals(projectDescription.projectArn(), projectArn)) { deleted = false; logger.log(Level.INFO, "Not deleted: {0}", projectDescription.projectArn()); Thread.sleep(5000); break; } } } while (Boolean.FALSE.equals(deleted)); logger.log(Level.INFO, "Project deleted: {0} ", projectArn); } catch ( RekognitionException e) { logger.log(Level.SEVERE, "Client error occurred: {0}", e.getMessage()); throw e; } } public static void main(String[] args) { final String USAGE = "\n" + "Usage: " + "<project_arn>\n\n" + "Where:\n" + " project_arn - The ARN of the project that you want to delete.\n\n"; if (args.length != 1) { System.out.println(USAGE); System.exit(1); } String projectArn = args[0]; try { RekognitionClient rekClient = RekognitionClient.builder() .region(Region.US_WEST_2) .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access")) .build(); // Delete the project. deleteMyProject(rekClient, projectArn); System.out.println(String.format("Project deleted: %s", projectArn)); rekClient.close(); } catch (RekognitionException rekError) { logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage()); System.exit(1); } catch (InterruptedException intError) { logger.log(Level.SEVERE, "Exception while sleeping: {0}", intError.getMessage()); System.exit(1); } } }