Löschen eines Amazon Rekognition Custom Labels-Projekts - Rekognition

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Löschen eines Amazon Rekognition Custom Labels-Projekts

Sie können ein Projekt löschen, indem Sie die Amazon Rekognition Rekognition-Konsole verwenden oder die DeleteProjectAPI aufrufen. Um ein Projekt zu löschen, müssen Sie zunächst alle zugehörigen Modelle löschen. Ein gelöschtes Projekt oder Modell kann nicht wiederhergestellt werden.

Löschen eines Amazon Rekognition Custom Labels-Projekts (Konsole)

Sie können ein Projekt von der Projektseite oder von der Detailseite eines Projekts löschen. Das folgende Verfahren zeigt Ihnen, wie Sie Projekt löschen, indem Sie die Projektseite verwenden.

Die Amazon Rekognition Custom Labels-Konsole löscht beim Löschen von Projekten die zugehörigen Modelle und Datensätze für Sie. Sie können ein Projekt nicht löschen, wenn eines seiner Modelle läuft oder trainiert wird. Informationen zum Stoppen eines laufenden Modells finden Sie unter Stoppen eines Amazon Rekognition Custom Labels-Modells (SDK). Wenn ein Modell trainiert wird, warten Sie, bis es fertig ist, bevor Sie das Projekt löschen.

Löschen eines Projekts (Konsole)
  1. Öffnen Sie die Amazon Rekognition-Konsole unter https://console.aws.amazon.com/rekognition/.

  2. Wählen Sie Benutzerdefinierte Labels verwenden.

  3. Wählen Sie Erste Schritte.

  4. Wählen Sie im linken Navigationsbereich die Option Projekte aus.

  5. Klicken Sie auf der Seite Projekte auf die Schaltfläche neben dem Projekt, das Sie löschen möchten. Die Projektliste wird angezeigt echo-devices-project, mit einer Version, die am 25.03.2020 erstellt wurde, und den Optionen Löschen, Neues Modell trainieren oder Projekt erstellen.

    Projektliste mit dem Projekt und den echo-devices-project Projektdetails.
  6. Wählen Sie oben auf der Seite Löschen. Das Dialogfeld Projekt löschen wird angezeigt.

  7. Wenn dem Projekt keine Modelle zugeordnet sind:

    1. Geben Sie Löschen ein, um das Projekt zu löschen.

    2. Wählen Sie Löschen, um das Projekt zu löschen.

  8. Wenn dem Projekt Modelle oder Datensätze zugeordnet sind:

    1. Geben Sie Löschen ein, um zu bestätigen, dass Sie die Modelle und Datensätze löschen möchten.

    2. Wählen Sie entweder Zugeordnete Modelle löschen oder Zugeordnete Datensätze löschen oder Zugeordnete Datensätze und Modelle löschen, je nachdem, ob das Modell Datensätze, Modelle oder beides enthält. Das Löschen des Modells kann eine Weile dauern.

      Anmerkung

      Die Konsole kann keine Modelle löschen, die gerade trainiert werden oder ausgeführt werden. Versuchen Sie es erneut, nachdem Sie alle laufenden Modelle, die in der Liste aufgeführt sind, gestoppt haben, und warten Sie, bis die Modelle, die als Training aufgeführt sind, gestoppt wurden.

      Wenn Sie das Dialogfeld während des Löschens des Modells schließen, werden die Modelle trotzdem gelöscht. Später können Sie das Projekt löschen, indem Sie diesen Vorgang wiederholen.

      Das Fenster zum Löschen eines Modells enthält explizite Anweisungen zum Löschen der zugehörigen Modelle.

      Schnittstelle zum Löschen eines Projekts.
    3. Geben Sie Löschen ein, um zu bestätigen, dass Sie das Projekt löschen möchten.

    4. Wählen Sie Löschen, um das Projekt zu löschen.

Löschen eines Amazon Rekognition Custom Labels-Projekts (SDK)

Sie löschen ein Amazon Rekognition Custom Labels-Projekt, indem Sie den Amazon-Ressourcennamen (ARN) des Projekts, das Sie löschen möchten, aufrufen DeleteProjectund angeben. Rufen Sie an, um die ARNs der Projekte in Ihrem AWS Konto zu erhalten. DescribeProjects Die Antwort umfasst eine Reihe von ProjectDescriptionObjekten. Das Projekt ARN ist das ProjectArn Feld. Sie können den Projektnamen verwenden, um den ARN des Projekts zu identifizieren. z. B. arn:aws:rekognition:us-east-1:123456789010:project/project name/1234567890123.

Bevor Sie ein Projekt löschen können, müssen Sie zunächst alle Modelle und Datensätze im Projekt löschen. Weitere Informationen finden Sie unter Löschen eines Amazon-Rekognition-Custom-Labels-Modells (SDK) und Löschen eines Dataset.

Es kann einige Momente dauern, das Projekt zu löschen. Während dieser Zeit lautet der Status des Projekts DELETING. Das Projekt wird gelöscht, wenn ein nachfolgender Aufruf das von Ihnen gelöschte Projekt DescribeProjectsnicht enthält.

So löschen Sie ein Projekt (SDK)
  1. Falls Sie dies noch nicht getan haben, installieren und konfigurieren Sie die AWS CLI und die AWS SDKs. Weitere Informationen finden Sie unter Schritt 4: Richten Sie die AWS CLI und SDKs ein AWS.

  2. Verwenden Sie den folgenden Code, um ein Projekt zu löschen.

    AWS CLI

    Ändern Sie den Wert von project-arn in den Namen des Projekts, das Sie löschen möchten.

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

    Verwenden Sie folgenden Code. Geben Sie die folgenden Befehlszeilenparameter an:

    • project_arn— der ARN des Projekts, das Sie löschen möchten.

    # 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

    Verwenden Sie folgenden Code. Geben Sie die folgenden Befehlszeilenparameter an:

    • project_arn— der ARN des Projekts, das Sie löschen möchten.

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