8000 GitHub - Thomctrs/aws-recognition-image: Cette application utilise plusieurs services AWS pour créer un système automatisé de reconnaissance d'images. Lorsqu'une image est déposée dans un bucket S3, une fonction Lambda est déclenchée pour analyser l'image avec AWS Rekognition et stocker les résultats dans DynamoDB.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Cette application utilise plusieurs services AWS pour créer un système automatisé de reconnaissance d'images. Lorsqu'une image est déposée dans un bucket S3, une fonction Lambda est déclenchée pour analyser l'image avec AWS Rekognition et stocker les résultats dans DynamoDB.

Notifications You must be signed in to change notification settings

Thomctrs/aws-recognition-image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Application de Reconnaissance d'Images AWS

Cette application utilise plusieurs services AWS pour créer un système automatisé de reconnaissance d'images. Lorsqu'une image est déposée dans un bucket S3, une fonction Lambda est déclenchée pour analyser l'image avec AWS Rekognition et stocker les résultats dans DynamoDB.

Architecture

Architecture

L'application utilise les services AWS suivants :

  • Amazon S3 : Stockage des images
  • AWS Lambda : Traitement automatisé des images
  • Amazon Rekognition : Service d'analyse d'images (détection d'objets, de scènes, etc.)
  • Amazon DynamoDB : Stockage des métadonnées et des résultats d'analyse

Prérequis

  • AWS CLI installé et configuré
  • AWS SAM CLI installé
  • Python 3.12 ou supérieur
  • Un compte AWS avec les permissions nécessaires

Structure du Projet

.
├── template.yaml        # Template SAM (Infrastructure as Code)
├── src/
│   ├── app.py          # Code de la fonction Lambda
│   └── requirements.txt # Dépendances Python
└── README.md

Configuration

  1. Clonez ce dépôt :
git clone <repository-url>
cd recognition-app
  1. Installez les dépendances de développement :
pip install -r src/requirements.txt

Déploiement

  1. Construire l'application :
sam build
  1. Déployer l'application :
sam deploy --guided

Lors du déploiement guidé, vous devrez fournir les informations suivantes :

  • Nom de la stack (ex: "recognition-app")
  • Région AWS (utiliser eu-west-1 car Rekognition n'est pas disponible dans toutes les régions)
  • Confirmation des changements d'IAM

Utilisation

Format d'Images Supportés

L'application accepte les formats d'images suivants :

  • JPEG/JPG
  • PNG

Téléchargement d'Images

  1. Après le déploiement, récupérez le nom du bucket S3 dans les outputs de la stack
  2. Téléchargez une image dans le bucket :
    aws s3 cp votre-image.jpg s3://NOM-DU-BUCKET/

Structure des Données dans DynamoDB

Chaque image analysée génère une entrée dans DynamoDB avec la structure suivante :

{
    "imageId": "uuid-unique",
    "imageUrl": "https://bucket.s3.amazonaws.com/image.jpg",
    "labels": ["label1", "label2", "label3"],
    "timestamp": "2024-03-18T15:49:56.015Z",
    "contentType": "image/jpeg"
}

Consultation des Résultats

Pour consulter les résultats d'une analyse :

  1. Via AWS Console :

    • Accédez à DynamoDB
    • Sélectionnez la table "nom-stack-images"
    • Utilisez l'explorateur d'éléments
  2. Via AWS CLI :

    aws dynamodb scan --table-name nom-stack-images

Surveillance et Logs

CloudWatch Logs

Les logs de la fonction Lambda sont disponibles dans CloudWatch Logs :

  1. Accédez à CloudWatch dans la console AWS
  2. Naviguez vers "Log groups"
  3. Recherchez "/aws/lambda/nom-stack-ProcessImageFunction"

Les logs incluent :

  • Début du traitement de l'image
  • Type de contenu détecté
  • Labels identifiés par Rekognition
  • Erreurs éventuelles

Gestion des Erreurs

L'application gère plusieurs types d'erreurs :

  • Format d'image non supporté
  • Erreurs de traitement Rekognition
  • Problèmes d'accès aux services AWS

Sécurité

L'application implémente plusieurs mesures de sécurité :

  • Bucket S3 configuré avec blocage d'accès public
  • Permissions IAM minimales pour chaque service
  • Utilisation de rôles IAM spécifiques pour la fonction Lambda

Limitations

  • Taille maximale des images : 5 MB
  • Formats supportés : JPEG, PNG uniquement
  • Région Rekognition : eu-west-1 (Irlande)
  • Timeout Lambda : 30 secondes
  • Mémoire Lambda : 256 MB

Coûts

L'utilisation de cette application implique des coûts AWS pour :

  • Stockage S3
  • Invocations Lambda
  • Analyses Rekognition
  • Stockage DynamoDB

Consultez la tarification AWS pour plus de détails.

Support

Pour toute question ou problème :

  1. Vérifiez les logs CloudWatch
  2. Consultez la documentation AWS
  3. Ouvrez une issue sur le dépôt

Licence

Thomas Catros

About

Cette application utilise plusieurs services AWS pour créer un système automatisé de reconnaissance d'images. Lorsqu'une image est déposée dans un bucket S3, une fonction Lambda est déclenchée pour analyser l'image avec AWS Rekognition et stocker les résultats dans DynamoDB.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0