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 AWS CloudFormation ?

Date de la dernière mise à jour : 17/08/2020

Je reçois 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 AWS CloudFormation. Comment puis-je résoudre cette erreur ?

Brève description

Vous recevez l'erreur « Attribute 'Key' does not exist » (« L'attribut "Key" n'existe pas ») lorsque le ReadHandler de votre ressource ne renvoie pas de propriété spécifiée dans la liste ReadOnlyProperties du fichier de schéma du fournisseur de ressources organization-service-resource.json. AWS CloudFormation renvoie cette erreur, car il ne reçoit pas la propriété requise.

Si vous rencontrez des problèmes avec d'autres erreurs liées à l'utilisation d'un fournisseur de ressources, consultez les articles suivants pour connaître des étapes de dépannage supplémentaires :

Résolution

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

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

Remarque : le fichier de schéma du fournisseur de ressources est un fichier JSON au format organization-service-resource.json et se trouve dans le répertoire racine de votre projet.

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

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

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?