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 CloudFormation ?
Dernière mise à jour : 19/09/2022
Lorsque j'utilise mon type de fournisseur de ressources pour créer une ressource dans AWS CloudFormation, je reçois l'erreur suivante :
« Resource timed out waiting for creation of physical resource » (Ressource expirée en attente de création d'une ressource physique)
Brève description
Si une ressource ne renvoie pas son primaryIdentifier ou son ID physique dans les 60 secondes, vous recevez 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.
Pour les autres erreurs liées à l'utilisation d'un fournisseur de ressources, consultez les articles suivants :
- 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 la ligne de commande CloudFormation dans CloudFormation ?
- Comment résoudre l'erreur « Model validation failed (#: extraneous key [Key] is not permitted) » (Échec de la validation du modèle, #: clé extérieure [Key] non autorisée) dans CloudFormation ?
- Comment résoudre l'erreur « Attribute 'Key' does not exist » (L'attribut 'Key' n'existe pas) lorsque j'utilise la fonction Fn::GetAtt sur ma ressource fournisseur de ressources dans CloudFormation ?
- Comment résoudre l'erreur « java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper » dans CloudFormation ?
Solution
1. Dans votre fichier organization-service-resource.json, vérifiez que la définition de la propriété primaryIdentifier suit le format suivant, où Id est une propriété définie dans la section properties (propriétés) :
"primaryIdentifier": [
"/properties/Id"
]
Remarque : le format organization-service-resource.json 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
CLI AWS CloudFormation depuis le site Web GitHub (français non garanti)
Cet article vous a-t-il été utile ?
Benötigen Sie Hilfe zur Fakturierung oder technischen Support?