Eliminación de un proyecto de Etiquetas personalizadas de Amazon Rekognition - Rekognition

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Eliminación de un proyecto de Etiquetas personalizadas de Amazon Rekognition

Puede eliminar un proyecto mediante la consola Amazon Rekognition o llamando a la API. DeleteProject Para eliminar un proyecto, primero debe eliminar todos los modelos asociados. No se puede recuperar un proyecto o modelo después de eliminarlo.

Eliminación de un proyecto de Etiquetas personalizadas de Amazon Rekognition (consola)

Puede eliminar un proyecto en la página de proyectos o en la página de detalles de un proyecto. En el siguiente procedimiento, se explica cómo eliminar un proyecto en la página de proyectos.

La consola de Etiquetas personalizadas de Amazon Rekognition elimina los modelos y conjuntos de datos asociados mientras se elimina el proyecto. No es posible eliminar un proyecto si alguno de los modelos está en ejecución o en fase de entrenamiento. Para detener un modelo en ejecución, consulte Detención de un modelo de Etiquetas personalizadas de Amazon Rekognition (SDK). Si el modelo se está entrenando, espere a que termine antes de eliminar el proyecto.

Cómo eliminar un proyecto (consola)
  1. Abra la consola de Amazon Rekognition en https://console.aws.amazon.com/rekognition/.

  2. Elija Usar etiquetas personalizadas.

  3. Elija Comenzar.

  4. En el panel de navegación izquierdo, elija Proyectos.

  5. En la página Proyectos, seleccione el botón que aparece junto al proyecto que desea eliminar. Se muestra la lista de proyectos echo-devices-project, con una versión creada el 25 de marzo de 2020 y las opciones para eliminar, entrenar un nuevo modelo o crear un proyecto.

    Lista de proyectos que muestra el echo-devices-project proyecto y sus detalles.
  6. En la parte superior de la página, elija Eliminar. Tras esto, se abrirá el cuadro de diálogo Eliminar proyecto.

  7. En caso de que el proyecto no tenga modelos asociados:

    1. Escriba eliminar para eliminar el proyecto.

    2. Seleccione Eliminar para eliminar el modelo.

  8. En caso de que el proyecto tenga modelos asociados:

    1. Escriba eliminar para confirmar que desea eliminar los modelos y conjuntos de datos.

    2. Elija Eliminar modelos asociados, Eliminar conjuntos de datos asociados o Eliminar conjuntos de datos y modelos asociados, en función de si el modelo tiene conjuntos de datos, modelos o ambos. El proceso de eliminación del modelo puede tardar un tiempo.

      nota

      La consola no puede eliminar modelos que estén en fase de entrenamiento o en ejecución. Inténtelo de nuevo después de detener los modelos en ejecución que aparecen en la lista y espere a que los modelos que se estén entrenando terminen.

      Si cierra el cuadro de diálogo mientras se elimina el modelo, los modelos seguirán borrándose. En otro momento, podrá eliminar el proyecto repitiendo este procedimiento.

      El panel para eliminar un modelo proporciona instrucciones explícitas para eliminar los modelos asociados.

      Interfaz para eliminar un proyecto.
    3. Escriba eliminar para confirmar que quiere eliminar el proyecto.

    4. Seleccione Eliminar para eliminar el proyecto.

Eliminación de un proyecto de Etiquetas personalizadas de Amazon Rekognition (SDK)

Para eliminar un proyecto de Amazon Rekognition Custom Labels, debe DeleteProjectllamar y proporcionar el nombre de recurso de Amazon (ARN) del proyecto que desea eliminar. Para obtener los ARN de los proyectos de su cuenta, llame. AWS DescribeProjects La respuesta incluye un conjunto de ProjectDescriptionobjetos. El ARN del proyecto se corresponde con el campo ProjectArn. Puede usar el nombre del proyecto para identificar el ARN del proyecto. Por ejemplo, arn:aws:rekognition:us-east-1:123456789010:project/project name/1234567890123.

Antes de eliminar un proyecto, primero debe eliminar todos los modelos y conjuntos de datos del proyecto. Para obtener más información, consulte Eliminación de un modelo de Etiquetas personalizadas de Amazon Rekognition (SDK) y Eliminación de un conjuntos de datos.

Puede que el proyecto tarde unos minutos en eliminarse. Durante ese tiempo, el estado del proyecto será DELETING. El proyecto se elimina si una llamada posterior a DescribeProjectsno incluye el proyecto que ha eliminado.

Para eliminar un proyecto (SDK)
  1. Si aún no lo has hecho, instala y configura los AWS SDK AWS CLI y los mismos. Para obtener más información, consulte Paso 4: Configure los SDK y AWS CLIAWS.

  2. Utilice el código siguiente para eliminar un proyecto.

    AWS CLI

    Cambie el valor de project-arn por el nombre del proyecto que desee eliminar.

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

    Utilice el siguiente código. Indique los siguientes parámetros de línea de comandos:

    • project_arn: el ARN del proyecto que desea eliminar.

    # 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

    Utilice el siguiente código. Indique los siguientes parámetros de línea de comandos:

    • project_arn: el ARN del proyecto que desea eliminar.

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