步驟 12:更新技術指南以使用自訂 JSON - AWS OpsWorks

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 12:更新技術指南以使用自訂 JSON

重要

該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post 或透過進AWS 階 Support 與 AWS Support 團隊聯絡。

透過新增會參考存放於執行個體上之自訂 JSON 的配方,來更新您的技術指南。

您可以在您建立、更新、複製堆疊,或在您執行部署或堆疊命令時以自訂 JSON 格式指定資訊。舉例來說,這在您要讓一小部分不會變動的資料供您執行個體上的配方使用 (而非從資料庫取得資料) 時會非常有用。如需詳細資訊,請參閱 使用自訂 JSON

針對本演練,您會使用自訂 JSON 提供一些關於客戶發票的虛擬資訊。自訂 JSON 會在此步驟的稍後進行說明。

更新執行個體上的技術指南及執行新的配方
  1. 在您的本機工作站上,在 recipes 目錄中的 opsworks_cookbook_demo 子目錄中,建立名為 custom_json.rb 的檔案,其中包含下列配方程式碼:

    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']}' **********")

    此配方會在日誌中顯示關於自訂 JSON 內值的訊息。

  2. 在終端機或命令提示中,使用 tar 命令建立 opsworks_cookbook_demo.tar.gz 檔案的新版本,其中包含 opsworks_cookbook_demo 目錄及其更新後的內容。

  3. 將更新後的 opsworks_cookbook_demo.tar.gz 檔案上傳至 S3 儲存貯體。

  4. 遵循步驟 5:更新執行個體上的技術指南及執行配方中的程序,更新執行個體上的技術指南及執行配方。在「執行配方」程序中,針對 Recipes to execute (要執行的配方),輸入 opsworks_cookbook_demo::custom_json。針對 Advanced (進階)Custom Chef JSON (自訂 Chef JSON),輸入下列自訂 JSON:

    { "customer-id": "0123", "invoice-number": "9876", "line-items": { "line-1": "tractor", "line-2": "passenger car", "line-3": "trailer" } }
測試配方
  1. 在先前程序中的 Running command execute_recipes (執行 execute_recipes 命令) 頁面顯示時,針對 cookbooks-demo1Log (日誌),選擇 show (顯示)。即會顯示 execute_recipes 日誌頁面。

  2. 向下捲動日誌,尋找看起來與下列內容相似的項目:

    [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' **********

    這些項目會顯示在 Advanced (進階)Custom Chef JSON (自訂 Chef JSON) 方塊中輸入之自訂 JSON 的資訊。

下一步中,您將更新食譜以從數據包中獲取信息,這些數據包是 AWS OpsWorks Stacks 在每個實例上存儲的堆棧設置的集合。