Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Étape 12 : mettez à jour le livre de recettes pour l'utiliser sur mesure JSON
Important
Le AWS OpsWorks Stacks le service a pris fin le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez le AWS Support L'équipe sur AWS Re:post ou via
Mettez à jour votre livre de recettes en ajoutant une recette faisant référence à une recette personnalisée JSON stockée sur l'instance.
Vous pouvez spécifier des informations dans un JSON format personnalisé chaque fois que vous créez, mettez à jour ou clonez une pile ou lorsque vous exécutez une commande de déploiement ou de pile. Cela est utile, par exemple, pour rendre une petite portion invariable de données accessible à vos recettes sur l'instance au lieu d'obtenir ces données à partir d'une base de données. Pour de plus amples informations, veuillez consulter Utilisation de Custom JSON.
Dans le cadre de cette procédure pas à pas, vous allez utiliser JSON la fonction personnalisée pour fournir des informations fictives concernant une facture client. La coutume JSON est décrite plus loin dans cette étape.
Pour mettre à jour le livre de recettes sur l'instance et exécuter la nouvelle recette
-
Sur votre ordinateur local, dans le sous-répertoire
recipes
du répertoireopsworks_cookbook_demo
, créez un fichier nommécustom_json.rb
qui contient le code de recette suivant :Chef::Log.info("********** For customer '#{node['customer-id']}' invoice '#{node['invoice-number']}' **********") Chef::Log.info("********** Invoice line number 1 is a '#{node['line-items']['line-1']}' **********") Chef::Log.info("********** Invoice line number 2 is a '#{node['line-items']['line-2']}' **********") Chef::Log.info("********** Invoice line number 3 is a '#{node['line-items']['line-3']}' **********")
Cette recette affiche des messages dans le journal concernant les valeurs de la version personnaliséeJSON.
-
Depuis le terminal ou l'invite de commande, utilisez la commande tar pour créer une nouvelle version du fichier
opsworks_cookbook_demo.tar.gz
, qui contient le répertoireopsworks_cookbook_demo
et son contenu chargé. -
Chargez le fichier
opsworks_cookbook_demo.tar.gz
mis à jour dans votre compartiment S3. -
Suivez les procédures décrites dans Étape 5 : Mettre à jour le livre de recettes sur l'instance et exécuter la recette pour mettre à jour le livre de recettes sur l'instance et exécuter la recette. Dans la procédure « Pour exécuter la recette », pour Recipes to execute (Recettes à exécuter), tapez
opsworks_cookbook_demo::custom_json
. Pour Advanced, Custom Chef JSON, saisissez la personnalisation suivante JSON :{ "customer-id": "0123", "invoice-number": "9876", "line-items": { "line-1": "tractor", "line-2": "passenger car", "line-3": "trailer" } }
Pour tester la recette
-
Avec la page Running command execute_recipes (Exécution de la commande execute_recipes) affichée à partir des procédures précédentes, pour cookbooks-demo1, pour Log (Journal), choisissez show (afficher). La page de journal execute_recipes s'affiche.
-
Faites défiler le journal pour trouver les entrées similaires aux entrées suivantes :
[2015-11-14T14:18:30+00:00] INFO: ********** For customer '0123' invoice '9876' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 1 is a 'tractor' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 2 is a 'passenger car' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 3 is a 'trailer' **********
Ces entrées affichent les informations de la JSON personnalisation saisie dans la JSON zone Advanced, Custom Chef.
À l'étape suivante, vous allez mettre à jour le livre de recettes pour obtenir des informations provenant des sacs de données, qui sont des ensembles de paramètres de pile qui AWS OpsWorks Stacks les magasins sur chaque instance.