

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Suppression d’un projet Étiquettes personnalisées Amazon Rekognition
<a name="mp-delete-project"></a>

Vous pouvez supprimer un projet à l'aide de la console Amazon Rekognition ou en appelant l'API. [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject) Pour supprimer un projet, vous devez d’abord supprimer chaque modèle associé. Il est impossible de rétablir un projet ou un modèle supprimé. 

**Topics**
+ [Suppression d’un projet Étiquettes personnalisées Amazon Rekognition (console)](#mp-delete-project-console)
+ [Suppression d’un projet Étiquettes personnalisées Amazon Rekognition (kit SDK)](#mp-delete-project-sdk)

## Suppression d’un projet Étiquettes personnalisées Amazon Rekognition (console)
<a name="mp-delete-project-console"></a>

Vous pouvez supprimer un projet depuis la page des projets ou supprimer un projet depuis la page détaillée d’un projet. La procédure suivante vous montre comment supprimer un projet en utilisant la page des projets.

La console Étiquettes personnalisées Amazon Rekognition supprime pour vous les modèles et les jeux de données associés lors de la suppression du projet. Vous ne pouvez pas supprimer un projet si l’un de ses modèles est en cours d’exécution ou d’entraînement. Pour arrêter un modèle en cours d’exécution, consultez [Arrêt d’un modèle Étiquettes personnalisées Amazon Rekognition (kit SDK)](rm-stop.md#rm-stop-sdk). Si un modèle est en cours d’entraînement, attendez la fin de l’entraînement pour supprimer le projet.

**Pour supprimer un projet (console)**

1. Ouvrez la console Amazon Rekognition à l'adresse. [https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)

1. Choisissez **Utiliser Custom Labels**.

1. Choisissez **Démarrer**. 

1. Dans le volet de navigation de gauche, choisissez **Projets**.

1. Sur la page **Projets**, sélectionnez la case d’option pour le projet que vous souhaitez supprimer. La liste des projets affiche echo-devices-project, avec 1 version créée le 25/03/2020, et les options pour supprimer, entraîner un nouveau modèle ou créer un projet.  
![Liste des projets indiquant le echo-devices-project projet et les détails du projet.](http://docs.aws.amazon.com/fr_fr/rekognition/latest/customlabels-dg/images/delete-projects-page.png)

1. En haut de la page, choisissez **Supprimer**. La boîte de dialogue **Supprimer le projet** s’affiche.

1. Si aucun modèle n’est associé au projet :

   1. Entrez **delete** pour supprimer le projet.

   1. Choisissez **Supprimer** pour supprimer le projet.

1. Si aucun modèle ou jeu de données n’est associé au projet :

   1. Entrez **delete** pour confirmer que vous souhaitez supprimer le ou les modèles et jeux de données.

   1. Choisissez **Supprimer les modèles associés**, **Supprimer les jeux de données associés** ou **Supprimer les ensembles de données et les modèles associés**, selon que le modèle comporte des jeux de données, des modèles ou les deux. La suppression du modèle peut prendre un certain temps.
**Note**  
La console ne peut pas supprimer les modèles en cours d’entraînement ou d’exécution. Réessayez après avoir arrêté tous les modèles en cours d’exécution répertoriés et attendez que ceux répertoriés comme des modèles d’entraînement soient terminés.  
Si vous choisissez de **Fermer** la boîte de dialogue pendant la suppression du modèle, les modèles sont quand même supprimés. Vous pouvez supprimer le projet par la suite en répétant cette procédure. 

       Le panneau de suppression d'un modèle vous donne des instructions explicites pour supprimer les modèles associés.   
![Interface pour supprimer un projet.](http://docs.aws.amazon.com/fr_fr/rekognition/latest/customlabels-dg/images/delete-project-with-models.png)

   1. Entrez **delete** pour confirmer que vous voulez supprimer le projet.

   1. Choisissez **Supprimer** pour supprimer le projet.  
![Boîte de dialogue confirmant la suppression du projet echo-devices-project « » sans modèle.](http://docs.aws.amazon.com/fr_fr/rekognition/latest/customlabels-dg/images/delete-project.png)

## Suppression d’un projet Étiquettes personnalisées Amazon Rekognition (kit SDK)
<a name="mp-delete-project-sdk"></a>

Vous supprimez un projet Amazon Rekognition Custom Labels en [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject)appelant et en fournissant le nom de ressource Amazon (ARN) du projet que vous souhaitez supprimer. Pour obtenir ARNs les projets sur votre AWS compte, appelez [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects). La réponse inclut un ensemble d'[ProjectDescription](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProjectDescription)objets. L’ARN du projet est le champ `ProjectArn`. Vous pouvez utiliser le nom du projet pour identifier l’ARN du projet. Par exemple, `arn:aws:rekognition:us-east-1:123456789010:project/{{project name}}/1234567890123`. 

Avant de supprimer un projet, vous devez commencer par supprimer tous les modèles et jeux de données dans le projet. Pour plus d’informations, consultez [Suppression d’un modèle Étiquettes personnalisées Amazon Rekognition (kit SDK)](tm-delete-model.md#tm-delete-model-sdk) et [Suppression d’un jeu de données](md-delete-dataset.md).

La suppression du projet peut prendre quelques instants. Pendant ce temps, le statut du projet est `DELETING`. Le projet est supprimé si un appel ultérieur [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects)n'inclut pas le projet que vous avez supprimé.

**Pour supprimer un projet (kit SDK)**

1. Si ce n'est pas déjà fait, installez et configurez le AWS CLI et le AWS SDKs. Pour de plus amples informations, veuillez consulter [Étape 4 : Configurez le AWS CLI and AWS Kits SDK](su-awscli-sdk.md).

1. Utilisez le code suivant pour supprimer un projet. 

------
#### [ AWS CLI ]

   Remplacez la valeur de `project-arn` par le nom du projet que vous souhaitez supprimer.

   ```
   aws rekognition delete-project --project-arn {{project_arn}} \
     --profile custom-labels-access
   ```

------
#### [ Python ]

   Utilisez le code suivant. Fournissez les paramètres de ligne de commande suivants :
   + `project_arn` : l’ARN du projet que vous souhaitez supprimer.

   ```
   # 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 ]

   Utilisez le code suivant. Fournissez les paramètres de ligne de commande suivants :
   + `project_arn` : l’ARN du projet que vous souhaitez supprimer.

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

------