27 points par xguru 7 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Permet de mettre rapidement en place un environnement compatible en développement local et pour les tests CI/CD, même sans AWS réel
  • Il est possible de configurer un environnement de test léger avec un binaire unique, avec aussi une exécution basée sur Docker
  • Fonctionne sans authentification, ce qui peut réduire la charge liée à la préparation des identifiants AWS dans les pipelines d’automatisation
  • Prend largement en charge 76 services AWS et couvre notamment des domaines clés comme S3, SQS, DynamoDB, Lambda, IAM, CloudWatch, ECS et RDS
  • Endpoint AWS compatible local fonctionnant par défaut sur localhost:4566
  • Si KUMO_DATA_DIR est configuré, une persistance optionnelle des données est possible via des fichiers JSON par service ; s’il ne l’est pas, l’exécution se fait proprement en mémoire
  • Toutes les requêtes sont enregistrées avec des champs de logs structurés
    • INFO : méthode HTTP, chemin, code de statut, latence, ID de requête, informations sur la cible API, etc.
    • DEBUG : enregistre jusqu’au corps complet de la requête, utile pour les opérations de débogage où il faut inspecter la payload elle-même
  • Fournit des endpoints supplémentaires pour les tests sous /kumo/
    • Ils ne font pas partie de l’API officielle AWS, mais sont utiles pour vérifier le comportement de l’application pendant les tests
    • Consultation des e-mails envoyés via SES v2

      • GET /kumo/ses/v2/sent-emails permet de consulter la liste des e-mails envoyés via l’API SES v2 SendEmail
      • Réponse : inclut MessageId, adresse d’expéditeur, destinataires, objet, corps, date et heure d’envoi, etc.
    • Consultation des messages envoyés via Pinpoint SMS Voice v2

      • GET /kumo/pinpointsmsvoicev2/sent-messages permet de consulter la liste des SMS envoyés via l’API SendTextMessage
      • Réponse : inclut MessageId, numéro de téléphone du destinataire, identifiant d’expéditeur, corps du message, date et heure d’envoi, etc.
    • Particulièrement utile pour vérifier les résultats lors des tests de fonctionnalités d’envoi d’e-mails et de SMS, sans dépendre de services externes
  • Licence MIT

Services pris en charge

  • Prend en charge un total de 76 services AWS
  • Stockage

    • Prise en charge de S3, S3 Control, S3 Tables, DynamoDB, ElastiCache, MemoryDB, Glacier et EBS
  • Compute

    • Prise en charge de Lambda, Batch, EC2 et Elastic Beanstalk
  • Conteneurs

    • Prise en charge de ECS, ECR et EKS
  • Bases de données

    • Prise en charge de RDS, Neptune et Redshift
  • Messagerie et intégration

    • Prise en charge de SQS, SNS, EventBridge, Kinesis, Firehose, MQ, Pipes et MSK
  • Sécurité et identité

    • Prise en charge de IAM, KMS, Secrets Manager, ACM, Cognito, Security Lake, STS et Macie
  • Monitoring et logs

    • Prise en charge de CloudWatch, CloudWatch Logs, X-Ray et CloudTrail
  • Réseau et diffusion de contenu

    • Prise en charge de CloudFront, Global Accelerator, API Gateway, Route 53, Route 53 Resolver, ELBv2, App Mesh et Location
  • Intégration applicative

    • Prise en charge de Step Functions, AppSync, SES v2, Pinpoint SMS Voice v2, Scheduler et Amplify
  • Gestion et configuration

    • Prise en charge de SSM, Config, CloudFormation, Organizations, Service Quotas, CodeConnections et Backup
  • Analyse et ML

    • Prise en charge de Athena, Glue, Comprehend, Rekognition, SageMaker, Forecast, Data Exchange et Entity Resolution
  • Outils développeur

    • Prise en charge de CodeGuru Profiler et CodeGuru Reviewer
  • Autres services

    • Prise en charge de Cost Explorer, DLM, Directory Service, EMR Serverless, FinSpace, GameLift et Resilience Hub

Exemples d’utilisation

  • S3

    • Côté client S3, il s’agit de définir BaseEndpoint sur http://localhost:4566 et d’activer UsePathStyle pour se connecter à l’émulateur local
    • Le flux allant de la création d’un bucket jusqu’à l’upload d’un objet permet de reproduire des tests de stockage objet sans AWS réel
  • SQS

    • Le client SQS utilise lui aussi le même endpoint local, avec un flux de création de file puis d’envoi et de réception de messages
    • Adapté à la validation d’une logique de messagerie asynchrone dans des tests d’intégration locaux
  • DynamoDB

    • La création de table, la définition du schéma de clés et l’enregistrement d’items permettent de reproduire un workflow NoSQL
    • Il est facile de vérifier la logique d’accès aux données de l’application sans ressources cloud réelles
  • Secrets Manager

    • Inclut des exemples de création et de consultation de valeurs secrètes, ce qui permet aussi de tester l’intégration à un coffre de secrets
    • Utile pour valider localement des applications manipulant des informations sensibles au format JSON

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.