Décrire un projet (SDK) - Rekognition

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.

Décrire un projet (SDK)

Vous pouvez utiliser le DescribeProjects API pour obtenir des informations sur vos projets.

Pour décrire un projet (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 SDKs.

  2. Utilisez l’exemple de code suivant pour décrire un projet. Remplacez project_name par le nom du projet que vous souhaitez décrire. Si vous ne spécifiez pas --project-names, les descriptions de tous les projets sont renvoyées.

    AWS CLI
    aws rekognition describe-projects --project-names project_name \ --profile custom-labels-access
    Python

    Utilisez le code suivant. Fournissez les paramètres de ligne de commande suivants :

    • project_name : le nom du projet que vous souhaitez décrire. Si vous ne spécifiez pas de nom, les descriptions de tous les projets sont renvoyées.

    # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Purpose Shows how to describe an Amazon Rekognition Custom Labels project. """ import argparse import logging import json import boto3 from botocore.exceptions import ClientError logger = logging.getLogger(__name__) def display_project_info(project): """ Displays information about a Custom Labels project. :param project: The project that you want to display information about. """ print(f"Arn: {project['ProjectArn']}") print(f"Status: {project['Status']}") if len(project['Datasets']) == 0: print("Datasets: None") else: print("Datasets:") for dataset in project['Datasets']: print(f"\tCreated: {str(dataset['CreationTimestamp'])}") print(f"\tType: {dataset['DatasetType']}") print(f"\tARN: {dataset['DatasetArn']}") print(f"\tStatus: {dataset['Status']}") print(f"\tStatus message: {dataset['StatusMessage']}") print(f"\tStatus code: {dataset['StatusMessageCode']}") print() print() def describe_projects(rek_client, project_name): """ Describes an Amazon Rekognition Custom Labels project, or all projects. :param rek_client: The Amazon Rekognition Custom Labels Boto3 client. :param project_name: The project you want to describe. Pass None to describe all projects. """ try: # Describe the project if project_name is None: logger.info("Describing all projects.") else: logger.info("Describing project: %s.",project_name) if project_name is None: response = rek_client.describe_projects() else: project_names = json.loads('["' + project_name + '"]') response = rek_client.describe_projects(ProjectNames=project_names) print('Projects\n--------') if len(response['ProjectDescriptions']) == 0: print("Project(s) not found.") else: for project in response['ProjectDescriptions']: display_project_info(project) logger.info("Finished project description.") except ClientError as err: logger.exception( "Couldn't describe project - %s: %s", project_name,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_name", help="The name of the project that you want to describe.", required=False ) 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"Describing projects: {args.project_name}") # Describe the project. session = boto3.Session(profile_name='custom-labels-access') rekognition_client = session.client("rekognition") describe_projects(rekognition_client, args.project_name) if args.project_name is None: print("Finished describing all projects.") else: print("Finished describing project %s.", args.project_name) except ClientError as err: error_message = f"Problem describing 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_name— ARN le projet que vous souhaitez décrire. Si vous ne spécifiez pas de nom, les descriptions de tous les projets sont renvoyées.

    /* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 */ package com.example.rekognition; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.services.rekognition.RekognitionClient; import software.amazon.awssdk.services.rekognition.model.DatasetMetadata; 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 DescribeProjects { public static final Logger logger = Logger.getLogger(DescribeProjects.class.getName()); public static void describeMyProjects(RekognitionClient rekClient, String projectName) { DescribeProjectsRequest descProjects = null; // If a single project name is supplied, build projectNames argument List<String> projectNames = new ArrayList<String>(); if (projectName == null) { descProjects = DescribeProjectsRequest.builder().build(); } else { projectNames.add(projectName); descProjects = DescribeProjectsRequest.builder().projectNames(projectNames).build(); } // Display useful information for each project. DescribeProjectsResponse resp = rekClient.describeProjects(descProjects); for (ProjectDescription projectDescription : resp.projectDescriptions()) { System.out.println("ARN: " + projectDescription.projectArn()); System.out.println("Status: " + projectDescription.statusAsString()); if (projectDescription.hasDatasets()) { for (DatasetMetadata datasetDescription : projectDescription.datasets()) { System.out.println("\tdataset Type: " + datasetDescription.datasetTypeAsString()); System.out.println("\tdataset ARN: " + datasetDescription.datasetArn()); System.out.println("\tdataset Status: " + datasetDescription.statusAsString()); } } System.out.println(); } } public static void main(String[] args) { String projectArn = null; // Get command line arguments final String USAGE = "\n" + "Usage: " + "<project_name>\n\n" + "Where:\n" + " project_name - (Optional) The name of the project that you want to describe. If not specified, all projects " + "are described.\n\n"; if (args.length > 1) { System.out.println(USAGE); System.exit(1); } if (args.length == 1) { projectArn = args[0]; } try { // Get the Rekognition client RekognitionClient rekClient = RekognitionClient.builder() .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access")) .region(Region.US_WEST_2) .build(); // Describe projects describeMyProjects(rekClient, projectArn); rekClient.close(); } catch (RekognitionException rekError) { logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage()); System.exit(1); } } }