Eliminazione di un progetto Amazon Rekognition Custom Labels - Rekognition

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Eliminazione di un progetto Amazon Rekognition Custom Labels

Puoi eliminare un progetto utilizzando la console Amazon Rekognition o chiamando l'API. DeleteProject Per eliminare un progetto, devi prima eliminare ogni modello associato. Un progetto o un modello eliminato non può essere ripristinato.

Eliminazione di un progetto Amazon Rekognition Custom Labels (console)

Puoi eliminare un progetto dalla pagina dei progetti oppure eliminare un progetto dalla pagina dei dettagli di progetto. La procedura seguente mostra come eliminare un progetto usando la pagina dei progetti.

La console di Amazon Rekognition Custom Labels elimina per te i modelli e i set di dati associati durante l'eliminazione del progetto. Non puoi eliminare un progetto se uno dei suoi modelli è in esecuzione o è in fase di addestramento. Per interrompere l'esecuzione di un modello, consulta Interruzione di un modello Amazon Rekognition Custom Labels (SDK). Se un modello è in fase di addestramento, attendi che finisca prima di eliminare il progetto.

Eliminazione di un progetto (console)
  1. Apri la console Amazon Rekognition all'indirizzo https://console.aws.amazon.com/rekognition/.

  2. Scegli Usa etichette personalizzate.

  3. Scegli Avvia.

  4. Nel pannello di navigazione a sinistra, scegli Progetti.

  5. Nella pagina Progetti scegli il pulsante accanto al progetto da eliminare. Viene visualizzato l'elenco dei progetti echo-devices-project, con 1 versione creata il 25 marzo 2020 e le opzioni per eliminare, addestrare un nuovo modello o creare progetto.

    Elenco dei progetti che mostra il progetto e i dettagli del echo-devices-project progetto.
  6. Nella parte superiore della pagina, seleziona Elimina. Viene visualizzata la finestra di dialogo Elimina progetto.

  7. Se il progetto non ha modelli associati:

    1. Immetti Elimina per eliminare il progetto.

    2. Seleziona Elimina per eliminare il progetto.

  8. Se al progetto sono associati modelli o set di dati:

    1. Immetti Elimina per confermare che desideri eliminare uno o più modelli e i set di dati.

    2. Scegli Elimina modelli associati o Elimina set di dati associati o Elimina set di dati e modelli associati, a seconda che il modello abbia set di dati, modelli o entrambi. Il completamento dell'eliminazione del modello potrebbe richiedere tempo.

      Nota

      La console non può eliminare i modelli in corso di addestramento o in esecuzione. Riprova dopo aver interrotto l'esecuzione di tutti i modelli elencati e attendi che i modelli elencati come in addestramento siano terminati.

      Se Chiudi la finestra di dialogo durante l'eliminazione del modello, i modelli vengono comunque eliminati. Successivamente, è possibile eliminare il progetto ripetendo questa procedura.

      Il pannello per l'eliminazione di un modello fornisce istruzioni esplicite per eliminare i modelli associati.

      Interfaccia per l'eliminazione di un progetto.
    3. Immetti Elimina per confermare che desideri eliminare il progetto.

    4. Seleziona Elimina per eliminare il progetto.

Eliminazione di un progetto Amazon Rekognition Custom Labels (SDK)

Puoi eliminare un progetto Amazon Rekognition Custom Labels DeleteProjectchiamando e fornendo l'Amazon Resource Name (ARN) del progetto che desideri eliminare. Per ottenere gli ARN dei progetti presenti nel tuo account, chiama. AWS DescribeProjects La risposta include una serie di ProjectDescriptionoggetti. Il progetto ARN è il campo ProjectArn. È possibile utilizzare il nome del progetto per identificare l'ARN del progetto. Ad esempio, arn:aws:rekognition:us-east-1:123456789010:project/project name/1234567890123.

Prima di poter eliminare un progetto, devi prima eliminare tutti i modelli e i set di dati del progetto. Per ulteriori informazioni, consulta Eliminazione di un modello di Amazon Rekognition Custom Labels (SDK) e Eliminazione di un dati.

È possibile che siano necessari alcuni secondi per l'eliminazione del progetto. Durante questo periodo, lo stato del progetto è DELETING. Il progetto viene eliminato se una chiamata successiva a DescribeProjectsnon include il progetto eliminato.

Per eliminare un progetto (SDK)
  1. Se non l'hai già fatto, installa e configura gli AWS CLI AWS SDK. Per ulteriori informazioni, consulta Passaggio 4: configura gli SDK e AWS CLIAWS.

  2. Per eliminare un progetto, utilizza il seguente codice.

    AWS CLI

    Modifica il valore di project-arn per il nome del progetto che desideri eliminare.

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

    Usa il seguente codice. Fornisci i seguenti parametri di riga di comando:

    • project_arn— l'ARN del progetto che desideri eliminare.

    # 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

    Usa il seguente codice. Fornisci i seguenti parametri di riga di comando:

    • project_arn— l'ARN del progetto che desideri eliminare.

    /* 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); } } }