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 ?

Lecture de 2 minute(s)
0

Lorsque j'utilise la fonction Fn::GetAtt sur mon fournisseur de ressources dans AWS CloudFormation, je reçois l'erreur suivante : « Attribute 'Key' does not exist » (L'attribut "Key" n'existe pas)

Brève description

CloudFormation renvoie l'erreur « Attribute 'Key' does not exist » (L'attribut "Key" n'existe pas), car il ne reçoit pas la propriété requise. Le ReadHandler de votre ressource doit renvoyer une propriété spécifiée dans la liste readOnlyProperties du 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, veuillez consulter les articles suivants :

Solution

1.    Dans votre fichier organization-service-resource.json, vérifiez que la définition readOnlyProperties utilise le format suivant, où Output est une propriété définie dans la section properties (propriétés). Par exemple :

"readOnlyProperties": [
    "/properties/Output"
],

Remarque : le format organization-service-resource.json se trouve dans le répertoire racine de votre projet.

2.    Dans votre ReadHandler, définissez la propriété dans l'objet model (modèle). Par exemple :

final ResourceModel model = request.getDesiredResourceState();
model.setOutput("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
    .resourceModel(model)
    .status(OperationStatus.SUCCESS)
    .build();

Informations connexes

Interface de ligne de commande AWS CloudFormation (depuis le site Web GitHub)

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans
Aucun commentaire