AWS Révèle ses Modèles API Smithy : Une Nouvelle Ère pour les Développeurs
Table of Contents
PARIS – 26 Janvier 2024 – AWS, le géant du cloud d’Amazon, a récemment ouvert ses modèles API Smithy, une avancée majeure. Cette initiative permet aux développeurs d’accéder aux définitions des interfaces de programmation d’applications AWS.Désormais, les développeurs peuvent créer des SDK personnalisés et des outils spécifiques. Cette ouverture, qui change la donne, devrait stimuler l’innovation et améliorer l’efficacité du développement.Pour en savoir plus sur les utilisations concrètes, poursuivez votre lecture.
“`html
AWS Révèle ses Modèles API Smithy : Une Nouvelle Ère pour les Développeurs
Amazon Web Services (AWS) vient de franchir une étape significative en rendant publics ses modèles d’API AWS via Smithy. Cette initiative offre aux développeurs un accès sans précédent aux définitions et aux comportements de l’interface publique d’AWS. Désormais disponibles quotidiennement sur Maven Central et via un référentiel open source sur GitHub, ces modèles Smithy promettent de transformer la façon dont les développeurs interagissent avec les services AWS.
Disponibilité et Accès aux Modèles API AWS
Les développeurs peuvent désormais accéder aux modèles d’API AWS de deux manières principales :
- Maven Central: Les modèles AWS API sont publiés quotidiennement sous forme de packages.
- GitHub: Un référentiel open source dédié héberge les modèles Smithy,offrant une source définitive et à jour.
Cette double disponibilité garantit un accès facile et flexible aux ressources nécessaires pour exploiter pleinement le potentiel des services AWS.
Pourquoi cette Ouverture est-elle Importante ?
Depuis 2018, AWS utilise les modèles Smithy pour générer ses SDK et outils CLI. En rendant ces modèles publics, AWS permet aux développeurs de :
- Créer des SDK personnalisés pour des communautés linguistiques spécifiques.
- Générer des implémentations d’API, y compris des stubs de serveur pour divers frameworks.
- Développer leurs propres outils pour interagir avec AWS, tels que des outils de test simulés ou des générateurs de politiques IAM.
- Comprendre en profondeur le fonctionnement des API AWS et les comportements attendus.
Cette transparence accrue favorise l’innovation et permet aux développeurs de construire des applications plus robustes et mieux intégrées à l’écosystème AWS.
Structure des Modèles API AWS
Les modèles AWS sont organisés de manière logique sur GitHub :
- Les répertoires de premier niveau correspondent aux services AWS, nommés selon l’identifiant SDK du service.
- Chaque répertoire de service contient des sous-répertoires pour chaque version de l’API.
- Un fichier JSON contenant le modèle Smithy est présent dans chaque répertoire de version.
Cette structure claire facilite la navigation et la recherche d’informations spécifiques sur les API AWS.
Exemple Concret : L’API RunInstances d’Amazon EC2
Pour illustrer l’utilisation des modèles, prenons l’exemple de l’API `RunInstances` d’Amazon EC2. Le modèle utilise le type `service` comme point d’entrée, regroupant les ressources et les opérations. Chaque opération est définie avec ses entrées, sorties, traits et erreurs possibles.
com.amazonaws.ec2#AmazonEC2": {
"type": "service",
"version": "2016-11-15",
"operations": [
....
{
"target": "com.amazonaws.ec2#RunInstances"
},
....
]
Les traits fournissent des informations détaillées sur l’API, telles que la documentation et des exemples d’utilisation.
"com.amazonaws.ec2#RunInstances": {
"type": "operation",
"input": {
"target": "com.amazonaws.ec2#RunInstancesRequest"
},
"output": {
"target": "com.amazonaws.ec2#Reservation"
},
"traits": {
"smithy.api#documentation": "Launches the specified number of instances using an AMI for which you have....",
smithy.api#examples": [
{
"title": "To launch an instance",
"documentation": "This example launches an instance using the specified AMI, instance type, security group, subnet, block device mapping, and tags.",
"input": {
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sdh",
"Ebs": {
"VolumeSize": 100
}
}
],
"ImageId": "ami-abc12345",
"InstanceType": "t2.micro",
"KeyName": "my-key-pair",
"maxcount": 1,
"MinCount": 1,
"SecurityGroupIds": [
"sg-1a2b3c4d"
],
"SubnetId": "subnet-6e7f829e",
"TagSpecifications": [
{
"resourcetype": "instance",
"Tags": [
{
"Key": "Purpose",
"Value": "test"
}
]
}
]
},
"output": {}
}
]
}
},
Outils et Ressources pour Débuter
Pour faciliter l’utilisation des modèles API AWS, AWS recommande l’utilisation de la CLI Smithy. Cet outil permet de valider, comparer et interroger les modèles. De plus, des exemples de projets sont disponibles pour aider les développeurs à