

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como excluir um projeto do Amazon Rekognition Custom Labels
<a name="mp-delete-project"></a>

Você pode excluir um projeto usando o console do Amazon Rekognition ou chamando a API. [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject) Para excluir um projeto, exclua primeiro cada modelo associado. Um projeto ou modelo excluído não pode ser recuperado. 

**Topics**
+ [Como excluir um projeto do Amazon Rekognition Custom Labels (console)](#mp-delete-project-console)
+ [Como excluir um projeto do Amazon Rekognition Custom Labels (SDK)](#mp-delete-project-sdk)

## Como excluir um projeto do Amazon Rekognition Custom Labels (console)
<a name="mp-delete-project-console"></a>

É possível excluir um projeto da página de projetos ou excluir um projeto da página de detalhes de um projeto. O procedimento a seguir mostra como excluir um projeto usando a página de projetos.

O console do Amazon Rekognition Custom Labels exclui modelos e conjuntos de dados associados para você durante a exclusão do projeto. Não é possível excluir um projeto se algum de seus modelos estiver em execução ou em treinamento. Para interromper um modelo em execução, consulte [Como interromper um modelo do Amazon Rekognition Custom Labels (SDK)](rm-stop.md#rm-stop-sdk). Se um modelo estiver sendo treinado, espere até que ele termine antes de excluir o projeto.

**Para excluir um projeto de (console)**

1. Abra o console do Amazon Rekognition em. [https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)

1. Escolha **Usar rótulos personalizados**.

1. Escolha **Comece a usar**. 

1. No painel de navegação esquerdo, selecione **Projetos**.

1. Na página **Projetos**, selecione o botão ao lado do projeto que deseja excluir. A lista de projetos é exibida echo-devices-project, com 1 versão criada em 25/03/2020 e opções para excluir, treinar novo modelo ou criar projeto.  
![Lista de projetos mostrando o echo-devices-project projeto e os detalhes do projeto.](http://docs.aws.amazon.com/pt_br/rekognition/latest/customlabels-dg/images/delete-projects-page.png)

1. Escolha **Excluir**, no alto da página. A caixa de diálogo **Excluir projeto** é exibida.

1. Se o projeto não tiver modelos associados:

   1. insira **Excluir** para excluir o projeto.

   1. Escolha **Excluir** para excluir o projeto.

1. Se o projeto tiver modelos ou conjuntos de dados associados:

   1. Insira **excluir** para confirmar que deseja excluir os modelos e os conjuntos de dados.

   1. Escolha **Excluir modelos associados**, **Excluir conjuntos de dados associados** ou **Excluir conjuntos de dados e modelos associados**, dependendo se o modelo tem conjuntos de dados, modelos ou ambos. A exclusão do modelo pode demorar um pouco para ser concluída.
**nota**  
O console não pode excluir modelos que estejam em treinamento ou em execução. Tente novamente depois de interromper qualquer modelo em execução listado e espere até que os modelos listados como treinamento terminem.  
Se **Fechar** a caixa de diálogo durante a exclusão do modelo, os modelos ainda serão excluídos. Posteriormente, é possível excluir o projeto repetindo esse procedimento. 

       O painel para excluir um modelo fornece instruções explícitas para excluir modelos associados.   
![Interface para excluir um projeto.](http://docs.aws.amazon.com/pt_br/rekognition/latest/customlabels-dg/images/delete-project-with-models.png)

   1. Insira **excluir** para confirmar que você deseja excluir o projeto.

   1. Escolha **Excluir** para excluir o projeto.  
![Caixa de diálogo confirmando a exclusão do projeto echo-devices-project "" sem modelos.](http://docs.aws.amazon.com/pt_br/rekognition/latest/customlabels-dg/images/delete-project.png)

## Como excluir um projeto do Amazon Rekognition Custom Labels (SDK)
<a name="mp-delete-project-sdk"></a>

Você exclui um projeto Amazon Rekognition Custom Labels [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject)chamando e fornecendo o Amazon Resource Name (ARN) do projeto que você deseja excluir. Para obter ARNs os projetos em sua AWS conta, ligue [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects). A resposta inclui uma matriz de [ProjectDescription](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProjectDescription)objetos. O ARN do projeto é o campo `ProjectArn`. É possível usar o nome do projeto para identificar o ARN do projeto. Por exemplo, .`arn:aws:rekognition:us-east-1:123456789010:project/{{project name}}/1234567890123` 

Antes de excluir um projeto, exclua primeiro todos os modelos e conjuntos de dados no projeto. Para obter mais informações, consulte [Como excluir um modelo do Amazon Rekognition Custom Labels (SDK)](tm-delete-model.md#tm-delete-model-sdk) e [Como excluir um conjunto de dados](md-delete-dataset.md).

O projeto pode demorar alguns instantes para ser excluído. Durante esse período, o status do projeto é `DELETING`. O projeto será excluído se uma chamada subsequente para [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects) não incluir o projeto que você excluiu.

**Para excluir um projeto (SDK)**

1. Se você ainda não tiver feito isso, instale e configure o AWS CLI e AWS SDKs o. Para obter mais informações, consulte [Etapa 4: configurar o AWS CLI e AWS SDKs](su-awscli-sdk.md).

1. Use o código a seguir para excluir um projeto. 

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

   Altere o valor de `project-arn` para o nome do projeto que você deseja excluir.

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

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

   Use o seguinte código: Forneça os seguintes parâmetros de linha de comando:
   + `project_arn`: o ARN do projeto que você deseja excluir.

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

   Use o seguinte código: Forneça os seguintes parâmetros de linha de comando:
   + `project_arn`: o ARN do projeto que você deseja excluir.

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

------