Comment résoudre l'erreur « Resource timed out waiting for creation of physical resource » (« Ressource expirée en attente de création d'une ressource physique ») lorsque je crée une ressource à l'aide de mon type de fournisseur de ressources dans AWS CloudFormation ?
Date de la dernière mise à jour : 17/08/2020
Je reçois l'erreur « Ressource expirée en attente de création d'une ressource physique » dans mes événements de pile lorsque je crée une ressource en utilisant mon type de fournisseur de ressources dans AWS CloudFormation. Comment puis-je résoudre cette erreur ?
Brève description
Si une ressource ne renvoie pas son primaryIdentifier ou son ID physique dans les 60 secondes, alors AWS CloudFormation renvoie l'erreur « Resource timed out waiting for creation of physical resource » (« Ressource expirée en attente de création d'une ressource physique »). L'erreur se produit car le CreateHandler de votre ressource ne renvoie pas la propriété spécifiée en tant que primaryIdentifier dans le fichier de schéma du fournisseur de ressources organization-service-resource.json.
Si vous rencontrez des problèmes avec d'autres erreurs liées à l'utilisation d'un fournisseur de ressources, consultez les articles suivants pour des étapes de dépannage supplémentaires :
- Comment résoudre l'erreur « Resource specification is invalid » (« La spécification de ressource est invalide ») lorsque j'exécute la commande cfn generate à l'aide de l'interface de ligne de commande CloudFormation dans AWS CloudFormation ?
- Comment résoudre l'erreur « Échec de la validation du modèle (# : la clé externe [Clé] n'est pas autorisée) » dans AWS CloudFormation ?
- Comment résoudre l'erreur « Attribute 'Key' does not exist » (« L'attribut “Clé” n'existe pas ») lorsque j'utilise la fonction Fn።GetAtt sur ma ressource de fournisseur de ressources dans AWS CloudFormation ?
- Comment résoudre l'erreur « java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper » dans AWS CloudFormation ?
Solution
1. Dans votre fichier organization-service-resource.json, vérifiez que la définition primaryIdentifier suit ce format, où Id est une propriété définie dans la section propriétés :
"primaryIdentifier": [
"/properties/Id"
]
Remarque : le fichier de schéma du fournisseur de ressources est un fichier JSON nommé organization-service-resource.json et se trouve dans le répertoire racine de votre projet.
2. Dans votre CreateHandler, définissez la propriété primaryIdentifier dans l'objet model. Par exemple :
final ResourceModel model = request.getDesiredResourceState();
model.setId("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
Informations connexes
Cet article vous a-t-il été utile ?
Besoin d'aide pour une question technique ou de facturation ?